|
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.