CHROMA
Files | Classes | Typedefs | Functions
Utility routines for manipulating color matrices

Files

file  reunit.cc
 Reunitarize in place a color matrix to SU(N)
 
file  reunit.h
 Reunitarize in place a color matrix to SU(N)
 
file  su3proj.cc
 Project a GL(3,C) color matrix onto SU(3)
 
file  su3proj.h
 Project a GL(3,C) color matrix onto SU(3)
 
file  sun_proj.cc
 Project a complex Nc x Nc matrix W onto SU(Nc) by maximizing Tr(VW)
 
file  sun_proj.h
 Project a complex Nc x Nc matrix W onto SU(Nc) by maximizing Tr(VW)
 

Classes

struct  Chroma::CERNGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::CERNGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::CPPACSGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::CPPACSGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::DisorderedGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::DisorderedGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
class  Chroma::GaugeInit
 Base class for gauge initialization. More...
 
struct  Chroma::KeyGlueElementalOperator_t
 Glue operator. More...
 
struct  Chroma::KYUGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::KYUGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::MILCGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::MILCGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::NERSCGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::NERSCGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::SFGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::SFGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
class  Chroma::StagPhases::alphaClass
 
class  Chroma::StagPhases::betaClass
 
struct  Chroma::SZINGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::SZINGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::SZINQIOGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::SZINQIOGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::UnitGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::UnitGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::WeakGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::WeakGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 
struct  Chroma::WUPPGaugeInitEnv::Params
 Params for initializing config. More...
 
class  Chroma::WUPPGaugeInitEnv::GaugeIniter
 Gauge initialization. More...
 

Typedefs

typedef SingletonHolder< ObjectFactory< GaugeInit, std::string, TYPELIST_2(XMLReader &, const std::string &), GaugeInit *(*)(XMLReader &, const std::string &), StringFactoryError > > Chroma::TheGaugeInitFactory
 Gauge initialization factory (foundry) More...
 

Functions

void Chroma::read (XMLReader &xml, const std::string &path, CERNGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const CERNGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::conjgauge (multi1d< LatticeColorMatrix > &u)
 Take complex conjugate of gauge field u. More...
 
void Chroma::constgauge (multi1d< LatticeColorMatrix > &u, const multi2d< Real > theta)
 Const diagonal gauge field. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, CPPACSGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const CPPACSGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::eesu2 (LatticeColorMatrix &m)
 Exactly exponentiate a SU(2) lie algebra element. More...
 
void Chroma::eesu3 (LatticeColorMatrix &iQ)
 Exact exponentiation of SU(3) matrix. More...
 
void Chroma::eeu1 (LatticeColorMatrix &lambda)
 Exactly exponentiate a U(1) lie algebra element. More...
 
void Chroma::expm12 (LatticeColorMatrix &a)
 12-th order exponentiation of a lattice color matrix More...
 
void Chroma::expmat (LatticeColorMatrix &a, enum ExpMat_t opt)
 Exponentiate a SU(n) lie algebra element by some method. More...
 
void Chroma::gaugeStartup (XMLReader &gauge_file_xml, XMLReader &gauge_xml, multi1d< LatticeColorMatrix > &u, Cfg_t &cfg)
 Initialize the gauge fields. More...
 
void Chroma::HotSt (multi1d< LatticeColorMatrix > &u)
 Set a gauge field from a sample of (almost) Haar measure. More...
 
void Chroma::instanton (multi1d< LatticeColorMatrix > &u_inst, const multi1d< Real > &center, Real rho, int su2_index, int sign)
 Instanton construction. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, KYUGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const KYUGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, MILCGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const MILCGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, NERSCGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const NERSCGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::rgauge (multi1d< LatticeColorMatrix > &u, LatticeColorMatrix &g)
 Do a random gauge transformation on the u fields. More...
 
void Chroma::rgauge (multi1d< LatticeColorMatrix > &u)
 Do a random gauge transformation on the u fields. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, SFGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const SFGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
LatticeColorMatrix Chroma::shift2 (const LatticeColorMatrix &s1, int isign, int dir, int level)
 A simple not-fancy power of 2 shift. More...
 
void Chroma::Stouting::getQs (const multi1d< LatticeColorMatrix > &u, LatticeColorMatrix &Q, LatticeColorMatrix &QQ, int mu, const multi1d< bool > &smear_in_this_dirP, const multi2d< Real > &rho)
 Given field U, form Q and Q^2. More...
 
void Chroma::Stouting::getQsandCs (const multi1d< LatticeColorMatrix > &u, LatticeColorMatrix &Q, LatticeColorMatrix &QQ, LatticeColorMatrix &C, int mu, const multi1d< bool > &smear_in_this_dirP, const multi2d< Real > &rho)
 Given field U, construct the staples into C, form Q and Q^2 and compute c0 and c1. More...
 
void Chroma::Stouting::deriv_recurse (multi1d< LatticeColorMatrix > &F, const multi1d< bool > &smear_in_this_dirP, const multi2d< Real > &rho, const multi1d< LatticeColorMatrix > &u)
 Do the force recursion from level i+1, to level i. More...
 
void Chroma::Stouting::getFs (const LatticeColorMatrix &Q, const LatticeColorMatrix &QQ, multi1d< LatticeComplex > &f)
 Given c0 and c1 compute the f-s and b-s. More...
 
void Chroma::Stouting::getFsAndBs (const LatticeColorMatrix &Q, const LatticeColorMatrix &QQ, multi1d< LatticeComplex > &f, multi1d< LatticeComplex > &b1, multi1d< LatticeComplex > &b2, bool do_bs=true)
 Given c0 and c1 compute the f-s and b-s. More...
 
void Chroma::Stouting::smear_links (const multi1d< LatticeColorMatrix > &current, multi1d< LatticeColorMatrix > &next, const multi1d< bool > &smear_in_this_dirP, const multi2d< Real > &rho)
 Do the smearing from level i to level i+1. More...
 
void Chroma::Stouting::stout_smear (LatticeColorMatrix &next, const multi1d< LatticeColorMatrix > &current, int mu, const multi1d< bool > &smear_in_this_dirP, const multi2d< Real > &rho)
 Stout smear in a specific link direction. More...
 
template<typename S >
void Chroma::su2Extract_t (multi1d< LatticeReal > &r, const LatticeColorMatrix &source, int su2_index, const S &s)
 Su2_extract: r_0,r_1,r_2,r_3 <- source(su2_index) [SU(N) field] under a subset. More...
 
void Chroma::su2Extract (multi1d< LatticeReal > &r, const LatticeColorMatrix &source, int su2_index, const Subset &s)
 Su2_extract: r_0,r_1,r_2,r_3 <- source(su2_index) [SU(N) field] under a subset. More...
 
void Chroma::sunFill (LatticeColorMatrix &dest, const multi1d< LatticeReal > &r, int su2_index, const Subset &s)
 Fill a dest(su2_index) <- r_0,r_1,r_2,r_3 under a subset. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, SZINGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const SZINGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, SZINQIOGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const SZINQIOGaugeInitEnv::Params &param)
 Parameters for running code. More...
 
void Chroma::taproj (LatticeColorMatrix &a)
 Take the traceless antihermitian projection of a color matrix. More...
 
void Chroma::unitarityCheck (const multi1d< LatticeColorMatrixF3 > &u)
 Check the unitarity of color matrix in SU(N) More...
 
void Chroma::weakField (multi1d< LatticeColorMatrix > &u)
 Construct a weak field. More...
 
void Chroma::read (XMLReader &xml, const std::string &path, WUPPGaugeInitEnv::Params &param)
 Reader. More...
 
void Chroma::write (XMLWriter &xml, const std::string &path, const WUPPGaugeInitEnv::Params &param)
 Parameters for running code. More...
 

Detailed Description

Utility routines for simple manipulation of gauge fields.

Typedef Documentation

◆ TheGaugeInitFactory

typedef SingletonHolder< ObjectFactory<GaugeInit, std::string, TYPELIST_2(XMLReader&, const std::string&), GaugeInit* (*)(XMLReader&, const std::string&), StringFactoryError> > Chroma::TheGaugeInitFactory

Gauge initialization factory (foundry)

Definition at line 24 of file gauge_init_factory.h.

Function Documentation

◆ conjgauge()

void Chroma::conjgauge ( multi1d< LatticeColorMatrix > &  u)

Take complex conjugate of gauge field u.

Take complex conjugate of gauge field.

Arguments:

Parameters
uGauge field (Modify)
gGauge transformation matrices (Write)

Arguments:

Parameters
uGauge field (Modify)

Definition at line 20 of file conjgauge.cc.

References Chroma::END_CODE(), mu, Nd, Chroma::START_CODE(), and Chroma::u.

Referenced by main().

◆ constgauge()

void Chroma::constgauge ( multi1d< LatticeColorMatrix > &  u,
const multi2d< Real >  theta 
)

Const diagonal gauge field.

Arguments:

Parameters
uGauge field (Modify)
thetaAngles (Read)

Definition at line 23 of file constgauge.cc.

References Chroma::END_CODE(), Chroma::i, mu, Nd, Chroma::START_CODE(), and Chroma::u.

Referenced by main().

◆ deriv_recurse()

void Chroma::Stouting::deriv_recurse ( multi1d< LatticeColorMatrix > &  F,
const multi1d< bool > &  smear_in_this_dirP,
const multi2d< Real > &  rho,
const multi1d< LatticeColorMatrix > &  u 
)

◆ eesu2()

void Chroma::eesu2 ( LatticeColorMatrix &  m)

Exactly exponentiate a SU(2) lie algebra element.

Parameters
mLatticeColorMatrix (Modify)

Definition at line 18 of file eesu2.cc.

References Chroma::a, Chroma::END_CODE(), m, Chroma::r, Chroma::START_CODE(), Chroma::su2Extract(), and Chroma::sunFill().

Referenced by Chroma::expmat().

◆ eesu3()

void Chroma::eesu3 ( LatticeColorMatrix &  iQ)

Exact exponentiation of SU(3) matrix.

Exactly exponentiate a SU(3) lie algebra element.

Input: 3x3 anti-Hermitian, traceless matrix iQ Output: exp(iQ)

Formula for exp(iQ) = f0 + f1*Q + f2*Q*Q is found in section III of hep-lat/0311018.

Parameters
mLatticeColorMatrix (Modify)

Definition at line 20 of file eesu3.cc.

References Chroma::END_CODE(), std::tr1::f1, std::tr1::f2, Chroma::START_CODE(), and Chroma::u.

Referenced by Chroma::expmat(), and Chroma::Hex_Smear_onestepp().

◆ eeu1()

void Chroma::eeu1 ( LatticeColorMatrix &  lambda)

Exactly exponentiate a U(1) lie algebra element.

Parameters
lambdaLatticeColorMatrix (Modify)

Definition at line 18 of file eeu1.cc.

References Chroma::a, Chroma::END_CODE(), phi, and Chroma::START_CODE().

Referenced by Chroma::expmat().

◆ expm12()

void Chroma::expm12 ( LatticeColorMatrix &  a)

12-th order exponentiation of a lattice color matrix

In place a_ = 1 + a_ + (1/2)*a_^2 + ...+ (1/n!)*(a_)^n n = power

Arguments:

Parameters
aLatticeColorMatrix (Modify)

Definition at line 21 of file expm12.cc.

References Chroma::a, dummy, Chroma::END_CODE(), Chroma::i, and Chroma::START_CODE().

Referenced by Chroma::expmat(), Chroma::HotSt(), and Chroma::rgauge().

◆ expmat()

void Chroma::expmat ( LatticeColorMatrix &  a,
enum ExpMat_t  opt 
)

Exponentiate a SU(n) lie algebra element by some method.

This routine is a driver for other routines. For example, expsu3 will exponentiate EFFICIENTLY an SU(3) matrix and, if desired, check for errors in the truncation of the Taylor series. The routine eesu3 EXACTLY exponentiates a SU(3) matrix.

Parameters
aLatticeColorMatrix (Modify)
optMethod of exponentiation (Read)

Definition at line 39 of file expmat.cc.

References Chroma::a, Chroma::eesu2(), Chroma::eesu3(), Chroma::eeu1(), Chroma::END_CODE(), Chroma::EXP_EXACT, Chroma::EXP_TWELFTH_ORDER, Chroma::expm12(), Chroma::expsu3(), Chroma::REUNITARIZE_LABEL, Chroma::START_CODE(), and Chroma::ExpMatEnv::time_spent.

Referenced by Chroma::LCMMDIntegratorSteps::leapQ(), and main().

◆ gaugeStartup()

void Chroma::gaugeStartup ( XMLReader &  gauge_file_xml,
XMLReader &  gauge_xml,
multi1d< LatticeColorMatrix > &  u,
Cfg_t cfg 
)

◆ getFs()

void Chroma::Stouting::getFs ( const LatticeColorMatrix &  Q,
const LatticeColorMatrix &  QQ,
multi1d< LatticeComplex > &  f 
)

◆ getFsAndBs()

void Chroma::Stouting::getFsAndBs ( const LatticeColorMatrix &  Q,
const LatticeColorMatrix &  QQ,
multi1d< LatticeComplex > &  f,
multi1d< LatticeComplex > &  b1,
multi1d< LatticeComplex > &  b2,
bool  do_bs = true 
)

Given c0 and c1 compute the f-s and b-s.

Only compute b-s if do_bs is set to true (default)

Definition at line 874 of file stout_utils.cc.

References Chroma::END_CODE(), Chroma::StoutLinkTimings::functions_secs, Chroma::Stouting::StoutUtils::getFsAndBsSiteLoop(), and Chroma::START_CODE().

Referenced by Chroma::Stouting::deriv_recurse(), Chroma::Stouting::getFs(), and main().

◆ getQs()

void Chroma::Stouting::getQs ( const multi1d< LatticeColorMatrix > &  u,
LatticeColorMatrix &  Q,
LatticeColorMatrix &  QQ,
int  mu,
const multi1d< bool > &  smear_in_this_dirP,
const multi2d< Real > &  rho 
)

◆ getQsandCs()

void Chroma::Stouting::getQsandCs ( const multi1d< LatticeColorMatrix > &  u,
LatticeColorMatrix &  Q,
LatticeColorMatrix &  QQ,
LatticeColorMatrix &  C,
int  mu,
const multi1d< bool > &  smear_in_this_dirP,
const multi2d< Real > &  rho 
)

Given field U, construct the staples into C, form Q and Q^2 and compute c0 and c1.

Definition at line 105 of file stout_utils.cc.

References BACKWARD, Chroma::BaryonSpinMats::C(), Chroma::END_CODE(), FORWARD, mu, Nd, nu, Chroma::START_CODE(), tmp2, tmp3, Chroma::u, and Chroma::zero.

Referenced by Chroma::Stouting::deriv_recurse(), Chroma::Stouting::getQs(), main(), and Chroma::wilson_flow_one_step().

◆ HotSt()

void Chroma::HotSt ( multi1d< LatticeColorMatrix > &  u)

Set a gauge field from a sample of (almost) Haar measure.

u = exp(A), where A = random traceless antihermitian matrix.

Arguments:

Parameters
uGauge field (Write)

NOTE!!!!: we are using a hack. The twelth_order exponentiation followed by a reunitarization should be replace by an exact exponentiation. So, the gauge field distriubution is NOT from Haar measure, but if someone can think of a really good reason why it should be Haar measure, then something can be done about it.

Definition at line 34 of file hotst.cc.

References Chroma::END_CODE(), Chroma::expm12(), Chroma::gaussian(), mu, Nd, Chroma::reunit(), Chroma::START_CODE(), Chroma::taproj(), and Chroma::u.

Referenced by Chroma::gaugeStartup(), main(), and Chroma::DisorderedGaugeInitEnv::GaugeIniter::operator()().

◆ instanton()

void Chroma::instanton ( multi1d< LatticeColorMatrix > &  u_inst,
const multi1d< Real > &  center,
Real  rho,
int  su2_index,
int  sign 
)

Instanton construction.

Arguments:

Parameters
u_instGauge field (Write)
centerlocation of instanton center ( Read )
rhosize of instanton ( Read )
su2_indexSU(2) subgroup index ( Read )
signinstanton (1) or anti-instanton ( Read )

Definition at line 18 of file instanton.cc.

References Chroma::a, Chroma::cb, copymask(), Chroma::END_CODE(), ftmp2, itmp, mu, Nd, Chroma::PLUS, Chroma::QDP_error_exit(), Chroma::START_CODE(), su2_index, Chroma::sunFill(), tmp2, and Chroma::zero.

Referenced by main().

◆ read() [1/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
CERNGaugeInitEnv::Params param 
)

Reader.

Definition at line 17 of file cern_gauge_init.cc.

References Chroma::tmp.

◆ read() [2/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
CPPACSGaugeInitEnv::Params param 
)

Reader.

Definition at line 15 of file cppacs_gauge_init.cc.

References Chroma::tmp.

◆ read() [3/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
KYUGaugeInitEnv::Params param 
)

Reader.

Definition at line 15 of file kyu_gauge_init.cc.

References Chroma::tmp.

◆ read() [4/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
MILCGaugeInitEnv::Params param 
)

Reader.

Definition at line 15 of file milc_gauge_init.cc.

References Chroma::tmp.

◆ read() [5/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
NERSCGaugeInitEnv::Params param 
)

Reader.

Definition at line 15 of file nersc_gauge_init.cc.

References Chroma::tmp.

◆ read() [6/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
SFGaugeInitEnv::Params param 
)

Reader.

Definition at line 18 of file sf_gauge_init.cc.

References Chroma::tmp.

◆ read() [7/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
SZINGaugeInitEnv::Params param 
)

Reader.

Definition at line 15 of file szin_gauge_init.cc.

References Chroma::tmp.

◆ read() [8/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
SZINQIOGaugeInitEnv::Params param 
)

Reader.

Definition at line 16 of file szinqio_gauge_init.cc.

References Chroma::tmp.

◆ read() [9/9]

void Chroma::read ( XMLReader &  xml,
const std::string &  path,
WUPPGaugeInitEnv::Params param 
)

Reader.

Definition at line 15 of file wupp_gauge_init.cc.

References Chroma::tmp.

◆ rgauge() [1/2]

void Chroma::rgauge ( multi1d< LatticeColorMatrix > &  u)

Do a random gauge transformation on the u fields.

Convenience function: does not return gauge transformation matrices

Arguments:

Parameters
uGauge field (Modify)

Definition at line 63 of file rgauge.cc.

References Chroma::END_CODE(), Chroma::rgauge(), Chroma::START_CODE(), and Chroma::u.

◆ rgauge() [2/2]

void Chroma::rgauge ( multi1d< LatticeColorMatrix > &  u,
LatticeColorMatrix &  g 
)

Do a random gauge transformation on the u fields.

Arguments:

Parameters
uGauge field (Modify)
gGauge transformation matrices (Write)

Definition at line 24 of file rgauge.cc.

References Chroma::END_CODE(), Chroma::expm12(), FORWARD, Chroma::gaussian(), mu, Nd, Chroma::reunit(), Chroma::START_CODE(), Chroma::taproj(), and Chroma::u.

Referenced by main(), Chroma::InlineRandomTransfGaugeEnv::InlineMeas::operator()(), and Chroma::rgauge().

◆ shift2()

LatticeColorMatrix Chroma::shift2 ( const LatticeColorMatrix &  s1,
int  isign,
int  dir,
int  level 
)

A simple not-fancy power of 2 shift.

Definition at line 13 of file shift2.cc.

References Chroma::d, Chroma::END_CODE(), Chroma::isign, Chroma::START_CODE(), and Chroma::tmp.

Referenced by Chroma::APE_Smear(), Chroma::block(), Chroma::gluecor(), and Chroma::polycor().

◆ smear_links()

void Chroma::Stouting::smear_links ( const multi1d< LatticeColorMatrix > &  current,
multi1d< LatticeColorMatrix > &  next,
const multi1d< bool > &  smear_in_this_dirP,
const multi2d< Real > &  rho 
)

◆ stout_smear()

void Chroma::Stouting::stout_smear ( LatticeColorMatrix &  next,
const multi1d< LatticeColorMatrix > &  current,
int  mu,
const multi1d< bool > &  smear_in_this_dirP,
const multi2d< Real > &  rho 
)

Stout smear in a specific link direction.

Definition at line 970 of file stout_utils.cc.

References Chroma::END_CODE(), Chroma::Stouting::getFs(), Chroma::Stouting::getQs(), mu, and Chroma::START_CODE().

Referenced by main().

◆ su2Extract()

void Chroma::su2Extract ( multi1d< LatticeReal > &  r,
const LatticeColorMatrix &  source,
int  su2_index,
const Subset &  s 
)

Su2_extract: r_0,r_1,r_2,r_3 <- source(su2_index) [SU(N) field] under a subset.

Extract components r_k proportional to SU(2) submatrix su2_index from the "SU(Nc)" matrix V. The SU(2) matrix is parametrized in the sigma matrix basis.

There are Nc*(Nc-1)/2 unique SU(2) submatrices in an SU(Nc) matrix. The user does not need to know exactly which one is which, just that they are unique.

Arguments:

Parameters
rsu(2) matrix represented in the O(4) rep. - an array of LatticeReal
sourceextract the su2 matrix from this su(n) gauge field
su2_indexint lying in [0, Nc*(Nc-1)/2)
ssubset for operations (Read)

Definition at line 86 of file su2extract.cc.

References Chroma::r, Chroma::s(), su2_index, and Chroma::su2Extract_t().

Referenced by Chroma::eesu2(), Chroma::grelax(), Chroma::su2_hb_update(), Chroma::su3hb(), Chroma::su3over(), and Chroma::su3proj_t().

◆ su2Extract_t()

template<typename S >
void Chroma::su2Extract_t ( multi1d< LatticeReal > &  r,
const LatticeColorMatrix &  source,
int  su2_index,
const S &  s 
)
inline

Su2_extract: r_0,r_1,r_2,r_3 <- source(su2_index) [SU(N) field] under a subset.

Extract components r_k proportional to SU(2) submatrix su2_index from the "SU(Nc)" matrix V. The SU(2) matrix is parametrized in the sigma matrix basis.

There are Nc*(Nc-1)/2 unique SU(2) submatrices in an SU(Nc) matrix. The user does not need to know exactly which one is which, just that they are unique.

Arguments:

Parameters
rsu(2) matrix represented in the O(4) rep. - an array of LatticeReal
sourceextract the su2 matrix from this su(n) gauge field
su2_indexint lying in [0, Nc*(Nc-1)/2)
ssubset for operations (Read)

Definition at line 34 of file su2extract.cc.

References Chroma::END_CODE(), index, Chroma::r, Chroma::s(), Chroma::START_CODE(), and su2_index.

Referenced by Chroma::su2Extract().

◆ sunFill()

void Chroma::sunFill ( LatticeColorMatrix &  dest,
const multi1d< LatticeReal > &  r,
int  su2_index,
const Subset &  s 
)

Fill a dest(su2_index) <- r_0,r_1,r_2,r_3 under a subset.

Fill an SU(Nc) matrix V with the SU(2) submatrix su2_index paramtrized by b_k in the sigma matrix basis.

Fill in B from B_SU(2) = b0 + i sum_k bk sigma_k

There are Nc*(Nc-1)/2 unique SU(2) submatrices in an SU(Nc) matrix. The user does not need to know exactly which one is which, just that they are unique.

Arguments:

Parameters
destsu(n) matrix
rsu2 matrix represented in the O(4) rep. - an array of LatticeReal
su2_indexint lying in [0, Nc*(Nc-1)/2)
ssubset for operations (Read)

Definition at line 33 of file sunfill.cc.

References Chroma::END_CODE(), index, Chroma::r, Chroma::s(), Chroma::START_CODE(), and su2_index.

Referenced by Chroma::eesu2(), Chroma::grelax(), Chroma::instanton(), Chroma::rot_colvec(), Chroma::su2_hb_update(), Chroma::su3hb(), Chroma::su3over(), Chroma::su3proj_t(), and Chroma::weakField().

◆ taproj()

void Chroma::taproj ( LatticeColorMatrix &  a)

Take the traceless antihermitian projection of a color matrix.

a = (1/2)[a - a_dag] - Tr[(1/2)*(a - a_dag)]/Nc

that is the anti-hermitian traceless part of a

Arguments:

Parameters
aLatticeColorMatrix (Modify)

Definition at line 31 of file taproj.cc.

References Chroma::a, Chroma::aux, Chroma::aux_1, Chroma::END_CODE(), Chroma::START_CODE(), Chroma::TaprojEnv::time_spent, and Chroma::tmp.

Referenced by Chroma::forceMonitorCalc(), Chroma::InlineGlueballOpsEnv::InlineMeas::func(), Chroma::InlineSpectrum::func(), Chroma::Hex_Smear_onestepp(), Chroma::HotSt(), Chroma::LCMMDIntegratorSteps::leapP(), main(), Chroma::ConstLatColMatHMCTrj::refreshP(), Chroma::LatColMatHMCTrj::refreshP(), and Chroma::rgauge().

◆ unitarityCheck()

void Chroma::unitarityCheck ( const multi1d< LatticeColorMatrixF3 > &  u)

Check the unitarity of color matrix in SU(N)

Parameters
uThe LatticeColorMatrix to be tested
uThe multi1d<LatticeColorMatrix> to be tested

Definition at line 20 of file unit_check.cc.

References Chroma::END_CODE(), mu, Nd, numbad, Chroma::reunit(), Chroma::REUNITARIZE_ERROR, Chroma::START_CODE(), and Chroma::u.

Referenced by main(), Chroma::InlineCoulGaugeEnv::InlineMeas::operator()(), and Chroma::InlineLinkSmearEnv::InlineMeas::operator()().

◆ weakField()

void Chroma::weakField ( multi1d< LatticeColorMatrix > &  u)

Construct a weak field.

Make a gauge field close to free field - e.g., small fluctations

Arguments:

Parameters
uGauge field (Modify)

Arguments:

Parameters
uGauge field (Modify)

Definition at line 22 of file weak_field.cc.

References Chroma::a, Chroma::END_CODE(), mu, Nd, Chroma::START_CODE(), su2_index, Chroma::sunFill(), Chroma::twopi, and Chroma::u.

Referenced by Chroma::gaugeStartup(), and Chroma::WeakGaugeInitEnv::GaugeIniter::operator()().

◆ write() [1/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const CERNGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 24 of file cern_gauge_init.cc.

References Chroma::CERNGaugeInitEnv::Params::writeXML().

◆ write() [2/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const CPPACSGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 22 of file cppacs_gauge_init.cc.

References Chroma::CPPACSGaugeInitEnv::Params::writeXML().

◆ write() [3/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const KYUGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 22 of file kyu_gauge_init.cc.

References Chroma::KYUGaugeInitEnv::Params::writeXML().

◆ write() [4/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const MILCGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 22 of file milc_gauge_init.cc.

References Chroma::MILCGaugeInitEnv::Params::writeXML().

◆ write() [5/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const NERSCGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 22 of file nersc_gauge_init.cc.

References Chroma::NERSCGaugeInitEnv::Params::writeXML().

◆ write() [6/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const SFGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 25 of file sf_gauge_init.cc.

References Chroma::SFGaugeInitEnv::Params::writeXML().

◆ write() [7/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const SZINGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 22 of file szin_gauge_init.cc.

References Chroma::SZINGaugeInitEnv::Params::writeXML().

◆ write() [8/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const SZINQIOGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 23 of file szinqio_gauge_init.cc.

References Chroma::SZINQIOGaugeInitEnv::Params::writeXML().

◆ write() [9/9]

void Chroma::write ( XMLWriter &  xml,
const std::string &  path,
const WUPPGaugeInitEnv::Params param 
)

Parameters for running code.

Writer.

Definition at line 22 of file wupp_gauge_init.cc.

References Chroma::WUPPGaugeInitEnv::Params::writeXML().