Class : FermionOnTorus

class deriving from ParticleOnTorus

FermionOnTorus :

prototype: FermionOnTorus (int , int maxMomentum )

description:basic constructor


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



FermionOnTorus :

prototype: FermionOnTorus (int , int , int momentumConstraint )

description:constructor with a constraint of the total momentum of states


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion
momentumConstraint = index of the momentum orbit



FermionOnTorus :

prototype: FermionOnTorus (int , int , int , unsigned int* , int* stateMaxMomentum )

description:constructor from full datas (with no constraint on the total momentum)


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion
hilbertSpaceDimension = Hilbert space dimension
stateDescription = array describing each state
stateMaxMomentum = array giving maximum Lz value reached for a fermion in a given state



FermionOnTorus :

prototype: FermionOnTorus (int , int , int , int , unsigned int* , int* stateMaxMomentum )

description:constructor from full datas


input parameters:
nbrFermions = number of fermions
maxMomentum = momentum maximum value for a fermion
momentumConstraint = index of the momentum orbit
hilbertSpaceDimension = Hilbert space dimension
stateDescription = array describing each state
stateMaxMomentum = array giving maximum Lz value reached for a fermion in a given state



FermionOnTorus :

prototype: FermionOnTorus (const FermionOnTorus& fermions )

description:copy constructor (without duplicating datas)


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



~FermionOnTorus :

prototype: ~FermionOnTorus ()

description:destructor



operator = :

prototype: FermionOnTorus& operator = (const FermionOnTorus& 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



GetMomentumValue :

prototype: int GetMomentumValue (int index )

description:get momemtum value of a given state


input parameters:
index = state index


return value: state momentum



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



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



AdAdAA :

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

description:apply a^+_m1 a^+_m2 a_n1 a_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



AdA :

prototype: double AdA (int , int m )

description:apply a^+_m a_m operator to a given state


input parameters:
index = index of the state on which the operator has to be applied
m = index for creation operator


return value: resulting multiplicative factor



A :

prototype: Matrix& A (int , Matrix& M )

description:return matrix representation of the annihilation operator a_i


input parameters:
i = operator index
M = matrix where representation has to be stored


return value: corresponding matrix



Ad :

prototype: Matrix& Ad (int , Matrix& M )

description:return matrix representation ofthw creation operator a^+_i


input parameters:
i = operator index
M = matrix where representation has to be stored


return value: corresponding matrix



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.