Fermion operators
TensorKitTensors.FermionOperators.basis_transform — Method
basis_transform(symmetry::Type{<:Sector})Return the unitary basis transformation that maps the basis $\{|0⟩, |1⟩\}$ of fermion_space(Trivial) onto the basis of fermion_space(symmetry), as a TensorMap from desymmetrize(fermion_space(Trivial)) to desymmetrize(fermion_space(symmetry)), as required by symmetrize. Note that both sides are purely bosonic ComplexSpaces, since a TensorMap cannot mix different gradings.
Even the Trivial fermionic space is graded by the fermion parity fℤ₂. For U1Irrep, the particle number is additionally used as a $U(1)$ charge, which refines the grading without reordering the basis, such that the transformation is the identity. It is returned with integer scalar type, such that it promotes to any scalar type without loss of precision.
TensorKitTensors.FermionOperators.f_hopping — Method
f_hopping([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])
f_hop([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])Return the two-body operator that describes a particle that hops between the first and the second site.
TensorKitTensors.FermionOperators.f_min_f_min — Method
f_min_f_min([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])
f⁻f⁻([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])Return the two-body operator that annihilates a particle at the first and at the second site. It only has Trivial symmetry.
TensorKitTensors.FermionOperators.f_min_f_plus — Method
f_min_f_plus([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])
f⁻f⁺([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])Return the two-body operator that annihilates a particle at the first site and creates a particle at the second.
TensorKitTensors.FermionOperators.f_num — Method
f_num([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])
n([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])Return the one-body operator that counts the nunber of particles.
TensorKitTensors.FermionOperators.f_plus_f_min — Method
f_plus_f_min([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])
f⁺f⁻([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])Return the two-body operator that creates a particle at the first site and annihilates a particle at the second.
TensorKitTensors.FermionOperators.f_plus_f_plus — Method
f_plus_f_plus([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])
f⁺f⁺([elt::Type{<:Number}=ComplexF64], [symmetry::Type{<:Sector}=Trivial])Return the two-body operator that creates a particle at the first and at the second site. It only has Trivial symmetry.
TensorKitTensors.FermionOperators.fermion_space — Method
fermion_space([symmetry::Type{<:Sector}])Return the local hilbert space for a model of spinless fermions. Available symmetries are Trivial or U1Irrep.