pomerol  2.1
Data Structures | Public Member Functions | Data Fields | Friends
Pomerol::SusceptibilityPart Class Reference

Part of a dynamical susceptibility. More...

#include <SusceptibilityPart.hpp>

Inheritance diagram for Pomerol::SusceptibilityPart:
Inheritance graph
[legend]
Collaboration diagram for Pomerol::SusceptibilityPart:
Collaboration graph
[legend]

Public Member Functions

 SusceptibilityPart (MonomialOperatorPart const &A, MonomialOperatorPart const &B, HamiltonianPart const &HpartInner, HamiltonianPart const &HpartOuter, DensityMatrixPart const &DMpartInner, DensityMatrixPart const &DMpartOuter)
 
void compute ()
 Compute the terms contributing to this part. More...
 
ComplexType operator() (ComplexType z) const
 
ComplexType operator() (long MatsubaraNumber) const
 
ComplexType of_tau (RealType tau) const
 
- Public Member Functions inherited from Pomerol::Thermal
 Thermal (RealType beta)
 

Data Fields

const RealType ReduceResonanceTolerance = 1e-8
 A difference in energies with magnitude below this value is treated as zero. 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...
 

Friends

std::ostream & operator<< (std::ostream &os, Term const &T)
 

Detailed Description

Part of a dynamical susceptibility.

It includes contributions from all matrix elements of the following form,

\[ \langle {\rm outer} | \hat A | {\rm inner} \rangle\langle {\rm inner} | \hat B | {\rm outer} \rangle \]

with (inner, outer) being a certain pair of Hamiltonian's invariant subspaces. The contributions are stored as terms of the Lehmann representation, i.e. as fractions \(\frac{R}{z - P}\) with real poles \(P\) and complex residues \(R\).

Definition at line 47 of file SusceptibilityPart.hpp.

Constructor & Destructor Documentation

◆ SusceptibilityPart()

Pomerol::SusceptibilityPart::SusceptibilityPart ( MonomialOperatorPart const &  A,
MonomialOperatorPart const &  B,
HamiltonianPart const &  HpartInner,
HamiltonianPart const &  HpartOuter,
DensityMatrixPart const &  DMpartInner,
DensityMatrixPart const &  DMpartOuter 
)

Constructor.

Parameters
[in]APart of the monomial operator \(\hat A\).
[in]BPart of the monomial operator \(\hat B\).
[in]HpartInnerPart of the Hamiltonian corresponding to the 'inner' subspace.
[in]HpartOuterPart of the Hamiltonian corresponding to the 'outer' subspace.
[in]DMpartInnerPart of the many-body density matrix \(\hat\rho\) corresponding to the 'inner' subspace.
[in]DMpartOuterPart of the many-body density matrix \(\hat\rho\) corresponding to the 'outer' subspace.

Member Function Documentation

◆ compute()

void Pomerol::SusceptibilityPart::compute ( )

Compute the terms contributing to this part.

◆ of_tau()

ComplexType Pomerol::SusceptibilityPart::of_tau ( RealType  tau) const
inline

Return the contribution to the imaginary-time susceptibility made by this part.

Parameters
[in]tauImaginary time point.

Definition at line 214 of file SusceptibilityPart.hpp.

◆ operator()() [1/2]

ComplexType Pomerol::SusceptibilityPart::operator() ( ComplexType  z) const
inline

Substitute a complex frequency \(z\) into this part.

Parameters
[in]zValue of the frequency \(z\).

Definition at line 208 of file SusceptibilityPart.hpp.

◆ operator()() [2/2]

ComplexType Pomerol::SusceptibilityPart::operator() ( long  MatsubaraNumber) const
inline

Substitute a bosonic Matsubara frequency \(\omega_n\) into this part.

Parameters
[in]MatsubaraNumberIndex of the Matsubara frequency \(n\) ( \( \omega_n = 2\pi n/\beta \)).

Definition at line 204 of file SusceptibilityPart.hpp.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
Term const &  T 
)
friend

Output stream insertion operator.

Parameters
[out]osOutput stream.
[in]TTerm to be inserted.
Returns
Reference to the output stream.

Definition at line 148 of file SusceptibilityPart.hpp.

Field Documentation

◆ ReduceResonanceTolerance

const RealType Pomerol::SusceptibilityPart::ReduceResonanceTolerance = 1e-8

A difference in energies with magnitude below this value is treated as zero.

Definition at line 195 of file SusceptibilityPart.hpp.


The documentation for this class was generated from the following file: