pomerol
2.1
|
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) |
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... | |
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 54 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 132 of file Susceptibility.hpp.
|
inline |
Return the susceptibility value calculated at a given imaginary time \(\tau\).
[in] | tau | Imaginary time point. |
Definition at line 154 of file Susceptibility.hpp.
|
inline |
Return the susceptibility value calculated at a given complex frequency \(z\).
[in] | z | The complex frequency. |
Definition at line 141 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 137 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\). |