pomerol
2.1
|
Fermionic single-particle Matsubara Green's function. More...
#include <GreensFunction.hpp>
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... | |
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.
Pomerol::GreensFunction::GreensFunction | ( | StatesClassification const & | S, |
Hamiltonian const & | H, | ||
AnnihilationOperator const & | C, | ||
CreationOperator const & | CX, | ||
DensityMatrix const & | DM | ||
) |
Constructor.
[in] | S | Information about invariant subspaces of the Hamiltonian. |
[in] | H | The Hamiltonian. |
[in] | C | The annihilation operator \(c\). |
[in] | CX | The creation operator \(c^\dagger\). |
[in] | DM | Many-body density matrix \(\hat\rho\). |
Pomerol::GreensFunction::GreensFunction | ( | GreensFunction const & | GF | ) |
Copy-constructor.
[in] | GF | GreensFunction object to be copied. |
void Pomerol::GreensFunction::compute | ( | ) |
Actually computes the parts.
ParticleIndex Pomerol::GreensFunction::getIndex | ( | std::size_t | Position | ) | const |
Returns the single-particle index of either \(c\) or \(c^\dagger\).
[in] | Position | Select \(c\) for Position==0 and \(c^\dagger\) for Position==1. Throws for other values of this argument. |
|
inline |
Is this Green's function identically zero?
Definition at line 109 of file GreensFunction.hpp.
|
inline |
Return the GF value calculated at a given imaginary time \(\tau\).
[in] | tau | Imaginary time point. |
Definition at line 129 of file GreensFunction.hpp.
|
inline |
Return the GF value calculated at a given complex frequency \(z\).
[in] | z | The complex frequency. |
Definition at line 118 of file GreensFunction.hpp.
|
inline |
Return the GF value calculated at a given Matsubara frequency.
[in] | MatsubaraNumber | Index of the Matsubara frequency \(n\) ( \(\omega_n=\pi(2n+1)/\beta\)). |
Definition at line 114 of file GreensFunction.hpp.
void Pomerol::GreensFunction::prepare | ( | ) |
Select all relevant parts of \(c\) and \(c^\dagger\) and allocate resources for the GreensFunctionPart's.