pomerol  2.1
Public Member Functions
Pomerol::GreensFunction Class Reference

Fermionic single-particle Matsubara Green's function. More...

#include <GreensFunction.hpp>

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

Public Member Functions

 GreensFunction (StatesClassification const &S, Hamiltonian const &H, AnnihilationOperator const &C, CreationOperator const &CX, DensityMatrix const &DM)
 
 GreensFunction (GreensFunction const &GF)
 
void prepare ()
 
void compute ()
 Actually computes the parts. More...
 
ParticleIndex getIndex (std::size_t Position) const
 
ComplexType operator() (long MatsubaraNumber) const
 
ComplexType operator() (ComplexType z) const
 
ComplexType of_tau (RealType tau) const
 
bool isVanishing () const
 Is this Green's function identically zero? More...
 
- Public Member Functions inherited from Pomerol::Thermal
 Thermal (RealType beta)
 
- 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...
 
- 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...
 
- Protected Attributes inherited from Pomerol::ComputableObject
StatusEnum Status = Constructed
 Current computation status. More...
 

Detailed Description

Fermionic single-particle Matsubara Green's function.

This class gives access to the GF values both in imaginary time representation,

\[ G(\tau) = -Tr[\mathcal{T}_\tau \hat\rho c(\tau) c^\dagger(0)] \]

and at the imaginary Matsubara frequencies \(\omega_n = \pi(2n+1)/\beta\),

\[ G(i\omega_n) = \int_0^\beta d\tau e^{i\omega_n\tau} G(\tau). \]

It is actually a container class for a collection of GreensFunctionPart's (most of the real calculations take place in the parts).

Definition at line 48 of file GreensFunction.hpp.

Constructor & Destructor Documentation

◆ GreensFunction() [1/2]

Pomerol::GreensFunction::GreensFunction ( StatesClassification const &  S,
Hamiltonian const &  H,
AnnihilationOperator const &  C,
CreationOperator const &  CX,
DensityMatrix const &  DM 
)

Constructor.

Parameters
[in]SInformation about invariant subspaces of the Hamiltonian.
[in]HThe Hamiltonian.
[in]CThe annihilation operator \(c\).
[in]CXThe creation operator \(c^\dagger\).
[in]DMMany-body density matrix \(\hat\rho\).

◆ GreensFunction() [2/2]

Pomerol::GreensFunction::GreensFunction ( GreensFunction const &  GF)

Copy-constructor.

Parameters
[in]GFGreensFunction object to be copied.

Member Function Documentation

◆ compute()

void Pomerol::GreensFunction::compute ( )

Actually computes the parts.

◆ getIndex()

ParticleIndex Pomerol::GreensFunction::getIndex ( std::size_t  Position) const

Returns the single-particle index of either \(c\) or \(c^\dagger\).

Parameters
[in]PositionSelect \(c\) for Position==0 and \(c^\dagger\) for Position==1. Throws for other values of this argument.

◆ isVanishing()

bool Pomerol::GreensFunction::isVanishing ( ) const
inline

Is this Green's function identically zero?

Definition at line 109 of file GreensFunction.hpp.

◆ of_tau()

ComplexType Pomerol::GreensFunction::of_tau ( RealType  tau) const
inline

Return the GF value calculated at a given imaginary time \(\tau\).

Parameters
[in]tauImaginary time point.

Definition at line 129 of file GreensFunction.hpp.

◆ operator()() [1/2]

ComplexType Pomerol::GreensFunction::operator() ( ComplexType  z) const
inline

Return the GF value calculated at a given complex frequency \(z\).

Parameters
[in]zThe complex frequency.

Definition at line 118 of file GreensFunction.hpp.

◆ operator()() [2/2]

ComplexType Pomerol::GreensFunction::operator() ( long  MatsubaraNumber) const
inline

Return the GF value calculated at a given Matsubara frequency.

Parameters
[in]MatsubaraNumberIndex of the Matsubara frequency \(n\) ( \(\omega_n=\pi(2n+1)/\beta\)).

Definition at line 114 of file GreensFunction.hpp.

◆ prepare()

void Pomerol::GreensFunction::prepare ( )

Select all relevant parts of \(c\) and \(c^\dagger\) and allocate resources for the GreensFunctionPart's.


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