TJ operators
TensorKitTensors.TJOperators.S_exchange
— FunctionS_exchange(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the spin exchange operator S⋅S.
TensorKitTensors.TJOperators.S_min
— FunctionS_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
S⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the spin-minus operator (only defined for Trivial
spin symmetry).
TensorKitTensors.TJOperators.S_min_S_plus
— FunctionS_min_S_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
S⁻S⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator S⁻S⁺. The only nonzero matrix element corresponds to |↓,↑⟩ <-- |↑,↓⟩
.
TensorKitTensors.TJOperators.S_plus
— FunctionS_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
S⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the spin-plus operator (only defined for Trivial
spin symmetry).
TensorKitTensors.TJOperators.S_plus_S_min
— FunctionS_plus_S_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
S⁺S⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator S⁺S⁻. The only nonzero matrix element corresponds to |↑,↓⟩ <-- |↓,↑⟩
.
TensorKitTensors.TJOperators.S_x
— FunctionS_x(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Sˣ(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the one-body spin-1/2 x-operator on the electrons (only defined for Trivial
spin symmetry).
TensorKitTensors.TJOperators.S_y
— FunctionS_y(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Sʸ(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the one-body spin-1/2 y-operator on the electrons (only defined for Trivial
spin symmetry).
TensorKitTensors.TJOperators.S_z
— FunctionS_z(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Sᶻ(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the one-body spin-1/2 z-operator on the electrons.
TensorKitTensors.TJOperators.d_min_d_min
— Functiond_min_d_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
d⁻d⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e_{1,↓} e_{2,↓}$ that annihilates a spin-down particle at both sites. The only nonzero matrix element corresponds to |0,0⟩ <-- |↓,↓⟩
.
TensorKitTensors.TJOperators.d_min_d_plus
— Functiond_min_d_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
d⁻d⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e_{1,↓}, e†_{2,↓}$ that annihilates a spin-down electron at the first site and creates a spin-down electron at the second. The only nonzero matrix element corresponds to |0↓⟩ <-- |↓0⟩
.
TensorKitTensors.TJOperators.d_min_u_min
— Functiond_min_u_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
d⁻u⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e_{1,↓} e_{2,↑}$ that annihilates a spin-down particle at the first site and a spin-up particle at the second site. The only nonzero matrix element corresponds to |0,0⟩ <-- |↓,↑⟩
.
TensorKitTensors.TJOperators.d_num
— Functiond_num(particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
nꜜ(particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the one-body operator that counts the number of spin-down electrons.
TensorKitTensors.TJOperators.d_plus_d_min
— Functiond_plus_d_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
d⁺d⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e†_{1,↓}, e_{2,↓}$ that creates a spin-down electron at the first site and annihilates a spin-down electron at the second. The only nonzero matrix element corresponds to |↓0⟩ <-- |0↓⟩
.
TensorKitTensors.TJOperators.d_plus_d_plus
— Functiond_plus_d_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
d⁺d⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e†_{1,↓} e†_{2,↓}$ that annihilates a spin-down particle at both sites.
TensorKitTensors.TJOperators.d_plus_u_plus
— Functiond_plus_u_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
d⁺u⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e†_{1,↓} e†_{2,↑}$ that annihilates a spin-down particle at the first site and a spin-up particle at the second site.
TensorKitTensors.TJOperators.e_hopping
— Functione_hopping([elt::Type{<:Number}], [particle_symmetry::Type{<:Sector}], [spin_symmetry::Type{<:Sector}]; slave_fermion::Bool = false)
e_hop([elt::Type{<:Number}], [particle_symmetry::Type{<:Sector}], [spin_symmetry::Type{<:Sector}]; slave_fermion::Bool = false)
Return the two-body operator that describes a particle that hops between the first and the second site.
TensorKitTensors.TJOperators.e_min_e_plus
— Functione_min_e_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
e⁻e⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator that annihilates a particle at the first site and creates a particle at the second. This is the sum of u_min_u_plus
and d_min_d_plus
.
TensorKitTensors.TJOperators.e_num
— Functione_num(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
n(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the one-body operator that counts the number of particles.
TensorKitTensors.TJOperators.e_plus_e_min
— Functione_plus_e_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
e⁺e⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator that creates a particle at the first site and annihilates a particle at the second. This is the sum of u_plus_u_min
and d_plus_d_min
.
TensorKitTensors.TJOperators.h_num
— Functionh_num(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
nʰ(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool=false)
Return the one-body operator that counts the number of holes.
TensorKitTensors.TJOperators.singlet_min
— Functionsinglet_min(elt, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
singlet⁻(elt, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the adjoint of singlet_plus
operator, which is $(-e_{1,↑} e_{2,↓} + e_{1,↓} e_{2,↑}) / sqrt(2)$
TensorKitTensors.TJOperators.singlet_plus
— Functionsinglet_plus(elt, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
singlet⁺(elt, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body singlet operator $(e^†_{1,↑} e^†_{2,↓} - e^†_{1,↓} e^†_{2,↑}) / sqrt(2)$, which creates the singlet state when acting on vaccum.
TensorKitTensors.TJOperators.tj_space
— Functiontj_space(particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the local hilbert space for a t-J-type model with the given particle and spin symmetries. The possible symmetries are
- Particle number:
Trivial
,U1Irrep
; - Spin:
Trivial
,U1Irrep
,SU2Irrep
.
Setting slave_fermion = true
switches to the slave-fermion basis.
- basis states for
slave_fermion = false
: |0⟩ = |vac⟩ (vacuum), |↑⟩ = (c↑)†|vac⟩, |↓⟩ = (c↓)†|vac⟩ - basis states for
slave_fermion = true
: (cσ = h† bσ; holon h is fermionic, spinon b_σ is bosonic): |0⟩ = h†|vac⟩, |↑⟩ = (b↑)†|vac⟩, |↓⟩ = (b↓)†|vac⟩
TensorKitTensors.TJOperators.u_min_d_min
— Functionu_min_d_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
u⁻d⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e_{1,↑} e_{2,↓}$ that annihilates a spin-up particle at the first site and a spin-down particle at the second site. The only nonzero matrix element corresponds to |0,0⟩ <-- |↑,↓⟩
.
TensorKitTensors.TJOperators.u_min_u_min
— Functionu_min_u_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
u⁻u⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e_{1,↑} e_{2,↑}$ that annihilates a spin-up particle at both sites. The only nonzero matrix element corresponds to |0,0⟩ <-- |↑,↑⟩
.
TensorKitTensors.TJOperators.u_min_u_plus
— Functionu_min_u_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
u⁻u⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e_{1,↑}, e†_{2,↑}$ that annihilates a spin-up electron at the first site and creates a spin-up electron at the second. The only nonzero matrix element corresponds to |0↑⟩ <-- |↑0⟩
.
TensorKitTensors.TJOperators.u_num
— Functionu_num(particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
nꜛ(particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the one-body operator that counts the number of spin-up electrons.
TensorKitTensors.TJOperators.u_plus_d_plus
— Functionu_plus_d_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
u⁺d⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e†_{1,↑} e†_{2,↓}$ that annihilates a spin-up particle at the first site and a spin-down particle at the second site.
TensorKitTensors.TJOperators.u_plus_u_min
— Functionu_plus_u_min(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
u⁺u⁻(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e†_{1,↑}, e_{2,↑}$ that creates a spin-up electron at the first site and annihilates a spin-up electron at the second. The only nonzero matrix element corresponds to |↑0⟩ <-- |0↑⟩
.
TensorKitTensors.TJOperators.u_plus_u_plus
— Functionu_plus_u_plus(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
u⁺u⁺(elt::Type{<:Number}, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
Return the two-body operator $e†_{1,↑} e†_{2,↑}$ that annihilates a spin-up particle at both sites.