|
pomerol
2.2
|
Classification of many-body basis states into bases of invariant subspaces. More...
#include <StatesClassification.hpp>


Public Member Functions | |
| StatesClassification ()=default | |
| Construct without filling any Fock state lists. More... | |
| template<typename... IndexTypes> | |
| void | compute (HilbertSpace< IndexTypes... > const &HS) |
| QuantumState | getNumberOfStates () const |
| Get the total number of Fock states. More... | |
| BlockNumber | getNumberOfBlocks () const |
| Get the number of the invariant subspaces. More... | |
| InnerQuantumState | getBlockSize (BlockNumber in) const |
| std::vector< QuantumState > const & | getFockStates (BlockNumber in) const |
| QuantumState | getFockState (BlockNumber in, InnerQuantumState i) const |
| BlockNumber | getBlockNumber (QuantumState in) const |
| InnerQuantumState | getInnerState (QuantumState in) const |
Public Member Functions inherited from Pomerol::ComputableObject | |
| ComputableObject ()=default | |
| StatusEnum | getStatus () const |
| Return the current computation status. More... | |
| void | setStatus (StatusEnum Status_in) |
Additional Inherited Members | |
Public Types inherited from Pomerol::ComputableObject | |
| enum | StatusEnum { Constructed , Prepared , Computed } |
| Computation status of the object. More... | |
Protected Attributes inherited from Pomerol::ComputableObject | |
| StatusEnum | Status = Constructed |
| Current computation status. More... | |
Classification of many-body basis states into bases of invariant subspaces.
This class stores lists of Fock states belonging to each invariant subspace (block) of a Hilbert space.
Definition at line 43 of file StatesClassification.hpp.
|
default |
Construct without filling any Fock state lists.
|
inline |
Populate the Fock state lists from a HilbertSpace object. If the HilbertSpace is not in the ComputableObject::Computed state, then existence of just one invariant subspace coinciding with the full Hilbert space will be assumed.
| IndexTypes | Types of indices carried by operators acting in the Hilbert space HS. |
| [in] | HS | The Hilbert space. |
Definition at line 59 of file StatesClassification.hpp.
| BlockNumber Pomerol::StatesClassification::getBlockNumber | ( | QuantumState | in | ) | const |
Get the invariant subspace index a given Fock state belongs to.
| [in] | in | Fock state. |
| InnerQuantumState Pomerol::StatesClassification::getBlockSize | ( | BlockNumber | in | ) | const |
Get the number of Fock states spanning a given invariant subspace.
| [in] | in | Index of the invariant subspace. |
| QuantumState Pomerol::StatesClassification::getFockState | ( | BlockNumber | in, |
| InnerQuantumState | i | ||
| ) | const |
Get a specific Fock state from a given invariant subspace.
| [in] | in | Index of the invariant subspace. |
| [in] | i | Index of the Fock state within the subspace. |
| std::vector<QuantumState> const& Pomerol::StatesClassification::getFockStates | ( | BlockNumber | in | ) | const |
Get the list of all Fock states spanning a given invariant subspace.
| [in] | in | Index of the invariant subspace. |
| InnerQuantumState Pomerol::StatesClassification::getInnerState | ( | QuantumState | in | ) | const |
For a given Fock state, get the index within the invariant subspace it belongs to.
| [in] | in | Fock state. |
|
inline |
Get the number of the invariant subspaces.
Definition at line 76 of file StatesClassification.hpp.
|
inline |
Get the total number of Fock states.
Definition at line 73 of file StatesClassification.hpp.