Class : Spin1ChainWithTranslations

class deriving from AbstractSpinChainWithTranslations

Spin1ChainWithTranslations :

prototype: Spin1ChainWithTranslations ()

description:default constructor



Spin1ChainWithTranslations :

prototype: Spin1ChainWithTranslations (int , int , int , int memorySlice )

description:constructor for complete Hilbert space with no restriction on total spin projection Sz


input parameters:
chainLength = number of spin
momemtum = total momentum of each state
memorySize = memory size in bytes allowed for look-up table
memorySlice = maximum amount of memory that can be allocated to partially evalauted the states



Spin1ChainWithTranslations :

prototype: Spin1ChainWithTranslations (int , int , int , int , int memorySlice )

description:constructor for complete Hilbert space corresponding to a given total spin projection Sz


input parameters:
chainLength = number of spin 1
momemtum = total momentum of each state
sz = twice the value of total Sz component
memorySize = memory size in bytes allowed for look-up table



Spin1ChainWithTranslations :

prototype: Spin1ChainWithTranslations (const Spin1ChainWithTranslations& chain )

description:copy constructor (without duplicating datas)


input parameters:
chain = reference on chain to copy



~Spin1ChainWithTranslations :

prototype: ~Spin1ChainWithTranslations ()

description:destructor



operator = :

prototype: Spin1ChainWithTranslations& operator = (const Spin1ChainWithTranslations& chain )

description:assignement (without duplicating datas)


input parameters:
chain = reference on chain to copy


return value: reference on current chain



Clone :

prototype: AbstractHilbertSpace* Clone ()

description:clone Hilbert space (without duplicating datas)


input parameters:


return value: pointer to cloned Hilbert space



GetHilbertSpaceDimension :

prototype: int GetHilbertSpaceDimension ()

description:return Hilbert space dimension


input parameters:


return value: Hilbert space dimension



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



TotalSzSz :

prototype: double TotalSzSz (int index )

description:

return value: return value of the value of the sum of the square of spin projection on (Oz)


input parameters:
index = index of the state to test


return value: twice spin projection on (Oz)



GetMomentum :

prototype: int GetMomentum ()

description:get the momentum of each state in the current Hilbert space


input parameters:


return value: momentum value



TotalSz :

prototype: int TotalSz (int index )

description:

return value: return value of spin projection on (Oz) for a given state


input parameters:
index = index of the state to test


return value: spin projection on (Oz)



SziSzj :

prototype: double SziSzj (int , int , int state )

description:return eigenvalue of Sz_i Sz_j associated to a given state


input parameters:
i = first position
j = second position
state = index of the state to consider


return value: corresponding eigenvalue



SmiSpj :

prototype: int SmiSpj (int , int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S-_i S+_j operator on a given state


input parameters:
i = position of S- operator
j = position of S+ operator
state = index of the state to be applied on S-_i S+_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



Spi :

prototype: int Spi (int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S+_i operator on a given state (only valid if there is no constraint on total Sz)


input parameters:
i = operator position
state = index of the state to be applied on S+_i S+_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



Smi :

prototype: int Smi (int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S-_i operator on a given state (only valid if there is no constraint on total Sz)


input parameters:
i = operator position
state = index of the state to be applied on S+_i S+_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



SpiSpj :

prototype: int SpiSpj (int , int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S+_i S+_j operator on a given state


input parameters:
i = position of first S+ operator
j = position of second S+ operator
state = index of the state to be applied on S+_i S+_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



SmiSmj :

prototype: int SmiSmj (int , int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S-_i S-_j operator on a given state


input parameters:
i = position of first S- operator
j = position of second S- operator
state = index of the state to be applied on S-_i S-_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



SpiSpi :

prototype: int SpiSpi (int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S+_i S+_i operator on a given state


input parameters:
i = position of first S+ operator
state = index of the state to be applied on S+_i S+_i operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



SmiSmi :

prototype: int SmiSmi (int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S-_i S-_i operator on a given state


input parameters:
i = position of the S- operator
state = index of the state to be applied on S-_i S-_i operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



SpiSzj :

prototype: int SpiSzj (int , int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S+_i Sz_j operator on a given state


input parameters:
i = position of S+ operator
j = position of Sz operator
state = index of the state to be applied on S+_i Sz_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



SmiSzj :

prototype: int SmiSzj (int , int , int , double& , int& nbrTranslation )

description:return index of resulting state from application of S-_i Sz_j operator on a given state


input parameters:
i = position of S- operator
j = position of Sz operator
state = index of the state to be applied on S-_i Sz_j operator
coefficient = reference on double where numerical coefficient has to be stored
nbrTranslations = reference on the number of translations to applied to the resulting state to obtain the return orbit describing state


return value: index of resulting state



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



FindStateIndex :

prototype: int FindStateIndex (unsigned long state )

description:find state index


input parameters:
state = state description


return value: corresponding index



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.