Bridge++  Ver. 2.0.2
Projection_Stout_SU3 Class Reference

Stout(exponential)-type projection to SU(N) gauge group. More...

#include <projection_Stout_SU3.h>

Inheritance diagram for Projection_Stout_SU3:
Projection

Public Member Functions

 Projection_Stout_SU3 ()
 
 Projection_Stout_SU3 (const Parameters &params)
 
 ~Projection_Stout_SU3 ()
 
void set_parameters (const Parameters &param)
 
void get_parameters (Parameters &param) const
 
void project (Field_G &U, const double alpha, const Field_G &C, const Field_G &Uorg)
 projection U = P[alpha, C, Uorg] More...
 
void force_recursive (Field_G &Xi, Field_G &iTheta, const double alpha, const Field_G &Sigmap, const Field_G &C, const Field_G &U)
 determination of fields for force calculation More...
 
void print_stat ()
 
- Public Member Functions inherited from Projection
 Projection ()
 
virtual ~Projection ()
 

Static Public Attributes

static const std::string class_name = "Projection_Stout_SU3"
 

Private Member Functions

void exp_iQ (Field_G &e_iQ, const Field_G &iQ)
 
void exp_iQ_bf (Field_G &e_iQ, const Field_G &iQ)
 
void set_uw (double &u, double &w, const Mat_SU_N &iQ2, const Mat_SU_N &iQ3)
 
void set_fj (dcomplex &f0, dcomplex &f1, dcomplex &f2, const double &u, const double &w)
 
double func_xi0 (const double w)
 
double func_xi1 (const double w)
 
void init ()
 

Private Attributes

Bridge::VerboseLevel m_vl
 
unsigned long int m_flop
 
double m_time
 

Detailed Description

Stout(exponential)-type projection to SU(N) gauge group.

Present implementation applies to SU(3) case only. The SU(3) properties are explicitly used. [08 Apr 2012 H.Matsufuru] Add a strict check for Nc, complement to assert. [31 May 2021 Y.Namekawa]

Definition at line 36 of file projection_Stout_SU3.h.

Constructor & Destructor Documentation

◆ Projection_Stout_SU3() [1/2]

Projection_Stout_SU3::Projection_Stout_SU3 ( )
inline

Definition at line 48 of file projection_Stout_SU3.h.

◆ Projection_Stout_SU3() [2/2]

Projection_Stout_SU3::Projection_Stout_SU3 ( const Parameters params)
inline

Definition at line 54 of file projection_Stout_SU3.h.

◆ ~Projection_Stout_SU3()

Projection_Stout_SU3::~Projection_Stout_SU3 ( )
inline

Definition at line 61 of file projection_Stout_SU3.h.

Member Function Documentation

◆ exp_iQ()

void Projection_Stout_SU3::exp_iQ ( Field_G e_iQ,
const Field_G iQ 
)
private

Definition at line 151 of file projection_Stout_SU3.cpp.

◆ exp_iQ_bf()

void Projection_Stout_SU3::exp_iQ_bf ( Field_G e_iQ,
const Field_G iQ 
)
private

Definition at line 476 of file projection_Stout_SU3.cpp.

◆ force_recursive()

void Projection_Stout_SU3::force_recursive ( Field_G Xi,
Field_G iTheta,
const double  alpha,
const Field_G Sigmap,
const Field_G Cst,
const Field_G Uorg 
)
virtual

determination of fields for force calculation

  • See the implementation note "note_cloverHMC.pdf" (21 Mar 2012) by H.Matsufuru.
  • Evaluate $\Sigma_\mu'(x)\exp(iQ_\mu(x))+C_\mu^\dagger i\Lambda_\mu(x)$ and $i\Lambda_\mu(x)U_\mu(x)$ in eq.(93)
  • argument Sigmap $=\Sigma_\mu'(x)$ in eq.(93) in terms of (k)-th smearing.
  • argument Cst $=C_\mu(x)$ of eq.(43) in terms of (k-1)-th smearing.
  • argument Uorg $=U_\mu(x)$ in (k-1)-th smearing.
  • argument Xi is a resultant $\Sigma_\mu'(x)\exp(iQ_\mu(x))+C_\mu^\dagger i\Lambda_\mu(x)$.
  • argument iTheta is a resultant $i\Lambda_\mu(x)U_\mu(x)$.
  • Comment by [Y.Taniguchi 2012.04.16]

C_tmp $=C_\mu(x)$

U_tmp $=U_\mu(x)$

iQ1 $=iQ_\mu$

iGamma $=i\Lambda$

iTheta $=i\Lambda U_\mu(x)$

Xi $=\Sigma_\mu'(x)\exp(iQ_\mu(x))+C_\mu^\dagger i\Lambda_\mu(x)$.

Implements Projection.

Definition at line 204 of file projection_Stout_SU3.cpp.

◆ func_xi0()

double Projection_Stout_SU3::func_xi0 ( const double  w)
private

Definition at line 447 of file projection_Stout_SU3.cpp.

◆ func_xi1()

double Projection_Stout_SU3::func_xi1 ( const double  w)
private

Definition at line 458 of file projection_Stout_SU3.cpp.

◆ get_parameters()

void Projection_Stout_SU3::get_parameters ( Parameters param) const
virtual

Implements Projection.

Definition at line 35 of file projection_Stout_SU3.cpp.

◆ init()

void Projection_Stout_SU3::init ( )
private

Definition at line 42 of file projection_Stout_SU3.cpp.

◆ print_stat()

void Projection_Stout_SU3::print_stat ( )

Definition at line 58 of file projection_Stout_SU3.cpp.

◆ project()

void Projection_Stout_SU3::project ( Field_G U,
const double  alpha,
const Field_G C,
const Field_G Uorg 
)
virtual

projection U = P[alpha, C, Uorg]

Implements Projection.

Definition at line 70 of file projection_Stout_SU3.cpp.

◆ set_fj()

void Projection_Stout_SU3::set_fj ( dcomplex &  f0,
dcomplex &  f1,
dcomplex &  f2,
const double &  u,
const double &  w 
)
private

Definition at line 400 of file projection_Stout_SU3.cpp.

◆ set_parameters()

void Projection_Stout_SU3::set_parameters ( const Parameters param)
virtual

Implements Projection.

Definition at line 25 of file projection_Stout_SU3.cpp.

◆ set_uw()

void Projection_Stout_SU3::set_uw ( double &  u,
double &  w,
const Mat_SU_N iQ2,
const Mat_SU_N iQ3 
)
private

Definition at line 430 of file projection_Stout_SU3.cpp.

Member Data Documentation

◆ class_name

const std::string Projection_Stout_SU3::class_name = "Projection_Stout_SU3"
static

Definition at line 39 of file projection_Stout_SU3.h.

◆ m_flop

unsigned long int Projection_Stout_SU3::m_flop
private

Definition at line 44 of file projection_Stout_SU3.h.

◆ m_time

double Projection_Stout_SU3::m_time
private

Definition at line 45 of file projection_Stout_SU3.h.

◆ m_vl

Bridge::VerboseLevel Projection_Stout_SU3::m_vl
private

Definition at line 42 of file projection_Stout_SU3.h.


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