pomerol
2.1
|
Part of a fermionic two-particle Matsubara Green's function. More...
#include <TwoParticleGFPart.hpp>
Data Structures | |
struct | NonResonantTerm |
A non-resonant term in the Lehmann representation of TwoParticleGF. More... | |
struct | ResonantTerm |
A resonant term in the Lehmann representation of TwoParticleGF. More... | |
Public Member Functions | |
TwoParticleGFPart (MonomialOperatorPart const &O1, MonomialOperatorPart const &O2, MonomialOperatorPart const &O3, MonomialOperatorPart const &CX4, HamiltonianPart const &Hpart1, HamiltonianPart const &Hpart2, HamiltonianPart const &Hpart3, HamiltonianPart const &Hpart4, DensityMatrixPart const &DMpart1, DensityMatrixPart const &DMpart2, DensityMatrixPart const &DMpart3, DensityMatrixPart const &DMpart4, Permutation3 Permutation) | |
void | compute () |
Compute the terms contributing to this part. More... | |
void | clear () |
Purge all terms. More... | |
ComplexType | operator() (ComplexType z1, ComplexType z2, ComplexType z3) const |
ComplexType | operator() (long MatsubaraNumber1, long MatsubaraNumber2, long MatsubaraNumber3) const |
std::size_t | getNumResonantTerms () const |
Return the number of resonant terms. More... | |
std::size_t | getNumNonResonantTerms () const |
Return the number of non-resonant terms. More... | |
Permutation3 const & | getPermutation () const |
Return the permutation of operators \(\{c_i, c_j, c^\dagger_k\}\) for this part. More... | |
TermList< TwoParticleGFPart::ResonantTerm > const & | getResonantTerms () const |
Access the list of the resonant terms. More... | |
TermList< TwoParticleGFPart::NonResonantTerm > const & | getNonResonantTerms () const |
Access the list of the non-resonant terms. More... | |
Public Member Functions inherited from Pomerol::Thermal | |
Thermal (RealType beta) | |
Friends | |
class | TwoParticleGF |
class | TwoParticleGFContainer |
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 fermionic two-particle Matsubara Green's function.
It includes contributions from all matrix elements of the following form,
\[ \langle {\rm S_1}| \hat O_1 |{\rm S_2}\rangle \langle {\rm S_2}| \hat O_2 |{\rm S_3} \rangle \langle {\rm S_3}| \hat O_3 |{\rm S_4} \rangle \langle {\rm S_4}| c^\dagger_l |{\rm S_1} \rangle, \]
where \(\{\hat O_1, \hat O_2, \hat O_3\}\) is a permutation of operators \(\{c_i, c_j, c^\dagger_k\}\) and \({\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 two kinds of terms contributing to the expansion, so called resonant (ResonantTerm) and non-resonant (NonResonantTerm) terms.
Definition at line 54 of file TwoParticleGFPart.hpp.
Pomerol::TwoParticleGFPart::TwoParticleGFPart | ( | MonomialOperatorPart const & | O1, |
MonomialOperatorPart const & | O2, | ||
MonomialOperatorPart const & | O3, | ||
MonomialOperatorPart const & | CX4, | ||
HamiltonianPart const & | Hpart1, | ||
HamiltonianPart const & | Hpart2, | ||
HamiltonianPart const & | Hpart3, | ||
HamiltonianPart const & | Hpart4, | ||
DensityMatrixPart const & | DMpart1, | ||
DensityMatrixPart const & | DMpart2, | ||
DensityMatrixPart const & | DMpart3, | ||
DensityMatrixPart const & | DMpart4, | ||
Permutation3 | Permutation | ||
) |
Constructor.
[in] | O1 | Part of the field operator \(\hat O_1\). |
[in] | O2 | Part of the field operator \(\hat O_2\). |
[in] | O3 | Part of the field operator \(\hat O_3\). |
[in] | CX4 | Part of the creation operator \(\hat c^\dagger_l\). |
[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] | Hpart4 | Part of the Hamiltonian corresponding to the subspace \({\rm S_4}\). |
[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] | DMpart4 | Part of the many-body density matrix corresponding to the subspace \({\rm S_4}\). |
[in] | Permutation | Permutation of operators \(\{c_i, c_j, c^\dagger_k\}\) for this part. |
void Pomerol::TwoParticleGFPart::clear | ( | ) |
Purge all terms.
void Pomerol::TwoParticleGFPart::compute | ( | ) |
Compute the terms contributing to this part.
|
inline |
Access the list of the non-resonant terms.
Definition at line 467 of file TwoParticleGFPart.hpp.
|
inline |
Return the number of non-resonant terms.
Definition at line 459 of file TwoParticleGFPart.hpp.
|
inline |
Return the number of resonant terms.
Definition at line 457 of file TwoParticleGFPart.hpp.
|
inline |
Return the permutation of operators \(\{c_i, c_j, c^\dagger_k\}\) for this part.
Definition at line 462 of file TwoParticleGFPart.hpp.
|
inline |
Access the list of the resonant terms.
Definition at line 465 of file TwoParticleGFPart.hpp.
ComplexType Pomerol::TwoParticleGFPart::operator() | ( | ComplexType | z1, |
ComplexType | z2, | ||
ComplexType | z3 | ||
) | const |
Substitute complex frequencies \(z_1, z_2, z_3\) into this part.
[in] | z1 | First frequency \(z_1\). |
[in] | z2 | Second frequency \(z_2\). |
[in] | z3 | Third frequency \(z_3\). |
ComplexType Pomerol::TwoParticleGFPart::operator() | ( | long | MatsubaraNumber1, |
long | MatsubaraNumber2, | ||
long | MatsubaraNumber3 | ||
) | const |
Substitute Matsubara frequencies \(i\omega_{n_1}, i\omega_{n_2}, i\omega_{n_3}\) 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\)). |
[in] | MatsubaraNumber3 | Index of the third Matsubara frequency \(n_3\) ( \(\omega_{n_3}=\pi(2n_3+1)/\beta\)). |
|
friend |
Definition at line 56 of file TwoParticleGFPart.hpp.
|
friend |
Definition at line 57 of file TwoParticleGFPart.hpp.