Class : Spin1_2Chain

class deriving from AbstractSpinChain

Spin1_2Chain :

prototype: Spin1_2Chain ()

description:default constructor



Spin1_2Chain :

prototype: Spin1_2Chain (int , int memorySize )

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


input parameters:
chainLength = number of spin 1/2
memorySize = memory size in bytes allowed for look-up table



Spin1_2Chain :

prototype: Spin1_2Chain (int , int , int memorySize )

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


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



Spin1_2Chain :

prototype: Spin1_2Chain (int , unsigned long* , int , int , bool , int* , int , int , unsigned long lookUpTableMask )

description:constructor from pre-constructed datas


input parameters:
hilbertSpaceDimension = Hilbert space dimension
chainDescription = array describing states
chainLength = number of spin 1/2
sz = twice the value of total Sz component
fixedQuantumNumberFlag = true if hilbert space is restricted to a given quantum number
lookUpTable = look-up table
lookUpTableSize = look-Up table size
lookUpTablePosition = last position described by the look-Up table
lookUpTableMask = look-Up table mask



Spin1_2Chain :

prototype: Spin1_2Chain (const Spin1_2Chain& chain )

description:copy constructor (without duplicating datas)


input parameters:
chain = reference on chain to copy



~Spin1_2Chain :

prototype: ~Spin1_2Chain ()

description:destructor



operator = :

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



Reinitialize :

prototype: Spin1_2Chain& Reinitialize (int sz )

description:re-initialize chain with another total Sz component


input parameters:
sz = twice the value of total Sz component


return value: reference on current chain



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



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)



Sxi :

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

description:return matrix representation of Sx


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


return value: corresponding matrix



Syi :

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

description:return matrix representation of i * Sy


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


return value: corresponding matrix



Szi :

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

description:return matrix representation of Sz


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


return value: corresponding matrix



Spi :

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

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


input parameters:
i = position of S+ operator
state = index of the state to be applied on S+_i operator
coefficient = reference on double where numerical coefficient has to be stored


return value: index of resulting state



Smi :

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

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


input parameters:
i = position of S- operator
state = index of the state to be applied on S-_i operator
coefficient = reference on double where numerical coefficient has to be stored


return value: index of resulting state



Szi :

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

description:return index of resulting state from application of Sz_i operator on a given state


input parameters:
i = position of Sz operator
state = index of the state to be applied on Sz_i operator
coefficient = reference on double where numerical coefficient has to be stored


return value: index of resulting state



Pij :

prototype: int Pij (int , int , int state )

description:return index of resulting state from application of P_ij operator on a given state


input parameters:
i = first position
j = second position
state = index of the state to be applied on P_ij operator


return value: index of resulting state



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& coefficient )

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


return value: index of resulting state



SpiSpj :

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

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


return value: index of resulting state



SmiSmj :

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

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


return value: index of resulting state



SpiSzj :

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

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


return value: index of resulting state



SmiSzj :

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

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


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.