pomerol  2.1
Public Member Functions | Friends
Pomerol::Vertex4 Class Reference

Irreducible two-particle vertex. More...

#include <Vertex4.hpp>

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

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Vertex4()

Pomerol::Vertex4::Vertex4 ( TwoParticleGF const &  Chi,
GreensFunction const &  G13,
GreensFunction const &  G24,
GreensFunction const &  G14,
GreensFunction const &  G23 
)

Constructor.

Parameters
[in]ChiFermionic two-particle Matsubara Green's function \(\chi_{ijkl}\)
[in]G13Fermionic single-particle Matsubara Green's function \(G_{ik}\).
[in]G24Fermionic single-particle Matsubara Green's function \(G_{jl}\).
[in]G14Fermionic single-particle Matsubara Green's function \(G_{il}\).
[in]G23Fermionic single-particle Matsubara Green's function \(G_{jk}\).

Member Function Documentation

◆ compute()

void Pomerol::Vertex4::compute ( long  NumberOfMatsubaras = 0)

Populate the internal cache of precomputed values.

Parameters
[in]NumberOfMatsubarasNumber of positive fermionic Matsubara frequencies \(\omega_{n_1}\) and \(\omega_{n_2}\) for which values are precomputed and stored.

◆ operator()()

ComplexType Pomerol::Vertex4::operator() ( long  MatsubaraNumber1,
long  MatsubaraNumber2,
long  MatsubaraNumber3 
) const

Return the value of the vertex calculated a given Matsubara frequency triplet.

Parameters
[in]MatsubaraNumber1Index of the first Matsubara frequency \(n_1\) ( \(\omega_{n_1}=\pi(2n_1+1)/\beta\)).
[in]MatsubaraNumber2Index of the second Matsubara frequency \(n_2\) ( \(\omega_{n_2}=\pi(2n_2+1)/\beta\)).
[in]MatsubaraNumber3Index of the third Matsubara frequency \(n_3\) ( \(\omega_{n_3}=\pi(2n_3+1)/\beta\)).

◆ value()

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.

Parameters
[in]MatsubaraNumber1Index of the first Matsubara frequency \(n_1\) ( \(\omega_{n_1}=\pi(2n_1+1)/\beta\)).
[in]MatsubaraNumber2Index of the second Matsubara frequency \(n_2\) ( \(\omega_{n_2}=\pi(2n_2+1)/\beta\)).
[in]MatsubaraNumber3Index of the third Matsubara frequency \(n_3\) ( \(\omega_{n_3}=\pi(2n_3+1)/\beta\)).

Friends And Related Function Documentation

◆ MatsubaraContainer4< Vertex4 >

friend class MatsubaraContainer4< Vertex4 >
friend

Definition at line 63 of file Vertex4.hpp.


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