Class : BosonOnTorusState
BosonOnTorusState :
prototype: BosonOnTorusState ()
description:default constructor
BosonOnTorusState :
prototype: BosonOnTorusState (const int& reducedNbrState )
description:basic constructor
input parameters:
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
BosonOnTorusState :
prototype: BosonOnTorusState (BosonOnTorusState& , const int& reducedNbrState )
description:copy constructor
input parameters:
state = reference on the state to copy
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
~BosonOnTorusState :
prototype: ~BosonOnTorusState ()
description:destructor
Resize :
prototype: BosonOnTorusState& Resize (const int& reducedNbrState )
description:resize the current state
input parameters:
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
return value: reference on the current state
Assign :
prototype: BosonOnTorusState& Assign (BosonOnTorusState& , const int& reducedNbrState )
description:assign a state to the current one
input parameters:
state = reference on the state to assign
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
return value: reference on the current state
TransfertState :
prototype: BosonOnTorusState& TransfertState (BosonOnTorusState& state )
description:assign a state to the current one and after undefined it (array tranfert)
input parameters:
state = reference on the state to assign
return value: reference on the current state
GetHashKey :
prototype: unsigned long GetHashKey (const int& , const unsigned long& keyMask )
description:get hash key associated to the state
input parameters:
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
keyMask = mask giving how many bits have to be kept
return value: hash key
GetHighestIndex :
prototype: int GetHighestIndex (const int& reducedNbrState )
description:get the highest state index for which the state is occupied
input parameters:
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
return value: highest state index
EmptyState :
prototype: BosonOnTorusState& EmptyState (const int& reducedNbrState )
description:set all ocupations to zero
input parameters:
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
return value: reference on the current state
SetOccupation :
prototype: void SetOccupation (const int& , const unsigned long& nbrBosons )
description:set occupation of a state
input parameters:
stateIndex = index of the state whose occupation has to be set
nbrBosons = number of bosons in the given state
GetOccupation :
prototype: unsigned long GetOccupation (const int& stateIndex )
description:get occupation of a state
input parameters:
stateIndex = index of the state whose occupation has to be set
return value: number of bosons in the given state
IncrementOccupation :
prototype: unsigned long IncrementOccupation (const int& , unsigned long& , int& tmpShift2 )
description:increment occupation of a state
input parameters:
stateIndex = index of the state whose occupation has to be set
tmpShift1 = refence on temporary variable used during incrementation
tmpShift2 = refence on temporary variable used to evaluated a bit shift
return = occupation of the stateIndex-th state after the increment operation
DecrementOccupation :
prototype: unsigned long DecrementOccupation (const int& , unsigned long& , int& tmpShift2 )
description:decrement occupation of a state (without testing if the state es empty)
input parameters:
stateIndex = index of the state whose occupation has to be set
tmpShift1 = refence on temporary variable used during decrementation
tmpShift2 = refence on temporary variable used to evaluated a bit shift
return = occupation of the stateIndex-th state before the decrement operation
TestAndDecrementOccupation :
prototype: inline bool TestAndDecrementOccupation (const int& , int& , int& tmpShift2 )
description:test if the state is empty an if it is not, decrement its occupation
input parameters:
stateIndex = index of the state whose occupation has to be set
tmpShift1 = refence on temporary variable used to evaluated a bit shift
tmpShift2 = refence on temporary variable used to evaluated a bit shift
return value: false if the state is empty
SwapStates :
prototype: void SwapStates (BosonOnTorusState& state )
description:swap two states
input parameters:
state = reference on the state to swap with the current one
Equal :
prototype: bool Equal (BosonOnTorusState& , int reducedNbrState )
description:test if the current state is identical to another state
input parameters:
state = reference on the state to compare with
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
return value: true if the two states are identical
Different :
prototype: bool Different (BosonOnTorusState& , int reducedNbrState )
description:test if the current state is different to another state
input parameters:
state = reference on the state to compare with
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
return value: true if the two states are different
Greater :
prototype: bool Greater (BosonOnTorusState& , int reducedNbrState )
description:test if the current state is greater than another state
input parameters:
state = reference on the state to compare with
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
return value: true if the current state is greater than the other state
GreaterOrEqual :
prototype: bool GreaterOrEqual (BosonOnTorusState& , int reducedNbrState )
description:test if the current state is greater or equal than another state
input parameters:
state = reference on the state to compare with
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
return value: true if the current state is greater or equal than the other state
Lesser :
prototype: bool Lesser (BosonOnTorusState& , const int reducedNbrState )
description:test if the current state is lesser than another state
input parameters:
state = reference on the state to compare with
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
return value: true if the current state is greater than the other state
LesserOrEqual :
prototype: bool LesserOrEqual (BosonOnTorusState& , int reducedNbrState )
description:test if the current state is lesser or equal than another state
input parameters:
state = reference on the state to compare with
reducedNbrState = reduced number of state (aka the number of unsigned long per state) minus 1
return value: true if the current state is greater or equal than the other state
PutInCanonicalForm :
prototype: void PutInCanonicalForm (BosonOnTorusState& , const int& , const int& , const int& , int& , const int& nbrTranslationStep )
description:put the state in a canonical form
input parameters:
tmpState = reference temporary state with the same number of states than the current one
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
nbrStateRemainder = number of the state in the last unsigned long array describing the whole state
nbrState = number of state in the current boson state
nbrTranslation = reference where the number of translations used to obtain the canonical form will be stored
nbrTranslationStep = step to used between two translations
PutInCanonicalForm :
prototype: void PutInCanonicalForm (BosonOnTorusState& , const int& , const int& , const int& , int& , const int& , int& nbrTranslationToIdentity )
description:put the state in a canonical form and find how many translations are needed to obtain the same state
input parameters:
tmpState = reference temporary state with the same number of states than the current one
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
nbrStateRemainder = number of the state in the last unsigned long array describing the whole state
nbrState = number of state in the current boson state
nbrTranslation = reference where the number of translations used to obtain the canonical form will be stored
nbrTranslationStep = step to used between two translations
nbrTranslationToIdentity = reference on the number of translation needed to obtain the same state
GetStateSymmetry :
prototype: int GetStateSymmetry (BosonOnTorusState& , const int& , const int& ,
const int& , const int& nbrTranslationStep )
description:get the number of translation to obtain the same state
input parameters:
tmpState = reference temporary state with the same number of states than the current one
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
nbrStateRemainder = number of the state in the last unsigned long array describing the whole state
nbrState = number of state in the current boson state
nbrTranslationStep = step to used between two translations
return value: number of translation to obtain the same state
LeftShiftState :
prototype: void LeftShiftState (const int& , const int& , const int& nbrTranslation )
description:shift a state to the left
input parameters:
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
nbrStateRemainder = number of the state in the last unsigned long array describing the whole state
nbrTranslation = magnitude of the translation to apply
PrintState :
prototype: ostream& PrintState (ostream& , const int& , const int& nbrStateRemainder )
description:print a given state
input parameters:
str = reference on current output stream
reducedNbrState = reference on the reduced number of state (aka the number of unsigned long per state) minus 1
nbrStateRemainder = number of the state in the last unsigned long array describing the whole state
return value: reference on current output stream
Back to index.