pomerol
2.1
|
Part of a 3-point susceptibility. More...
#include <ThreePointSusceptibilityPart.hpp>
Data Structures | |
struct | NonResonantFBTerm |
A non-resonant fermion-boson term in the Lehmann representation of ThreePointSusceptibility. More... | |
struct | NonResonantFFTerm |
A non-resonant fermion-fermion term in the Lehmann representation of ThreePointSusceptibility. More... | |
struct | ResonantTerm |
A resonant term in the Lehmann representation of ThreePointSusceptibility. More... | |
Public Member Functions | |
ThreePointSusceptibilityPart (MonomialOperatorPart const &F1, MonomialOperatorPart const &F2, MonomialOperatorPart const &B1, MonomialOperatorPart const &B2, HamiltonianPart const &Hpart1, HamiltonianPart const &Hpart2, HamiltonianPart const &Hpart3, DensityMatrixPart const &DMpart1, DensityMatrixPart const &DMpart2, DensityMatrixPart const &DMpart3, Channel channel, bool SwappedFermionOps) | |
void | compute () |
Compute the terms contributing to this part. More... | |
void | clear () |
Purge all terms. More... | |
ComplexType | operator() (ComplexType z1, ComplexType z2) const |
ComplexType | operator() (long MatsubaraNumber1, long MatsubaraNumber2) const |
std::size_t | getNumResonantTerms () const |
Return the number of resonant terms. More... | |
std::size_t | getNumNonResonantFFTerms () const |
Return the number of non-resonant fermion-fermion terms. More... | |
std::size_t | getNumNonResonantFBTerms () const |
Return the number of non-resonant fermion-boson terms. More... | |
bool | getSwappedFermionOps () const |
Are fermionic operators in this part swapped with respect to their order in the definition? More... | |
TermList< ResonantTerm > const & | getResonantTerms () const |
Access the list of the resonant terms. More... | |
TermList< NonResonantFFTerm > const & | getNonResonantFFTerms () const |
Access the list of the non-resonant fermion-fermion terms. More... | |
TermList< NonResonantFBTerm > const & | getNonResonantFBTerms () const |
Access the list of the non-resonant fermion-boson terms. More... | |
Public Member Functions inherited from Pomerol::Thermal | |
Thermal (RealType beta) | |
Friends | |
class | ThreePointSusceptibility |
class | ThreePointSusceptibilityContainer |
Additional Inherited Members | |
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... | |
Part of a 3-point susceptibility.
It includes contributions from all matrix elements of the following form,
\[ \langle {\rm S_1}| \hat F_1 |{\rm S_2}\rangle \langle {\rm S_2}| \hat F_2 |{\rm S_3} \rangle \langle {\rm S_3}| \hat B_1 |{\rm S_4} \rangle \langle {\rm S_4}| \hat B_2 |{\rm S_1} \rangle, \]
where \(\hat F_1, \hat F_2, \hat B_1, \hat B_2\) are fermionic field operators, and \(\hat B = \hat B_1 \hat B_2\). \({\rm S_1}, {\rm S_2}, {\rm S_3}, {\rm S_4}\) are invariant subspaces of the Hamiltonian. The contributions are stored as terms of the Lehmann representation. There are three kinds of terms contributing to the expansion, so called resonant (ResonantTerm), non-resonant fermion-fermion (NonResonantFFTerm) and non-resonant fermion-boson (NonResonantFBTerm) terms.
Definition at line 56 of file ThreePointSusceptibilityPart.hpp.
Pomerol::ThreePointSusceptibilityPart::ThreePointSusceptibilityPart | ( | MonomialOperatorPart const & | F1, |
MonomialOperatorPart const & | F2, | ||
MonomialOperatorPart const & | B1, | ||
MonomialOperatorPart const & | B2, | ||
HamiltonianPart const & | Hpart1, | ||
HamiltonianPart const & | Hpart2, | ||
HamiltonianPart const & | Hpart3, | ||
DensityMatrixPart const & | DMpart1, | ||
DensityMatrixPart const & | DMpart2, | ||
DensityMatrixPart const & | DMpart3, | ||
Channel | channel, | ||
bool | SwappedFermionOps | ||
) |
Constructor.
[in] | F1 | Part of the first fermionic field operator \(\hat F_1\). |
[in] | F2 | Part of the second fermionic field operator \(\hat F_2\). |
[in] | B1 | Part of the first multiplier of the quadratic operator \(\hat B\). |
[in] | B2 | Part of the second multiplier of the quadratic operator \(\hat B\). |
[in] | Hpart1 | Part of the Hamiltonian corresponding to the subspace \({\rm S_1}\). |
[in] | Hpart2 | Part of the Hamiltonian corresponding to the subspace \({\rm S_2}\). |
[in] | Hpart3 | Part of the Hamiltonian corresponding to the subspace \({\rm S_3}\). |
[in] | DMpart1 | Part of the many-body density matrix corresponding to the subspace \({\rm S_1}\). |
[in] | DMpart2 | Part of the many-body density matrix corresponding to the subspace \({\rm S_2}\). |
[in] | DMpart3 | Part of the many-body density matrix corresponding to the subspace \({\rm S_3}\). |
[in] | channel | Susceptibility channel. |
[in] | SwappedFermionOps | Are fermionic operators swapped with respect to their order in the definition? |
void Pomerol::ThreePointSusceptibilityPart::clear | ( | ) |
Purge all terms.
void Pomerol::ThreePointSusceptibilityPart::compute | ( | ) |
Compute the terms contributing to this part.
|
inline |
Access the list of the non-resonant fermion-boson terms.
Definition at line 516 of file ThreePointSusceptibilityPart.hpp.
|
inline |
Access the list of the non-resonant fermion-fermion terms.
Definition at line 514 of file ThreePointSusceptibilityPart.hpp.
|
inline |
Return the number of non-resonant fermion-boson terms.
Definition at line 506 of file ThreePointSusceptibilityPart.hpp.
|
inline |
Return the number of non-resonant fermion-fermion terms.
Definition at line 504 of file ThreePointSusceptibilityPart.hpp.
|
inline |
Return the number of resonant terms.
Definition at line 502 of file ThreePointSusceptibilityPart.hpp.
|
inline |
Access the list of the resonant terms.
Definition at line 512 of file ThreePointSusceptibilityPart.hpp.
|
inline |
Are fermionic operators in this part swapped with respect to their order in the definition?
Definition at line 509 of file ThreePointSusceptibilityPart.hpp.
ComplexType Pomerol::ThreePointSusceptibilityPart::operator() | ( | ComplexType | z1, |
ComplexType | z2 | ||
) | const |
Substitute complex frequencies \(z_1, z_2\) into this part.
[in] | z1 | First frequency \(z_1\). |
[in] | z2 | Second frequency \(z_2\). |
ComplexType Pomerol::ThreePointSusceptibilityPart::operator() | ( | long | MatsubaraNumber1, |
long | MatsubaraNumber2 | ||
) | const |
Substitute Matsubara frequencies \(i\omega_{n_1}, i\omega_{n_2}\) into this part.
[in] | MatsubaraNumber1 | Index of the first Matsubara frequency \(n_1\) ( \(\omega_{n_1}=\pi(2n_1+1)/\beta\)). |
[in] | MatsubaraNumber2 | Index of the second Matsubara frequency \(n_2\) ( \(\omega_{n_2}=\pi(2n_2+1)/\beta\)). |
|
friend |
Definition at line 58 of file ThreePointSusceptibilityPart.hpp.
|
friend |
Definition at line 59 of file ThreePointSusceptibilityPart.hpp.