| pomerol
    2.2
    | 
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.