pomerol
2.1
|
A resonant term in the Lehmann representation of TwoParticleGF. More...
#include <TwoParticleGFPart.hpp>
Data Structures | |
struct | Hash |
Hasher for resonant terms. More... | |
struct | IsNegligible |
Predicate: Does a term have a negligible residue? More... | |
struct | KeyEqual |
Similarity predicate for resonant terms. More... | |
Public Member Functions | |
ResonantTerm ()=default | |
ResonantTerm (ComplexType ResCoeff, ComplexType NonResCoeff, RealType P1, RealType P2, RealType P3, bool isz1z2) | |
ComplexType | operator() (ComplexType z1, ComplexType z2, ComplexType z3, RealType DeltaTolerance=1e-16) const |
ResonantTerm & | operator+= (ResonantTerm const &AnotherTerm) |
Static Public Member Functions | |
static MPI_Datatype | mpi_datatype () |
Create and commit an MPI datatype for ResonantTerm. More... | |
Data Fields | |
ComplexType | ResCoeff = 0 |
Coefficient \(R\). More... | |
ComplexType | NonResCoeff = 0 |
Coefficient \(N\). More... | |
std::array< RealType, 3 > | Poles = {{0, 0, 0}} |
Poles \(P_1\), \(P_2\), \(P_3\). More... | |
bool | isz1z2 = false |
long | Weight = 0 |
A resonant term in the Lehmann representation of TwoParticleGF.
It is parametrized by two complex coefficients \(R\) and \(N\), and positions of real poles \(P_1, P_2, P_3\). Depending on the value of the isz1z2 flag, an explicit expression for the term reads
Definition at line 189 of file TwoParticleGFPart.hpp.
|
default |
|
inline |
Constructor.
[in] | ResCoeff | Numerator of the term for the resonant case, \(R\). |
[in] | NonResCoeff | Numerator of the term for the non-resonant case, \(N\). |
[in] | P1 | Pole \(P_1\). |
[in] | P2 | Pole \(P_2\). |
[in] | P3 | Pole \(P_3\). |
[in] | isz1z2 | Are we using the \(\delta(z_1+z_2-P_1-P_2)\) resonance condition? |
Definition at line 279 of file TwoParticleGFPart.hpp.
|
static |
Create and commit an MPI datatype for ResonantTerm.
|
inline |
Substitute complex frequencies \(z_1, z_2, z_3\) into this term.
[in] | z1 | Complex frequency \(z_1\). |
[in] | z2 | Complex frequency \(z_2\). |
[in] | z3 | Complex frequency \(z_3\). |
[in] | DeltaTolerance | Tolerance for the resonance detection. |
Definition at line 478 of file TwoParticleGFPart.hpp.
ResonantTerm& Pomerol::TwoParticleGFPart::ResonantTerm::operator+= | ( | ResonantTerm const & | AnotherTerm | ) |
Add a resonant term to this term.
This operator does not check similarity of the terms! Parameters of this term are updated as follows.
[in] | AnotherTerm | Term to add. |
bool Pomerol::TwoParticleGFPart::ResonantTerm::isz1z2 = false |
Are we using \( \delta(z_1+z_2-P_1-P_2) \) resonance condition? If not, we are using \( \delta(z_2+z_3-P_2-P_3) \).
Definition at line 201 of file TwoParticleGFPart.hpp.
ComplexType Pomerol::TwoParticleGFPart::ResonantTerm::NonResCoeff = 0 |
Coefficient \(N\).
Definition at line 194 of file TwoParticleGFPart.hpp.
std::array<RealType, 3> Pomerol::TwoParticleGFPart::ResonantTerm::Poles = {{0, 0, 0}} |
Poles \(P_1\), \(P_2\), \(P_3\).
Definition at line 197 of file TwoParticleGFPart.hpp.
ComplexType Pomerol::TwoParticleGFPart::ResonantTerm::ResCoeff = 0 |
Coefficient \(R\).
Definition at line 192 of file TwoParticleGFPart.hpp.
long Pomerol::TwoParticleGFPart::ResonantTerm::Weight = 0 |
Weight \(W\) used in addition of terms with different poles.
Definition at line 205 of file TwoParticleGFPart.hpp.