| 
    pomerol
    2.2
    
   | 
 
Fermionic single-particle Matsubara Green's function. More...
#include <GreensFunction.hpp>


Public Member Functions | |
| GreensFunction (StatesClassification const &S, Hamiltonian const &H, FieldOperator const &F1, FieldOperator const &F2, 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) | 
Data Fields | |
| RealType | PoleResolution = 1e-8 | 
| Lehmann representation: Maximal distance between energy poles to be consider coinciding.  More... | |
| RealType | CoefficientTolerance = 1e-8 | 
| Lehmann representation: Maximal magnitude of a term coefficient to be considered negligible.  More... | |
  Data Fields inherited from Pomerol::Thermal | |
| RealType const | beta | 
| Inverse temperature \(\beta\).  More... | |
| ComplexType const | MatsubaraSpacing | 
| Spacing between (imaginary) Matsubara frequencies, \(i\pi/\beta\).  More... | |
Friends | |
| class | GFContainer | 
Additional Inherited Members | |
  Public Types inherited from Pomerol::ComputableObject | |
| enum | StatusEnum { Constructed , Prepared , Computed } | 
| Computation status of the object.  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 F_1(\tau) F_2(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). \]
Here, the operators \(F_1\) and \(F_2\) can be either creation or annihilation operators of fermions. 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 50 of file GreensFunction.hpp.
| Pomerol::GreensFunction::GreensFunction | ( | StatesClassification const & | S, | 
| Hamiltonian const & | H, | ||
| FieldOperator const & | F1, | ||
| FieldOperator const & | F2, | ||
| DensityMatrix const & | DM | ||
| ) | 
Constructor.
| [in] | S | Information about invariant subspaces of the Hamiltonian. | 
| [in] | H | The Hamiltonian. | 
| [in] | F1 | The first operator \(F_1\). | 
| [in] | F2 | The second operator \(F_2\). | 
| [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 \(F_1\) or \(F_2\).
| [in] | Position | Select \(F_1\) for Position==0 and \(F_2\) for Position==1. Throws for other values of this argument. | 
      
  | 
  inline | 
Is this Green's function identically zero?
Definition at line 118 of file GreensFunction.hpp.
      
  | 
  inline | 
Return the GF value calculated at a given imaginary time \(\tau\).
| [in] | tau | Imaginary time point. | 
Definition at line 138 of file GreensFunction.hpp.
      
  | 
  inline | 
Return the GF value calculated at a given complex frequency \(z\).
| [in] | z | The complex frequency. | 
Definition at line 127 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 123 of file GreensFunction.hpp.
| void Pomerol::GreensFunction::prepare | ( | ) | 
Select all relevant parts of \(F_1\) and \(F_2\) and allocate resources for the GreensFunctionPart's.
      
  | 
  friend | 
Definition at line 52 of file GreensFunction.hpp.
| RealType Pomerol::GreensFunction::CoefficientTolerance = 1e-8 | 
Lehmann representation: Maximal magnitude of a term coefficient to be considered negligible.
Definition at line 75 of file GreensFunction.hpp.
| RealType Pomerol::GreensFunction::PoleResolution = 1e-8 | 
Lehmann representation: Maximal distance between energy poles to be consider coinciding.
Definition at line 73 of file GreensFunction.hpp.