pomerol  2.1
Public Member Functions
Pomerol::MatsubaraContainer4< SourceObject > Class Template Reference

Container for functions of three Matsubara frequencies. More...

#include <MatsubaraContainers.hpp>

Public Member Functions

 MatsubaraContainer4 (SourceObject const &Source)
 
ComplexType operator() (long MatsubaraNumber1, long MatsubaraNumber2, long MatsubaraNumber3) const
 
void fill (long NumberOfMatsubaras)
 
long getNumberOfMatsubaras () const
 

Detailed Description

template<typename SourceObject>
class Pomerol::MatsubaraContainer4< SourceObject >

Container for functions of three Matsubara frequencies.

Container class that stores values of a function \(f(i\omega_1,i\omega_2,i\omega_3)\), where \(\omega_1,\omega_2,\omega_3\) are three fermionic Matsubara frequencies.

Template Parameters
SourceObjectType of the source function object \(f\).

Definition at line 35 of file MatsubaraContainers.hpp.

Constructor & Destructor Documentation

◆ MatsubaraContainer4()

template<typename SourceObject >
Pomerol::MatsubaraContainer4< SourceObject >::MatsubaraContainer4 ( SourceObject const &  Source)
inlineexplicit

Construct from a source function object. The container is initially empty and shall be populated with values by a subsequent call to fill().

Parameters
[in]SourceSource function object used to compute stored values.

Definition at line 57 of file MatsubaraContainers.hpp.

Member Function Documentation

◆ fill()

template<typename SourceObject >
void Pomerol::MatsubaraContainer4< SourceObject >::fill ( long  NumberOfMatsubaras)
inline

Fill the container with precomputed values from the source function object. Each value is created by calling Source.value(MatsubaraNumber1,MatsubaraNumber2,MatsubaraNumber3).

Parameters
[in]NumberOfMatsubarasNumber of positive fermionic Matsubara frequencies \(\omega_1\) and \(\omega_2\) for which values are precomputed and stored.

Definition at line 80 of file MatsubaraContainers.hpp.

◆ getNumberOfMatsubaras()

template<typename SourceObject >
long Pomerol::MatsubaraContainer4< SourceObject >::getNumberOfMatsubaras ( ) const
inline

Get the number of positive fermionic Matsubara frequencies \(\omega_1\) and \(\omega_2\) for which values are precomputed and stored.

Definition at line 75 of file MatsubaraContainers.hpp.

◆ operator()()

template<typename SourceObject >
ComplexType Pomerol::MatsubaraContainer4< SourceObject >::operator() ( long  MatsubaraNumber1,
long  MatsubaraNumber2,
long  MatsubaraNumber3 
) const
inline

Return a value of the function for a combination of Matsubara frequencies \(\omega_1,\omega_2,\omega_3\). If value has not been precomputed for the given combination of frequencies, then Source.value(MatsubaraNumber1,MatsubaraNumber2,MatsubaraNumber3) will be called to obtain it.

Parameters
[in]MatsubaraNumber1Index \(n_1\) of Matsubara frequency \(\omega_1 = \pi(2n_1+1)/\beta.\).
[in]MatsubaraNumber2Index \(n_2\) of Matsubara frequency \(\omega_2 = \pi(2n_2+1)/\beta\).
[in]MatsubaraNumber3Index \(n_3\) of Matsubara frequency \(\omega_3 = \pi(2n_3+1)/\beta\).

Definition at line 111 of file MatsubaraContainers.hpp.


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