pomerol
2.1
|
Contiguous list of operator index tuples. More...
#include <IndexClassification.hpp>
Public Types | |
using | IndexInfo = std::tuple< IndexTypes... > |
Tuple of indices carried by a single creation/annihilation operator. More... | |
Public Member Functions | |
template<typename ScalarType > | |
IndexClassification (Operators::expression< ScalarType, IndexTypes... > const &H) | |
IndexClassification ()=default | |
Construct an empty map. More... | |
void | addInfo (IndexInfo const &info) |
void | addInfo (IndexTypes... indices) |
bool | checkIndex (ParticleIndex in) const |
ParticleIndex | getIndex (IndexInfo const &info) const |
ParticleIndex | getIndex (IndexTypes... indices) const |
IndexInfo const & | getInfo (ParticleIndex in) const |
ParticleIndex | getIndexSize () const |
Return the total number of elements in the map. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, IndexClassification const &ic) |
Contiguous list of operator index tuples.
This class establishes correspondence between index tuples of fermionic creation/annihilation operators and values of a contiguous integer index (ParticleIndex).
IndexTypes | Types of indices carried by a single creation/annihilation operator. |
Definition at line 41 of file IndexClassification.hpp.
using Pomerol::IndexClassification< IndexTypes >::IndexInfo = std::tuple<IndexTypes...> |
Tuple of indices carried by a single creation/annihilation operator.
Definition at line 44 of file IndexClassification.hpp.
|
inlineexplicit |
Populate the index map by extracting all index tuples from a given polynomial expression. Mapped ParticleIndex values are assigned according to the order that keys (index tuples) are stored in.
ScalarType | Coefficient type of expression H. |
[in] | H | Expression to be analyzed. |
Definition at line 59 of file IndexClassification.hpp.
|
default |
Construct an empty map.
|
inline |
Add an operator index tuple to the map.
[in] | info | Index tuple to be added. |
Definition at line 74 of file IndexClassification.hpp.
|
inline |
Create an operator index tuple and add it to the map.
[in] | indices | A pack of operator indices. |
Definition at line 81 of file IndexClassification.hpp.
|
inline |
Check if a given ParticleIndex has a corresponding index tuple in the map.
[in] | in | Particle index to check. |
Definition at line 88 of file IndexClassification.hpp.
|
inline |
Return the ParticleIndex corresponding to a given operator index tuple.
[in] | info | Index tuple. |
Definition at line 92 of file IndexClassification.hpp.
|
inline |
Return the ParticleIndex corresponding to a given operator index tuple. Elements of the tuple are provided as a sequence of argument.
[in] | indices | A pack of operator indices. |
Definition at line 106 of file IndexClassification.hpp.
|
inline |
Return the total number of elements in the map.
Definition at line 117 of file IndexClassification.hpp.
|
inline |
Return the operator index tuple corresponding to a given ParticleIndex.
[in] | in | Particle index to retrieve information for. |
Definition at line 110 of file IndexClassification.hpp.
|
friend |
Print an entire IndexClassification map into an output stream.
[out] | os | Output stream. |
[in] | ic | The IndexClassification object to be printed. |
Definition at line 123 of file IndexClassification.hpp.