pomerol  2.1
Public Member Functions

Container for instances of CreationOperator and AnnihilationOperator. More...

#include <FieldOperatorContainer.hpp>

Public Member Functions

template<typename... IndexTypes>
 FieldOperatorContainer (IndexClassification< IndexTypes... > const &IndexInfo, HilbertSpace< IndexTypes... > const &HS, StatesClassification const &S, Hamiltonian const &H, std::set< ParticleIndex > in={})
 
template<typename... IndexTypes>
void prepareAll (HilbertSpace< IndexTypes... > const &HS)
 
void computeAll ()
 
CreationOperator const & getCreationOperator (ParticleIndex in) const
 
AnnihilationOperator const & getAnnihilationOperator (ParticleIndex in) const
 

Detailed Description

Container for instances of CreationOperator and AnnihilationOperator.

This container class stores instances of CreationOperator and AnnihilationOperator in associative maps with keys being their respective single-particle indices. It also provides methods that prepare and compute all stored MonomialOperator objects at once.

Definition at line 39 of file FieldOperatorContainer.hpp.

Constructor & Destructor Documentation

◆ FieldOperatorContainer()

template<typename... IndexTypes>
Pomerol::FieldOperatorContainer::FieldOperatorContainer ( IndexClassification< IndexTypes... > const &  IndexInfo,
HilbertSpace< IndexTypes... > const &  HS,
StatesClassification const &  S,
Hamiltonian const &  H,
std::set< ParticleIndex in = {} 
)
inline

Constructor.

Template Parameters
IndexTypesTypes of indices carried by the creation and annihilation operators.
Parameters
[in]IndexInfoMap for fermionic operator index tuples.
[in]HSHilbert space.
[in]SInformation about invariant subspaces of the Hamiltonian.
[in]HThe Hamiltonian.
[in]inSet of all single-particle indices to store the MonomialOperator objects for. When empty, a set of all indices from IndexInfo is used.

Definition at line 56 of file FieldOperatorContainer.hpp.

Member Function Documentation

◆ computeAll()

void Pomerol::FieldOperatorContainer::computeAll ( )

Compute all stored creation and annihilation operators.

Precondition
prepareAll() has been called.

◆ getAnnihilationOperator()

AnnihilationOperator const& Pomerol::FieldOperatorContainer::getAnnihilationOperator ( ParticleIndex  in) const

Return a reference to a annihilation operator by its single-particle index.

Parameters
[in]inSingle-particle index.

◆ getCreationOperator()

CreationOperator const& Pomerol::FieldOperatorContainer::getCreationOperator ( ParticleIndex  in) const

Return a reference to a creation operator by its single-particle index.

Parameters
[in]inSingle-particle index.

◆ prepareAll()

template<typename... IndexTypes>
void Pomerol::FieldOperatorContainer::prepareAll ( HilbertSpace< IndexTypes... > const &  HS)
inline

Prepare all stored creation and annihilation operators (allocate memory for them).

Template Parameters
IndexTypesTypes of indices carried by the creation and annihilation operators.
Parameters
[in]HSHilbert space.

Definition at line 75 of file FieldOperatorContainer.hpp.


The documentation for this class was generated from the following file: