Bridge++  Ver.2.1.3
Projection_Maximum_SU_N Class Reference

Maximum projection to SU(N) gauge group. More...

#include <projection_Maximum_SU_N.h>

Inheritance diagram for Projection_Maximum_SU_N:
AProjection< AFIELD >

Public Member Functions

 Projection_Maximum_SU_N (const Parameters &params)
 
 ~Projection_Maximum_SU_N ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const int Niter, const double Enorm)
 
void get_parameters (Parameters &params) 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)
 force calculation: invalid in this class. More...
 
- Public Member Functions inherited from AProjection< AFIELD >
 AProjection ()
 
virtual ~AProjection ()
 
virtual void project (AFIELD &v, const double alpha, const AFIELD &C, const AFIELD &U)
 

Static Public Attributes

static const std::string class_name = "Projection_Maximum_SU_N"
 

Private Member Functions

void init (const Parameters &params)
 
void tidyup ()
 
void reset_field (const Field_G &Uref)
 
void maxTr (Field_G &U, const Field_G &V)
 maximization of ReTr[U^\dag V]. More...
 
void maxTr_SU2 (const int, const int, Field_G &, Field_G &, Field_G &)
 maximization by SU(2) subgroup. More...
 
int mindex (const int i, const int j, const int Nc)
 matrix index for convenience. More...
 

Private Attributes

int m_Niter
 maximum iteration of maximization steps More...
 
double m_Enorm
 convergence criterion of maximization More...
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
Field_G * m_At
 
Field_G * m_Dlt
 
Field_G * m_Ut
 
Field_G * m_vt
 
Field_G * m_wt
 

Detailed Description

Maximum projection to SU(N) gauge group.

Maximum projection for SU(N) matrix by Cabibbo-Marinari method, SU(2) subgroup transformation. The code was originally written by Takashi Umeda (1997) in Fortran by explicitely assuming SU(3) group. Genralization to SU((N) was done by H.M. [09 Aug 2012 H.Matsufuru] YAML is implemented. [14 Nov 2012 Y.Namekawa] Multi-threading applied. [09 Jan 2026 H.Matsufuru]

Definition at line 32 of file projection_Maximum_SU_N.h.

Constructor & Destructor Documentation

◆ Projection_Maximum_SU_N()

Projection_Maximum_SU_N::Projection_Maximum_SU_N ( const Parameters &  params)
inline

Definition at line 51 of file projection_Maximum_SU_N.h.

◆ ~Projection_Maximum_SU_N()

Projection_Maximum_SU_N::~Projection_Maximum_SU_N ( )
inline

Definition at line 54 of file projection_Maximum_SU_N.h.

Member Function Documentation

◆ force_recursive()

void Projection_Maximum_SU_N::force_recursive ( Field_G &  Xi,
Field_G &  iTheta,
const double  alpha,
const Field_G &  Sigmap,
const Field_G &  C,
const Field_G &  U 
)
virtual

force calculation: invalid in this class.

Implements AProjection< AFIELD >.

Definition at line 190 of file projection_Maximum_SU_N.cpp.

◆ get_parameters()

void Projection_Maximum_SU_N::get_parameters ( Parameters &  params) const
virtual

Implements AProjection< AFIELD >.

Definition at line 122 of file projection_Maximum_SU_N.cpp.

◆ init()

void Projection_Maximum_SU_N::init ( const Parameters &  params)
private

Definition at line 24 of file projection_Maximum_SU_N.cpp.

◆ maxTr()

void Projection_Maximum_SU_N::maxTr ( Field_G &  U,
const Field_G &  V 
)
private

maximization of ReTr[U^\dag V].

Definition at line 204 of file projection_Maximum_SU_N.cpp.

◆ maxTr_SU2()

void Projection_Maximum_SU_N::maxTr_SU2 ( const int  i1,
const int  i2,
Field_G &  Gmax,
Field_G &  A,
Field_G &  Udelta 
)
private

maximization by SU(2) subgroup.

Definition at line 292 of file projection_Maximum_SU_N.cpp.

◆ mindex()

int Projection_Maximum_SU_N::mindex ( const int  i,
const int  j,
const int  Nc 
)
inlineprivate

matrix index for convenience.

Definition at line 87 of file projection_Maximum_SU_N.h.

◆ project()

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

projection U = P[alpha, C, Uorg]

Implements AProjection< AFIELD >.

Definition at line 160 of file projection_Maximum_SU_N.cpp.

◆ reset_field()

void Projection_Maximum_SU_N::reset_field ( const Field_G &  Uref)
private

Definition at line 132 of file projection_Maximum_SU_N.cpp.

◆ set_parameters() [1/2]

void Projection_Maximum_SU_N::set_parameters ( const int  Niter,
const double  Enorm 
)

Definition at line 93 of file projection_Maximum_SU_N.cpp.

◆ set_parameters() [2/2]

void Projection_Maximum_SU_N::set_parameters ( const Parameters &  params)
virtual

Implements AProjection< AFIELD >.

Definition at line 67 of file projection_Maximum_SU_N.cpp.

◆ tidyup()

void Projection_Maximum_SU_N::tidyup ( )
private

Definition at line 57 of file projection_Maximum_SU_N.cpp.

Member Data Documentation

◆ class_name

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

Definition at line 35 of file projection_Maximum_SU_N.h.

◆ m_At

Field_G* Projection_Maximum_SU_N::m_At
private

Definition at line 43 of file projection_Maximum_SU_N.h.

◆ m_Dlt

Field_G* Projection_Maximum_SU_N::m_Dlt
private

Definition at line 44 of file projection_Maximum_SU_N.h.

◆ m_Enorm

double Projection_Maximum_SU_N::m_Enorm
private

convergence criterion of maximization

Definition at line 39 of file projection_Maximum_SU_N.h.

◆ m_Niter

int Projection_Maximum_SU_N::m_Niter
private

maximum iteration of maximization steps

Definition at line 38 of file projection_Maximum_SU_N.h.

◆ m_Ut

Field_G* Projection_Maximum_SU_N::m_Ut
private

Definition at line 45 of file projection_Maximum_SU_N.h.

◆ m_vl

Bridge::VerboseLevel Projection_Maximum_SU_N::m_vl
private

verbose level

Definition at line 41 of file projection_Maximum_SU_N.h.

◆ m_vt

Field_G* Projection_Maximum_SU_N::m_vt
private

Definition at line 46 of file projection_Maximum_SU_N.h.

◆ m_wt

Field_G* Projection_Maximum_SU_N::m_wt
private

Definition at line 47 of file projection_Maximum_SU_N.h.


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