@@ -212,33 +212,43 @@ end
212212const e⁻e⁺ꜜ = e_minplus_down
213213
214214"""
215- e_plusmin(T, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
215+ e_plusmin(T, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false, sigma::Bool = false )
216216
217217Return the two-body operator that creates a particle at the first site and annihilates a particle at the second.
218- This is the sum of `e_plusmin_up` and `e_plusmin_down`.
218+ This is defined as `e_plusmin_up + e_plusmin_down` when `sigma = false`,
219+ or `e_plusmin_up - e_plusmin_down` when `sigma = true`.
219220"""
220- function e_plusmin (P:: Type{<:Sector} , S:: Type{<:Sector} ; slave_fermion:: Bool = false )
221- return e_plusmin (ComplexF64, P, S; slave_fermion)
221+ function e_plusmin (P:: Type{<:Sector} , S:: Type{<:Sector} ; slave_fermion:: Bool = false ,
222+ sigma:: Bool = false )
223+ return e_plusmin (ComplexF64, P, S; slave_fermion, sigma)
222224end
223225function e_plusmin (T, particle_symmetry:: Type{<:Sector} , spin_symmetry:: Type{<:Sector} ;
224- slave_fermion:: Bool = false )
225- return e_plusmin_up (T, particle_symmetry, spin_symmetry; slave_fermion) +
226- e_plusmin_down (T, particle_symmetry, spin_symmetry; slave_fermion)
226+ slave_fermion:: Bool = false , sigma:: Bool = false )
227+ return if sigma
228+ e_plusmin_up (T, particle_symmetry, spin_symmetry; slave_fermion) -
229+ e_plusmin_down (T, particle_symmetry, spin_symmetry; slave_fermion)
230+ else
231+ e_plusmin_up (T, particle_symmetry, spin_symmetry; slave_fermion) +
232+ e_plusmin_down (T, particle_symmetry, spin_symmetry; slave_fermion)
233+ end
227234end
228235const e⁺e⁻ = e_plusmin
229236
230237"""
231- e_minplus(T, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false)
238+ e_minplus(T, particle_symmetry::Type{<:Sector}, spin_symmetry::Type{<:Sector}; slave_fermion::Bool = false, sigma::Bool = false )
232239
233240Return the two-body operator that annihilates a particle at the first site and creates a particle at the second.
234- This is the sum of `e_minplus_up` and `e_minplus_down`.
241+ This is defined as `e_minplus_up + e_minplus_down` when `sigma = false`,
242+ or `e_minplus_up - e_minplus_down` when `sigma = true`.
235243"""
236- function e_minplus (P:: Type{<:Sector} , S:: Type{<:Sector} ; slave_fermion:: Bool = false )
237- return e_minplus (ComplexF64, P, S; slave_fermion)
244+ function e_minplus (P:: Type{<:Sector} , S:: Type{<:Sector} ; slave_fermion:: Bool = false ,
245+ sigma:: Bool = false )
246+ return e_minplus (ComplexF64, P, S; slave_fermion, sigma)
238247end
239248function e_minplus (T, particle_symmetry:: Type{<:Sector} , spin_symmetry:: Type{<:Sector} ;
240- slave_fermion:: Bool = false )
241- return copy (adjoint (e_plusmin (T, particle_symmetry, spin_symmetry; slave_fermion)))
249+ slave_fermion:: Bool = false , sigma:: Bool = false )
250+ return copy (adjoint (e_plusmin (T, particle_symmetry, spin_symmetry; slave_fermion,
251+ sigma)))
242252end
243253const e⁻e⁺ = e_minplus
244254
0 commit comments