pomerol  2.1
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
Pomerol::GFContainer Class Reference

Container for instances of GreensFunction. More...

#include <GFContainer.hpp>

Inheritance diagram for Pomerol::GFContainer:
Inheritance graph
[legend]
Collaboration diagram for Pomerol::GFContainer:
Collaboration graph
[legend]

Public Member Functions

template<typename... IndexTypes>
 GFContainer (IndexClassification< IndexTypes... > const &IndexInfo, StatesClassification const &S, Hamiltonian const &H, DensityMatrix const &DM, FieldOperatorContainer const &Ops)
 
void prepareAll (std::set< IndexCombination2 > const &Indices={})
 
void computeAll ()
 
- Public Member Functions inherited from Pomerol::IndexContainer2< GreensFunction, GFContainer >
 IndexContainer2 (GFContainer const &Source, IndexClassification< IndexTypes... > const &IndexInfo)
 
void fill (std::set< IndexCombination2 > Indices=std::set< IndexCombination2 >())
 
GreensFunctioncreate (IndexCombination2 const &Indices)
 
bool isInContainer (IndexCombination2 const &Indices) const
 
bool isInContainer (ParticleIndex Index1, ParticleIndex Index2) const
 
GreensFunctionoperator() (IndexCombination2 const &Indices)
 
GreensFunctionoperator() (ParticleIndex Index1, ParticleIndex Index2)
 
- Public Member Functions inherited from Pomerol::Thermal
 Thermal (RealType beta)
 

Protected Member Functions

std::shared_ptr< GreensFunctioncreateElement (IndexCombination2 const &Indices) const
 
- Protected Member Functions inherited from Pomerol::IndexContainer2< GreensFunction, GFContainer >
std::set< IndexCombination2enumerateIndices () const
 

Protected Attributes

StatesClassification const & S
 Information about invariant subspaces of the Hamiltonian. More...
 
Hamiltonian const & H
 The Hamiltonian. More...
 
DensityMatrix const & DM
 Many-body density matrix \(\hat\rho\). More...
 
FieldOperatorContainer const & Operators
 A set of creation/annihilation operators \(c^\dagger_j\)/ \(c_i\). More...
 
- Protected Attributes inherited from Pomerol::IndexContainer2< GreensFunction, GFContainer >
ParticleIndex NumIndices
 Each of the two indices can change in the range [0; NumIndices[. More...
 
std::map< IndexCombination2, std::shared_ptr< GreensFunction > > ElementsMap
 Sparse storage for the elements. More...
 
GFContainer const & Source
 Stored elements are created by calling Source.createElement(Indices). More...
 

Friends

class IndexContainer2< GreensFunction, GFContainer >
 

Additional Inherited Members

- Data Fields inherited from Pomerol::Thermal
const RealType beta
 Inverse temperature \(\beta\). More...
 
const ComplexType MatsubaraSpacing
 Spacing between (imaginary) Matsubara frequencies, \(i\pi/\beta\). More...
 

Detailed Description

Container for instances of GreensFunction.

This class stores elements of a matrix-valued fermionic single-particle Matsubara Green's function

\[ G_{ij}(i\omega_n) = -\int_0^\beta d\tau e^{i\omega_n\tau} Tr[\mathcal{T}_\tau \hat\rho c_i(\tau) c_j^\dagger(0)]. \]

Definition at line 44 of file GFContainer.hpp.

Constructor & Destructor Documentation

◆ GFContainer()

template<typename... IndexTypes>
Pomerol::GFContainer::GFContainer ( IndexClassification< IndexTypes... > const &  IndexInfo,
StatesClassification const &  S,
Hamiltonian const &  H,
DensityMatrix const &  DM,
FieldOperatorContainer const &  Ops 
)
inline

Constructor.

Template Parameters
IndexTypesTypes of indices carried by the creation and annihilation operators.
Parameters
[in]IndexInfoMap for fermionic operator index tuples.
[in]SInformation about invariant subspaces of the Hamiltonian.
[in]HThe Hamiltonian.
[in]DMMany-body density matrix \(\hat\rho\).
[in]OpsA set of creation/annihilation operators \(c^\dagger_j\)/ \(c_i\).

Definition at line 55 of file GFContainer.hpp.

Member Function Documentation

◆ computeAll()

void Pomerol::GFContainer::computeAll ( )

Compute all prepared matrix elements \(G_{ij}\).

Precondition
prepareAll() has been called.

◆ createElement()

std::shared_ptr<GreensFunction> Pomerol::GFContainer::createElement ( IndexCombination2 const &  Indices) const
protected

Create a single matrix element \(G_{ij}\).

Parameters
[in]IndicesIndex combination \((i,j)\).

◆ prepareAll()

void Pomerol::GFContainer::prepareAll ( std::set< IndexCombination2 > const &  Indices = {})

Prepare a set of matrix elements \(G_{ij}\).

Parameters
[in]IndicesSet of index combinations of the elements \(G_{ij}\) to be prepared. An empty set results in creation of elements for all possible index combinations.

Friends And Related Function Documentation

◆ IndexContainer2< GreensFunction, GFContainer >

friend class IndexContainer2< GreensFunction, GFContainer >
friend

Definition at line 76 of file GFContainer.hpp.

Field Documentation

◆ DM

DensityMatrix const& Pomerol::GFContainer::DM
protected

Many-body density matrix \(\hat\rho\).

Definition at line 88 of file GFContainer.hpp.

◆ H

Hamiltonian const& Pomerol::GFContainer::H
protected

The Hamiltonian.

Definition at line 86 of file GFContainer.hpp.

◆ Operators

FieldOperatorContainer const& Pomerol::GFContainer::Operators
protected

A set of creation/annihilation operators \(c^\dagger_j\)/ \(c_i\).

Definition at line 90 of file GFContainer.hpp.

◆ S

StatesClassification const& Pomerol::GFContainer::S
protected

Information about invariant subspaces of the Hamiltonian.

Definition at line 83 of file GFContainer.hpp.


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