| pomerol
    2.2
    | 
Dynamical susceptibility. More...
#include <Susceptibility.hpp>


| Public Member Functions | |
| Susceptibility (StatesClassification const &S, Hamiltonian const &H, MonomialOperator const &A, MonomialOperator const &B, DensityMatrix const &DM) | |
| Susceptibility (Susceptibility const &Chi) | |
| void | prepare () | 
| void | compute () | 
| Actually computes the parts.  More... | |
| void | subtractDisconnected () | 
| void | subtractDisconnected (ComplexType ave_A, ComplexType ave_B) | 
| void | subtractDisconnected (EnsembleAverage &EA_A, EnsembleAverage &EA_B) | 
| ComplexType | operator() (long MatsubaraNumber) const | 
| ComplexType | operator() (ComplexType z) const | 
| ComplexType | of_tau (RealType tau) const | 
| bool | isVanishing () const | 
| Is this susceptibility 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... | |
| 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... | |
Dynamical susceptibility.
This class represents a dynamical susceptibility in the Matsubara space,
\[ \chi(i\omega_n) = \int_0^\beta Tr[\mathcal{T}_\tau \hat\rho A(\tau) B(0)] e^{i\omega_n\tau} d\tau \]
and its connected part,
\[ \tilde{\chi}(i\omega_n) = \chi(i\omega_n) - \beta \langle\hat A \rangle \langle\hat B \rangle. \]
Here, \(\beta\) is inverse temperature and \(\langle\hat A\rangle, \langle\hat B\rangle\) are EnsembleAverage's of boson-like monomial operators \(\hat A, \hat B\).
It is actually a container class for a collection of SusceptibilityPart's (most of the real calculations take place in the parts).
Definition at line 55 of file Susceptibility.hpp.
| Pomerol::Susceptibility::Susceptibility | ( | StatesClassification const & | S, | 
| Hamiltonian const & | H, | ||
| MonomialOperator const & | A, | ||
| MonomialOperator const & | B, | ||
| DensityMatrix const & | DM | ||
| ) | 
Constructor.
| [in] | S | Information about invariant subspaces of the Hamiltonian. | 
| [in] | H | The Hamiltonian. | 
| [in] | A | Monomial operator \(\hat A\). | 
| [in] | B | Monomial operator \(\hat B\). | 
| [in] | DM | Many-body density matrix \(\hat\rho\). | 
| Pomerol::Susceptibility::Susceptibility | ( | Susceptibility const & | Chi | ) | 
Copy-constructor.
| [in] | Chi | Susceptibility object to be copied. | 
| void Pomerol::Susceptibility::compute | ( | ) | 
Actually computes the parts.
| 
 | inline | 
Is this susceptibility identically zero?
Definition at line 138 of file Susceptibility.hpp.
| 
 | inline | 
Return the susceptibility value calculated at a given imaginary time \(\tau\).
| [in] | tau | Imaginary time point. | 
Definition at line 160 of file Susceptibility.hpp.
| 
 | inline | 
Return the susceptibility value calculated at a given complex frequency \(z\).
| [in] | z | The complex frequency. | 
Definition at line 147 of file Susceptibility.hpp.
| 
 | inline | 
Return the susceptibility value calculated at a given Matsubara frequency.
| [in] | MatsubaraNumber | Index of the Matsubara frequency \(n\) ( \(\omega_n=2\pi n/\beta\)). | 
Definition at line 143 of file Susceptibility.hpp.
| void Pomerol::Susceptibility::prepare | ( | ) | 
Select all relevant parts of \(\hat A\) and \(\hat B\) and allocate resources for the SusceptibilityPart's.
| void Pomerol::Susceptibility::subtractDisconnected | ( | ) | 
Activate subtraction of the disconnected part \(\langle\hat A \rangle \langle\hat B \rangle\). \(\langle\hat A \rangle\) and \(\langle\hat B \rangle\) are computed by this class.
| void Pomerol::Susceptibility::subtractDisconnected | ( | ComplexType | ave_A, | 
| ComplexType | ave_B | ||
| ) | 
Activate subtraction of the disconnected part \(\langle\hat A \rangle \langle\hat B \rangle\). Precomputed ensemble averages must be provided by the caller.
| [in] | ave_A | Precomputed value of \(\langle\hat A \rangle\). | 
| [in] | ave_B | Precomputed value of \(\langle\hat B \rangle\). | 
| void Pomerol::Susceptibility::subtractDisconnected | ( | EnsembleAverage & | EA_A, | 
| EnsembleAverage & | EA_B | ||
| ) | 
Activate subtraction of the disconnected part \(\langle\hat A \rangle \langle\hat B \rangle\). EnsembleAverage objects must must be provided by the caller.
| [in] | EA_A | Predefined EnsembleAverage class for the operator \(\hat A\). | 
| [in] | EA_B | Predefined EnsembleAverage class for the operator \(\hat B\). | 
| RealType Pomerol::Susceptibility::CoefficientTolerance = 1e-8 | 
Lehmann representation: Maximal magnitude of a term coefficient to be considered negligible.
Definition at line 84 of file Susceptibility.hpp.
| RealType Pomerol::Susceptibility::PoleResolution = 1e-8 | 
Lehmann representation: Maximal distance between energy poles to be consider coinciding.
Definition at line 82 of file Susceptibility.hpp.