Class : FermionOnTorusWithSpin

class deriving from ParticleOnTorusWithSpin

FermionOnTorusWithSpin :

prototype: FermionOnTorusWithSpin (int , int maxMomentum )

description:basic constructor


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion



FermionOnTorusWithSpin :

prototype: FermionOnTorusWithSpin (int , int , int totalSpinMomentum )

description:constructor with a constraint on total spin momentum


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion
totalSpinMomentum = twice the total spin momentum to be used as constraint



FermionOnTorusWithSpin :

prototype: FermionOnTorusWithSpin (int , int , int , int momentumConstaint )

description:constructor with a constraint on total spin momentum and total momentum


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion
totalSpinMomentum = twice the total spin momentum to be used as constraint
momentumConstraint = index of the momentum orbit



FermionOnTorusWithSpin :

prototype: FermionOnTorusWithSpin (int , int , int , int , unsigned int* , int* , bool momentumConstraintFlag = , int momentumConstraint = 0 )

description:constructor from full datas


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion
totalSpinMomentum = twice the total spin momentum to be used as constraint
hilbertSpaceDimension = Hilbert space dimension
stateDescription = array describing each state
stateMaxMomentum = array giving maximum Lz value reached for a fermion in a given state
momentumConstraintFlag = flag for momementum constraint
momentumConstraint = index of the momentum orbit



FermionOnTorusWithSpin :

prototype: FermionOnTorusWithSpin (const FermionOnTorusWithSpin& fermions )

description:copy constructor (without duplicating datas)


input parameters:
fermions = reference on the hilbert space to copy to copy



~FermionOnTorusWithSpin :

prototype: ~FermionOnTorusWithSpin ()

description:destructor



operator = :

prototype: FermionOnTorusWithSpin& operator = (const FermionOnTorusWithSpin& fermions )

description:assignement (without duplicating datas)


input parameters:
fermions = reference on the hilbert space to copy to copy


return value: reference on current hilbert space



Clone :

prototype: AbstractHilbertSpace* Clone ()

description:clone Hilbert space (without duplicating datas)


input parameters:


return value: pointer to cloned Hilbert space



GetParticleStatistic :

prototype: int GetParticleStatistic ()

description:get the particle statistic


input parameters:


return value: particle statistic



GetQuantumNumbers :

prototype: List GetQuantumNumbers ()

description:return a list of all possible quantum numbers


input parameters:


return value: pointer to corresponding quantum number



GetQuantumNumber :

prototype: AbstractQuantumNumber* GetQuantumNumber (int index )

description:return quantum number associated to a given state


input parameters:
index = index of the state


return value: pointer to corresponding quantum number



GetMomentumValue :

prototype: int GetMomentumValue (int index )

description:get momemtum value of a given state


input parameters:
index = state index


return value: state momentum



ExtractSubspace :

prototype: AbstractHilbertSpace* ExtractSubspace (AbstractQuantumNumber& , SubspaceSpaceConverter& converter )

description:extract subspace with a fixed quantum number


input parameters:
q = quantum number value
converter = reference on subspace-space converter to use


return value: pointer to the new subspace



SumAudAu :

prototype: int SumAudAu (int , double& coefficient )

description:apply sum_m au^+_m au_m operator to a given state


input parameters:
index = index of the state on which the operator has to be applied
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



SumAddAd :

prototype: int SumAddAd (int , double& coefficient )

description:apply sum_m ad^+_m ad_m operator to a given state


input parameters:
index = index of the state on which the operator has to be applied
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AudAu :

prototype: int AudAu (int , int , double& coefficient )

description:apply au^+_m au_m operator to a given state


input parameters:
index = index of the state on which the operator has to be applied
m = index for density operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AddAd :

prototype: int AddAd (int , int , double& coefficient )

description:apply ad^+_m ad_m operator to a given state


input parameters:
index = index of the state on which the operator has to be applied
m = index for density operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AudAudAuAu :

prototype: int AudAudAuAu (int , int , int , int , int , double& coefficient )

description:apply au^+_m1 au^+_m2 au_n1 au_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AddAddAdAd :

prototype: int AddAddAdAd (int , int , int , int , int , double& coefficient )

description:apply ad^+_m1 ad^+_m2 ad_n1 ad_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AddAddAuAu :

prototype: int AddAddAuAu (int , int , int , int , int , double& coefficient )

description:apply ad^+_m1 ad^+_m2 au_n1 au_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AudAudAdAd :

prototype: int AudAudAdAd (int , int , int , int , int , double& coefficient )

description:apply au^+_m1 au^+_m2 ad_n1 ad_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AudAudAuAd :

prototype: int AudAudAuAd (int , int , int , int , int , double& coefficient )

description:apply au^+_m1 au^+_m2 au_n1 ad_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AddAudAuAu :

prototype: int AddAudAuAu (int , int , int , int , int , double& coefficient )

description:apply ad^+_m1 au^+_m2 au_n1 au_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AddAddAdAu :

prototype: int AddAddAdAu (int , int , int , int , int , double& coefficient )

description:apply ad^+_m1 ad^+_m2 ad_n1 au_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AudAddAdAd :

prototype: int AudAddAdAd (int , int , int , int , int , double& coefficient )

description:apply au^+_m1 ad^+_m2 ad_n1 ad_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



AudAddAuAd :

prototype: int AudAddAuAd (int , int , int , int , int , double& coefficient )

description:apply au^+_m1 ad^+_m2 au_n1 ad_n2 operator to a given state (with m1+m2=n1+n2[MaxMomentum])


input parameters:
index = index of the state on which the operator has to be applied
m1 = first index for creation operator
m2 = second index for creation operator
n1 = first index for annihilation operator
n2 = second index for annihilation operator
coefficient = reference on the double where the multiplicative factor has to be stored


return value: index of the destination state



PrintState :

prototype: ostream& PrintState (ostream& , int state )

description:print a given State


input parameters:
Str = reference on current output stream
state = ID of the state to print


return value: reference on current output stream



Back to index.