pomerol
2.1
|
Irreducible two-particle vertex. More...
#include <Vertex4.hpp>
Public Member Functions | |
Vertex4 (TwoParticleGF const &Chi, GreensFunction const &G13, GreensFunction const &G24, GreensFunction const &G14, GreensFunction const &G23) | |
void | compute (long NumberOfMatsubaras=0) |
ComplexType | operator() (long MatsubaraNumber1, long MatsubaraNumber2, long MatsubaraNumber3) const |
ComplexType | value (long MatsubaraNumber1, long MatsubaraNumber2, long MatsubaraNumber3) const |
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) |
Friends | |
class | MatsubaraContainer4< Vertex4 > |
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... | |
Irreducible two-particle vertex.
Irreducible two-particle vertex part of fermions,
\[ \Gamma_{ijkl}(\omega_{n_1},\omega_{n_2};\omega_{n_3},\omega_{n_4}) = \chi_{ijkl}(\omega_{n_1},\omega_{n_2};\omega_{n_3},\omega_{n_4}) - \chi^0_{ijkl}(\omega_{n_1},\omega_{n_2};\omega_{n_3},\omega_{n_4}) \]
with the Wick part of the two-particle Green's function being
\[ \chi^0_{ijkl}(\omega_{n_1},\omega_{n_2};\omega_{n_3},\omega_{n_4}) = \beta\delta_{\omega_{n_1}\omega_{n_4}}\delta_{\omega_{n_2}\omega_{n_3}}G_{il}(\omega_{n_1})G_{jk}(\omega_{n_2}) - \beta\delta_{\omega_{n_1}\omega_{n_3}}\delta_{\omega_{n_2}\omega_{n_4}}G_{ik}(\omega_{n_1})G_{jl}(\omega_{n_2}). \]
\(\beta\) is the inverse temperature, \(G_{ij}\) is the single-particle Green's function, and \(\omega_{n_4} = \omega_{n_1}+\omega_{n_2}-\omega_{n_3}\).
Definition at line 47 of file Vertex4.hpp.
Pomerol::Vertex4::Vertex4 | ( | TwoParticleGF const & | Chi, |
GreensFunction const & | G13, | ||
GreensFunction const & | G24, | ||
GreensFunction const & | G14, | ||
GreensFunction const & | G23 | ||
) |
Constructor.
[in] | Chi | Fermionic two-particle Matsubara Green's function \(\chi_{ijkl}\) |
[in] | G13 | Fermionic single-particle Matsubara Green's function \(G_{ik}\). |
[in] | G24 | Fermionic single-particle Matsubara Green's function \(G_{jl}\). |
[in] | G14 | Fermionic single-particle Matsubara Green's function \(G_{il}\). |
[in] | G23 | Fermionic single-particle Matsubara Green's function \(G_{jk}\). |
void Pomerol::Vertex4::compute | ( | long | NumberOfMatsubaras = 0 | ) |
Populate the internal cache of precomputed values.
[in] | NumberOfMatsubaras | Number of positive fermionic Matsubara frequencies \(\omega_{n_1}\) and \(\omega_{n_2}\) for which values are precomputed and stored. |
ComplexType Pomerol::Vertex4::operator() | ( | long | MatsubaraNumber1, |
long | MatsubaraNumber2, | ||
long | MatsubaraNumber3 | ||
) | const |
Return the value of the vertex calculated a given Matsubara frequency triplet.
[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\)). |
ComplexType Pomerol::Vertex4::value | ( | long | MatsubaraNumber1, |
long | MatsubaraNumber2, | ||
long | MatsubaraNumber3 | ||
) | const |
Return the value of vertex calculated a given Matsubara frequency triplet. This method ignores the internal cache of precomputed values.
[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 63 of file Vertex4.hpp.