Operators

There are several different operators defined, which all follow an interface similar to the following:

operator([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial]; kwargs...)

Here, the scalar type of the operator is defined by elt, while the symmetry can be chosen through the symmetry argument. Other parameters are supplied as keywords. The special keyword argument side can be used for operators that require an additional virtual space to satisfy the symmetry constraints, in which case it determines where this auxiliary space is located, either to the left :L (default) or to the right :R.

Spin operators

The spin operators S_x, S_y and S_z are defined such that they obey the spin commutation relations $[S^j, S^k] = i \varepsilon_{jkl} S^l$. Additionally, the ladder operators are defined as $S^{\pm} = S^x \pm i S^y$. Several combinations are defined that act on two spins.

Supported values of symmetry for spin operators are Trivial, Z2Irrep and U1Irrep. When imposing symmetries, by convention we choose S_z as the diagonal operator for $\mathrm{U}(1)$, and S_x as the diagonal operator for $\mathbb{Z}_2$.

MPSKitModels.S_xFunction
S_x([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
Sˣ([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin operator along the x-axis.

See also σˣ

source
MPSKitModels.S_yFunction
S_y([eltype::Type{<:Complex}], [symmetry::Type{<:Sector}]; spin=1 // 2)
Sʸ([eltype::Type{<:Complex}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin operator along the y-axis.

See also σʸ

source
MPSKitModels.S_zFunction
S_z([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
Sᶻ([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin operator along the z-axis. Possible values for symmetry are Trivial, Z2Irrep, and U1Irrep.

See also σᶻ

source
MPSKitModels.S_plusFunction
S_plus([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
S⁺([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin plus operator.

See also σ⁺

source
MPSKitModels.S_minFunction
S_min([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
S⁻([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin minus operator.

See also σ⁻

source
MPSKitModels.S_xxFunction
S_xx([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
Sˣˣ([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin xx exchange operator.

See also σˣˣ

source
MPSKitModels.S_yyFunction
S_yy([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
Sʸʸ([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin yy exchange operator.

See also σʸʸ

source
MPSKitModels.S_zzFunction
S_zz([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
Sᶻᶻ([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin zz exchange operator.

See also σᶻᶻ

source
MPSKitModels.S_plusminFunction
S_plusmin([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
S⁺⁻([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin plusmin exchange operator.

See also σ⁺⁻

source
MPSKitModels.S_minplusFunction
S_minplus([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
S⁻⁺([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin minplus exchange operator.

See also σ⁻⁺

source
MPSKitModels.S_exchangeFunction
S_exchange([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)
SS([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; spin=1 // 2)

The spin exchange operator.

See also σσ

source

For convenience, the Pauli matrices can also be recovered as $σⁱ = 2 Sⁱ$.

Q-state Potts operators

The Q-state Potts operators potts_X and potts_Z are defined to fulfill the braiding relation $ZX = \omega XZ$ with $\omega = e^{2\pi i/Q}$.

Supported values of symmetry for the X operator are Trivial and ZNIrrep{Q}, while for the Z operator only Trivial is supported.

Missing docstring.

Missing docstring for potts_X. Check Documenter's build log for details.

Missing docstring.

Missing docstring for potts_Z. Check Documenter's build log for details.

MPSKitModels.potts_ZZFunction
potts_ZZ([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; q=3)

The Potts operator $Z ⊗ Z'$, where $Z^q = 1$.

source

Bosonic operators

The bosonic creation and annihilation operators a_plus ($a^+$) and a_min ($a^-$) are defined such that the following holds:

\[a^+ \left|n\right> = \sqrt{n + 1} \left|n+1\right>\]

\[a^- \left|n\right> = \sqrt{n} \left|n-1\right>\]

From these, a number operator a_number ($N$) can be defined:

\[N = a^+ a^-\]

\[N\left|n\right> = n \left|n\right>\]

With these, the following commutators can be obtained:

\[\left[a^-, a^+\right] = 1\]

\[\left[N, a^+\right] = a^+\]

\[\left[N, a^-\right] = -a^-\]

Supported values of symmetry for bosonic operators are Trivial and U1Irrep.

MPSKitModels.a_plusFunction
a_plus([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; cutoff=5)
a⁺([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; cutoff=5)

The truncated bosonic creation operator, with a maximum of cutoff bosons per site.

source
MPSKitModels.a_minFunction
a_min([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; cutoff=5)
a⁻([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; cutoff=5)

The truncated bosonic annihilation operator, with a maximum of cutoff bosons per site.

source
MPSKitModels.a_numberFunction
a_number([eltype::Type{<:Number}], [symmetry::Type{<:Sector}]; cutoff=5)

The truncated bosonic number operator, with a maximum of cutoff bosons per site.

source

Fermionic operators

Spinless fermions.

MPSKitModels.c_plusFunction
c_plus([elt::Type{<:Number}=ComplexF64]; side=:L)
c⁺([elt::Type{<:Number}=ComplexF64]; side=:L)

Fermionic creation operator.

source
MPSKitModels.c_minFunction
c_min([elt::Type{<:Number}=ComplexF64]; side=:L)
c⁻([elt::Type{<:Number}=ComplexF64]; side=:L)

Fermionic annihilation operator.

source

Spinful fermions.

Missing docstring.

Missing docstring for e_plus. Check Documenter's build log for details.

Missing docstring.

Missing docstring for e_min. Check Documenter's build log for details.