pomerol  2.1
Data Structures | Public Member Functions | Static Public Member Functions | Data Fields
Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm Struct Reference

A non-resonant fermion-boson term in the Lehmann representation of ThreePointSusceptibility. More...

#include <ThreePointSusceptibilityPart.hpp>

Data Structures

struct  Hash
 Hasher for non-resonant fermion-boson terms. More...
 
struct  IsNegligible
 Predicate: Does a term have a negligible residue? More...
 
struct  KeyEqual
 Similarity predicate for non-resonant fermion-fermion terms. More...
 

Public Member Functions

 NonResonantFBTerm ()=default
 
 NonResonantFBTerm (ComplexType Coeff, RealType P1, RealType P12, int xi)
 
ComplexType operator() (ComplexType z1, ComplexType z2) const
 
NonResonantFBTermoperator+= (NonResonantFBTerm const &AnotherTerm)
 

Static Public Member Functions

static MPI_Datatype mpi_datatype ()
 Create and commit an MPI datatype for NonResonantFBTerm. More...
 

Data Fields

ComplexType Coeff
 Coefficient \(C\). More...
 
RealType P1 = 0
 Pole \(P_1\). More...
 
RealType P12 = 0
 Pole \(P_{12}\). More...
 
int xi = 1
 Coefficient \(\xi\). More...
 
long Weight = 0
 

Detailed Description

A non-resonant fermion-boson term in the Lehmann representation of ThreePointSusceptibility.

It is parametrized by a complex coefficient \(C\), positions of real poles \(P_1, P_{12}\) and a coefficient \(\xi\) that controls how the bosonic frequency is computed. An explicit expression for the term reads \(\frac{C}{(z_1-P_1)(z_1 - \xi z_2 - P_{12})}\).

Definition at line 170 of file ThreePointSusceptibilityPart.hpp.

Constructor & Destructor Documentation

◆ NonResonantFBTerm() [1/2]

Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::NonResonantFBTerm ( )
default

◆ NonResonantFBTerm() [2/2]

Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::NonResonantFBTerm ( ComplexType  Coeff,
RealType  P1,
RealType  P12,
int  xi 
)
inline

Constructor.

Parameters
[in]CoeffCoefficient of the term \(C\).
[in]P1Pole \(P_1\).
[in]P12Pole \(P_{12}\).
[in]xiCoefficient \(\xi\).

Definition at line 254 of file ThreePointSusceptibilityPart.hpp.

Member Function Documentation

◆ mpi_datatype()

static MPI_Datatype Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::mpi_datatype ( )
static

Create and commit an MPI datatype for NonResonantFBTerm.

◆ operator()()

ComplexType Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::operator() ( ComplexType  z1,
ComplexType  z2 
) const
inline

Substitute complex frequencies \(z_1, z_2\) into this term.

Parameters
[in]z1Complex frequency \(z_1\).
[in]z2Complex frequency \(z_2\).

Definition at line 525 of file ThreePointSusceptibilityPart.hpp.

◆ operator+=()

NonResonantFBTerm& Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::operator+= ( NonResonantFBTerm const &  AnotherTerm)

Add a non-resonant fermion-boson term to this term.

This operator does not check similarity of the terms! Parameters of this term are updated as follows.

  • Coeff += AnotherTerm.Coeff
  • P = (P1 * Weight + AnotherTerm.P1 * AnotherTerm.Weight) / (Weight + AnotherTerm.Weight)
  • P12 = (P12 * Weight + AnotherTerm.P12 * AnotherTerm.Weight) / (Weight + AnotherTerm.Weight)
  • Weight += AnotherTerm.Weight
    Parameters
    [in]AnotherTermTerm to add.

Field Documentation

◆ Coeff

ComplexType Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::Coeff

Coefficient \(C\).

Definition at line 172 of file ThreePointSusceptibilityPart.hpp.

◆ P1

RealType Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::P1 = 0

Pole \(P_1\).

Definition at line 175 of file ThreePointSusceptibilityPart.hpp.

◆ P12

RealType Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::P12 = 0

Pole \(P_{12}\).

Definition at line 178 of file ThreePointSusceptibilityPart.hpp.

◆ Weight

long Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::Weight = 0

Weight \(W\) used in addition of terms with different poles.

See also
operator+=()

Definition at line 185 of file ThreePointSusceptibilityPart.hpp.

◆ xi

int Pomerol::ThreePointSusceptibilityPart::NonResonantFBTerm::xi = 1

Coefficient \(\xi\).

Definition at line 181 of file ThreePointSusceptibilityPart.hpp.


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