Grid 0.7.0
GaugeGroup< ncolour, group_name > Class Template Reference

#include <GaugeGroup.h>

Inheritance diagram for GaugeGroup< ncolour, group_name >:
LatticeTwoIndexMatrix< ncolour, S, group_name > LatticeTwoIndexField< ncolour, S, group_name > GaugeGroupTwoIndex< ncolour, S, group_name >

Public Types

template<typename vtype>
using iSU2Matrix
template<typename vtype>
using iGroupMatrix
template<typename vtype>
using iAlgebraVector
template<typename vtype>
using iSUnAlgebraMatrix
typedef iGroupMatrix< ComplexMatrix
typedef iGroupMatrix< ComplexFMatrixF
typedef iGroupMatrix< ComplexDMatrixD
typedef iGroupMatrix< vComplexvMatrix
typedef iGroupMatrix< vComplexFvMatrixF
typedef iGroupMatrix< vComplexDvMatrixD
typedef iAlgebraVector< ComplexAlgebraVector
typedef iAlgebraVector< ComplexFAlgebraVectorF
typedef iAlgebraVector< ComplexDAlgebraVectorD
typedef iAlgebraVector< vComplexvAlgebraVector
typedef iAlgebraVector< vComplexFvAlgebraVectorF
typedef iAlgebraVector< vComplexDvAlgebraVectorD
typedef Lattice< vMatrixLatticeMatrix
typedef Lattice< vMatrixFLatticeMatrixF
typedef Lattice< vMatrixDLatticeMatrixD
typedef Lattice< vAlgebraVectorLatticeAlgebraVector
typedef Lattice< vAlgebraVectorFLatticeAlgebraVectorF
typedef Lattice< vAlgebraVectorDLatticeAlgebraVectorD
typedef iSUnAlgebraMatrix< vComplexvAlgebraMatrix
typedef iSUnAlgebraMatrix< vComplexFvAlgebraMatrixF
typedef iSUnAlgebraMatrix< vComplexDvAlgebraMatrixD
typedef Lattice< vAlgebraMatrixLatticeAlgebraMatrix
typedef Lattice< vAlgebraMatrixFLatticeAlgebraMatrixF
typedef Lattice< vAlgebraMatrixDLatticeAlgebraMatrixD
typedef iSU2Matrix< ComplexSU2Matrix
typedef iSU2Matrix< ComplexFSU2MatrixF
typedef iSU2Matrix< ComplexDSU2MatrixD
typedef iSU2Matrix< vComplexvSU2Matrix
typedef iSU2Matrix< vComplexFvSU2MatrixF
typedef iSU2Matrix< vComplexDvSU2MatrixD
typedef Lattice< vSU2MatrixLatticeSU2Matrix
typedef Lattice< vSU2MatrixFLatticeSU2MatrixF
typedef Lattice< vSU2MatrixDLatticeSU2MatrixD

Static Public Member Functions

static int su2subgroups (void)
template<class vcplx, ONLY_IF_SU>
static void su2Extract (Lattice< iSinglet< vcplx > > &Determinant, Lattice< iSU2Matrix< vcplx > > &subgroup, const Lattice< iGroupMatrix< vcplx > > &source, int su2_index)
template<class vcplx, ONLY_IF_SU>
static void su2Insert (const Lattice< iSU2Matrix< vcplx > > &subgroup, Lattice< iGroupMatrix< vcplx > > &dest, int su2_index)
template<ONLY_IF_SU>
static void SubGroupHeatBath (GridSerialRNG &sRNG, GridParallelRNG &pRNG, RealD beta, LatticeMatrix &link, const LatticeMatrix &barestaple, int su2_subgroup, int nheatbath, LatticeInteger &wheremask)
template<ONLY_IF_SU>
static void testGenerators (GroupName::SU)
template<int N, class vtype>
static Lattice< iScalar< iScalar< iMatrix< vtype, N > > > > ProjectOnGeneralGroup (const Lattice< iScalar< iScalar< iMatrix< vtype, N > > > > &Umu, GroupName::SU)
template<class vtype>
static accelerator_inline iScalar< vtype > ProjectOnGeneralGroup (const iScalar< vtype > &r, GroupName::SU)
template<class vtype, int N>
static accelerator_inline iVector< vtype, N > ProjectOnGeneralGroup (const iVector< vtype, N > &r, GroupName::SU)
template<class vtype, int N, typename std::enable_if< GridTypeMapper< vtype >::TensorLevel==0 >::type * = nullptr>
static accelerator_inline iMatrix< vtype, N > ProjectOnGeneralGroup (const iMatrix< vtype, N > &arg, GroupName::SU)
template<typename LatticeMatrixType>
static void taProj (const LatticeMatrixType &in, LatticeMatrixType &out, GroupName::SU)
template<typename Fundamental, typename GaugeMat>
static void GaugeTransformFundamental (Fundamental &ferm, GaugeMat &g)
template<typename Gimpl>
static void GaugeTransform (typename Gimpl::GaugeField &Umu, typename Gimpl::GaugeLinkField &g)
template<typename Gimpl>
static void GaugeTransform (std::vector< typename Gimpl::GaugeLinkField > &U, typename Gimpl::GaugeLinkField &g)
template<typename Gimpl>
static void RandomGaugeTransform (GridParallelRNG &pRNG, typename Gimpl::GaugeField &Umu, typename Gimpl::GaugeLinkField &g)
template<ONLY_IF_Sp>
static void Omega (LatticeColourMatrixD &in)
template<ONLY_IF_Sp, class vtype, int N>
static void Omega (iScalar< iScalar< iMatrix< vtype, N > > > &in)
template<class cplx>
static void generator (int lieIndex, iGroupMatrix< cplx > &ta)
static accelerator_inline void su2SubGroupIndex (int &i1, int &i2, int su2_index)
static void testGenerators (void)
static void printGenerators (void)
template<typename LatticeMatrixType>
static void LieRandomize (GridParallelRNG &pRNG, LatticeMatrixType &out, double scale=1.0)
static void GaussianFundamentalLieAlgebraMatrix (GridParallelRNG &pRNG, LatticeMatrix &out, Real scale=1.0)
static void FundamentalLieAlgebraMatrix (const LatticeAlgebraVector &h, LatticeMatrix &out, Real scale=1.0)
static void projectOnAlgebra (LatticeAlgebraVector &h_out, const LatticeMatrix &in, Real scale=1.0)
template<class vtype>
static accelerator_inline iScalar< vtype > ProjectOnGeneralGroup (const iScalar< vtype > &r)
template<class vtype, int N>
static accelerator_inline iVector< vtype, N > ProjectOnGeneralGroup (const iVector< vtype, N > &r)
template<class vtype, int N, typename std::enable_if< GridTypeMapper< vtype >::TensorLevel==0 >::type * = nullptr>
static accelerator_inline iMatrix< vtype, N > ProjectOnGeneralGroup (const iMatrix< vtype, N > &arg)
template<int N, class vComplex_t>
static void ProjectOnGeneralGroup (Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > &U)
template<int N, class vComplex_t>
static Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > ProjectOnGeneralGroup (const Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > &Umu)
template<int N, class vComplex_t>
static void ProjectOnSpecialGroup (Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > &Umu)
template<int N, class vComplex_t>
static void ProjectOnSpecialGroup (Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > &U)
template<typename GaugeField>
static void HotConfiguration (GridParallelRNG &pRNG, GaugeField &out)
template<typename GaugeField>
static void TepidConfiguration (GridParallelRNG &pRNG, GaugeField &out)
template<typename GaugeField>
static void ColdConfiguration (GaugeField &out)
template<typename GaugeField>
static void ColdConfiguration (GridParallelRNG &pRNG, GaugeField &out)
template<typename LatticeMatrixType>
static void taProj (const LatticeMatrixType &in, LatticeMatrixType &out)
template<typename LatticeMatrixType>
static void taExp (const LatticeMatrixType &x, LatticeMatrixType &ex)
static void LieAlgebraProject (LatticeAlgebraMatrix &out, const LatticeMatrix &in, int b)

Static Public Attributes

static const int Dimension
static const int AdjointDimension
static const int AlgebraDimension

Static Private Member Functions

template<ONLY_IF_SU>
static int su2subgroups (GroupName::SU)
template<class cplx, ONLY_IF_SU>
static void generator (int lieIndex, iGroupMatrix< cplx > &ta, GroupName::SU)
template<class cplx, ONLY_IF_SU>
static void generatorSigmaY (int su2Index, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_SU>
static void generatorSigmaX (int su2Index, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_SU>
static void generatorDiagonal (int diagIndex, iGroupMatrix< cplx > &ta)
static accelerator_inline void su2SubGroupIndex (int &i1, int &i2, int su2_index, GroupName::SU)
template<ONLY_IF_Sp>
static int su2subgroups (GroupName::Sp)
template<class cplx, ONLY_IF_Sp>
static void generator (int lieIndex, iGroupMatrix< cplx > &ta, GroupName::Sp)
template<class cplx, ONLY_IF_Sp>
static void generatorDiagtype (int diagIndex, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_Sp>
static void generatorAtype (int aIndex, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_Sp>
static void generatorBtype (int bIndex, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_Sp>
static void generatorCtype (int cIndex, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_Sp>
static void generatorDtype (int dIndex, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_Sp>
static void generatorWtype (int wIndex, iGroupMatrix< cplx > &ta)
template<class cplx, ONLY_IF_Sp>
static void generatorZtype (int zIndex, iGroupMatrix< cplx > &ta)
template<ONLY_IF_Sp>
static accelerator_inline void su2SubGroupIndex (int &i1, int &i2, int su2_index, GroupName::Sp)
static void testGenerators (GroupName::Sp)
template<int N>
static Lattice< iScalar< iScalar< iMatrix< vComplexD, N > > > > ProjectOnGeneralGroup (const Lattice< iScalar< iScalar< iMatrix< vComplexD, N > > > > &Umu, GroupName::Sp)
template<class vtype>
static accelerator_inline iScalar< vtype > ProjectOnGeneralGroup (const iScalar< vtype > &r, GroupName::Sp)
template<class vtype, int N>
static accelerator_inline iVector< vtype, N > ProjectOnGeneralGroup (const iVector< vtype, N > &r, GroupName::Sp)
template<class vtype, int N, typename std::enable_if< GridTypeMapper< vtype >::TensorLevel==0 >::type * = nullptr>
static accelerator_inline iMatrix< vtype, N > ProjectOnGeneralGroup (const iMatrix< vtype, N > &arg, GroupName::Sp)
template<typename LatticeMatrixType>
static void taProj (const LatticeMatrixType &in, LatticeMatrixType &out, GroupName::Sp)

Detailed Description

template<int ncolour, class group_name>
class GaugeGroup< ncolour, group_name >

Definition at line 89 of file GaugeGroup.h.

Member Typedef Documentation

◆ iSU2Matrix

template<int ncolour, class group_name>
template<typename vtype>
using GaugeGroup< ncolour, group_name >::iSU2Matrix

Definition at line 98 of file GaugeGroup.h.

◆ iGroupMatrix

template<int ncolour, class group_name>
template<typename vtype>
using GaugeGroup< ncolour, group_name >::iGroupMatrix

Definition at line 100 of file GaugeGroup.h.

◆ iAlgebraVector

template<int ncolour, class group_name>
template<typename vtype>
using GaugeGroup< ncolour, group_name >::iAlgebraVector

Definition at line 102 of file GaugeGroup.h.

◆ iSUnAlgebraMatrix

template<int ncolour, class group_name>
template<typename vtype>
using GaugeGroup< ncolour, group_name >::iSUnAlgebraMatrix

Definition at line 104 of file GaugeGroup.h.

◆ Matrix

template<int ncolour, class group_name>
typedef iGroupMatrix<Complex> GaugeGroup< ncolour, group_name >::Matrix

Definition at line 112 of file GaugeGroup.h.

◆ MatrixF

template<int ncolour, class group_name>
typedef iGroupMatrix<ComplexF> GaugeGroup< ncolour, group_name >::MatrixF

Definition at line 113 of file GaugeGroup.h.

◆ MatrixD

template<int ncolour, class group_name>
typedef iGroupMatrix<ComplexD> GaugeGroup< ncolour, group_name >::MatrixD

Definition at line 114 of file GaugeGroup.h.

◆ vMatrix

template<int ncolour, class group_name>
typedef iGroupMatrix<vComplex> GaugeGroup< ncolour, group_name >::vMatrix

Definition at line 116 of file GaugeGroup.h.

◆ vMatrixF

template<int ncolour, class group_name>
typedef iGroupMatrix<vComplexF> GaugeGroup< ncolour, group_name >::vMatrixF

Definition at line 117 of file GaugeGroup.h.

◆ vMatrixD

template<int ncolour, class group_name>
typedef iGroupMatrix<vComplexD> GaugeGroup< ncolour, group_name >::vMatrixD

Definition at line 118 of file GaugeGroup.h.

◆ AlgebraVector

template<int ncolour, class group_name>
typedef iAlgebraVector<Complex> GaugeGroup< ncolour, group_name >::AlgebraVector

Definition at line 123 of file GaugeGroup.h.

◆ AlgebraVectorF

template<int ncolour, class group_name>
typedef iAlgebraVector<ComplexF> GaugeGroup< ncolour, group_name >::AlgebraVectorF

Definition at line 124 of file GaugeGroup.h.

◆ AlgebraVectorD

template<int ncolour, class group_name>
typedef iAlgebraVector<ComplexD> GaugeGroup< ncolour, group_name >::AlgebraVectorD

Definition at line 125 of file GaugeGroup.h.

◆ vAlgebraVector

template<int ncolour, class group_name>
typedef iAlgebraVector<vComplex> GaugeGroup< ncolour, group_name >::vAlgebraVector

Definition at line 127 of file GaugeGroup.h.

◆ vAlgebraVectorF

template<int ncolour, class group_name>
typedef iAlgebraVector<vComplexF> GaugeGroup< ncolour, group_name >::vAlgebraVectorF

Definition at line 128 of file GaugeGroup.h.

◆ vAlgebraVectorD

template<int ncolour, class group_name>
typedef iAlgebraVector<vComplexD> GaugeGroup< ncolour, group_name >::vAlgebraVectorD

Definition at line 129 of file GaugeGroup.h.

◆ LatticeMatrix

template<int ncolour, class group_name>
typedef Lattice<vMatrix> GaugeGroup< ncolour, group_name >::LatticeMatrix

Definition at line 131 of file GaugeGroup.h.

◆ LatticeMatrixF

template<int ncolour, class group_name>
typedef Lattice<vMatrixF> GaugeGroup< ncolour, group_name >::LatticeMatrixF

Definition at line 132 of file GaugeGroup.h.

◆ LatticeMatrixD

template<int ncolour, class group_name>
typedef Lattice<vMatrixD> GaugeGroup< ncolour, group_name >::LatticeMatrixD

Definition at line 133 of file GaugeGroup.h.

◆ LatticeAlgebraVector

template<int ncolour, class group_name>
typedef Lattice<vAlgebraVector> GaugeGroup< ncolour, group_name >::LatticeAlgebraVector

Definition at line 135 of file GaugeGroup.h.

◆ LatticeAlgebraVectorF

template<int ncolour, class group_name>
typedef Lattice<vAlgebraVectorF> GaugeGroup< ncolour, group_name >::LatticeAlgebraVectorF

Definition at line 136 of file GaugeGroup.h.

◆ LatticeAlgebraVectorD

template<int ncolour, class group_name>
typedef Lattice<vAlgebraVectorD> GaugeGroup< ncolour, group_name >::LatticeAlgebraVectorD

Definition at line 137 of file GaugeGroup.h.

◆ vAlgebraMatrix

template<int ncolour, class group_name>
typedef iSUnAlgebraMatrix<vComplex> GaugeGroup< ncolour, group_name >::vAlgebraMatrix

Definition at line 139 of file GaugeGroup.h.

◆ vAlgebraMatrixF

template<int ncolour, class group_name>
typedef iSUnAlgebraMatrix<vComplexF> GaugeGroup< ncolour, group_name >::vAlgebraMatrixF

Definition at line 140 of file GaugeGroup.h.

◆ vAlgebraMatrixD

template<int ncolour, class group_name>
typedef iSUnAlgebraMatrix<vComplexD> GaugeGroup< ncolour, group_name >::vAlgebraMatrixD

Definition at line 141 of file GaugeGroup.h.

◆ LatticeAlgebraMatrix

template<int ncolour, class group_name>
typedef Lattice<vAlgebraMatrix> GaugeGroup< ncolour, group_name >::LatticeAlgebraMatrix

Definition at line 143 of file GaugeGroup.h.

◆ LatticeAlgebraMatrixF

template<int ncolour, class group_name>
typedef Lattice<vAlgebraMatrixF> GaugeGroup< ncolour, group_name >::LatticeAlgebraMatrixF

Definition at line 144 of file GaugeGroup.h.

◆ LatticeAlgebraMatrixD

template<int ncolour, class group_name>
typedef Lattice<vAlgebraMatrixD> GaugeGroup< ncolour, group_name >::LatticeAlgebraMatrixD

Definition at line 145 of file GaugeGroup.h.

◆ SU2Matrix

template<int ncolour, class group_name>
typedef iSU2Matrix<Complex> GaugeGroup< ncolour, group_name >::SU2Matrix

Definition at line 148 of file GaugeGroup.h.

◆ SU2MatrixF

template<int ncolour, class group_name>
typedef iSU2Matrix<ComplexF> GaugeGroup< ncolour, group_name >::SU2MatrixF

Definition at line 149 of file GaugeGroup.h.

◆ SU2MatrixD

template<int ncolour, class group_name>
typedef iSU2Matrix<ComplexD> GaugeGroup< ncolour, group_name >::SU2MatrixD

Definition at line 150 of file GaugeGroup.h.

◆ vSU2Matrix

template<int ncolour, class group_name>
typedef iSU2Matrix<vComplex> GaugeGroup< ncolour, group_name >::vSU2Matrix

Definition at line 152 of file GaugeGroup.h.

◆ vSU2MatrixF

template<int ncolour, class group_name>
typedef iSU2Matrix<vComplexF> GaugeGroup< ncolour, group_name >::vSU2MatrixF

Definition at line 153 of file GaugeGroup.h.

◆ vSU2MatrixD

template<int ncolour, class group_name>
typedef iSU2Matrix<vComplexD> GaugeGroup< ncolour, group_name >::vSU2MatrixD

Definition at line 154 of file GaugeGroup.h.

◆ LatticeSU2Matrix

template<int ncolour, class group_name>
typedef Lattice<vSU2Matrix> GaugeGroup< ncolour, group_name >::LatticeSU2Matrix

Definition at line 156 of file GaugeGroup.h.

◆ LatticeSU2MatrixF

template<int ncolour, class group_name>
typedef Lattice<vSU2MatrixF> GaugeGroup< ncolour, group_name >::LatticeSU2MatrixF

Definition at line 157 of file GaugeGroup.h.

◆ LatticeSU2MatrixD

template<int ncolour, class group_name>
typedef Lattice<vSU2MatrixD> GaugeGroup< ncolour, group_name >::LatticeSU2MatrixD

Definition at line 158 of file GaugeGroup.h.

Member Function Documentation

◆ su2subgroups() [1/3]

template<int ncolour, class group_name>
int GaugeGroup< ncolour, group_name >::su2subgroups ( void )
inlinestatic

Definition at line 106 of file GaugeGroup.h.

Referenced by LatticeMatrix< ncolour, group_name >::su2subgroups().

◆ su2subgroups() [2/3]

template<int ncolour, class group_name>
template<ONLY_IF_SU>
int GaugeGroup< ncolour, group_name >::su2subgroups ( GroupName::SU )
inlinestaticprivate

Definition at line 16 of file GaugeGroup.h.

◆ generator() [1/3]

◆ generatorSigmaY()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::generatorSigmaY ( int su2Index,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 86 of file GaugeGroup.h.

◆ generatorSigmaX()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::generatorSigmaX ( int su2Index,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 96 of file GaugeGroup.h.

◆ generatorDiagonal()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::generatorDiagonal ( int diagIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 107 of file GaugeGroup.h.

◆ su2SubGroupIndex() [1/3]

template<int ncolour, class group_name>
accelerator_inline void GaugeGroup< ncolour, group_name >::su2SubGroupIndex ( int & i1,
int & i2,
int su2_index,
GroupName::SU  )
inlinestaticprivate

◆ su2Extract()

template<int ncolour, class group_name>
template<class vcplx, ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::su2Extract ( Lattice< iSinglet< vcplx > > & Determinant,
Lattice< iSU2Matrix< vcplx > > & subgroup,
const Lattice< iGroupMatrix< vcplx > > & source,
int su2_index )
inlinestatic

Definition at line 137 of file GaugeGroup.h.

◆ su2Insert()

template<int ncolour, class group_name>
template<class vcplx, ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::su2Insert ( const Lattice< iSU2Matrix< vcplx > > & subgroup,
Lattice< iGroupMatrix< vcplx > > & dest,
int su2_index )
inlinestatic

Definition at line 172 of file GaugeGroup.h.

◆ SubGroupHeatBath()

template<int ncolour, class group_name>
template<ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::SubGroupHeatBath ( GridSerialRNG & sRNG,
GridParallelRNG & pRNG,
RealD beta,
LatticeMatrix & link,
const LatticeMatrix & barestaple,
int su2_subgroup,
int nheatbath,
LatticeInteger & wheremask )
inlinestatic

Definition at line 201 of file GaugeGroup.h.

◆ testGenerators() [1/3]

template<int ncolour, class group_name>
template<ONLY_IF_SU>
void GaugeGroup< ncolour, group_name >::testGenerators ( GroupName::SU )
inlinestatic

Definition at line 476 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [1/13]

◆ ProjectOnGeneralGroup() [2/13]

template<int ncolour, class group_name>
template<class vtype>
accelerator_inline iScalar< vtype > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iScalar< vtype > & r,
GroupName::SU  )
inlinestatic

Definition at line 522 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [3/13]

template<int ncolour, class group_name>
template<class vtype, int N>
accelerator_inline iVector< vtype, N > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iVector< vtype, N > & r,
GroupName::SU  )
inlinestatic

Definition at line 527 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [4/13]

template<int ncolour, class group_name>
template<class vtype, int N, typename std::enable_if< GridTypeMapper< vtype >::TensorLevel==0 >::type * = nullptr>
accelerator_inline iMatrix< vtype, N > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iMatrix< vtype, N > & arg,
GroupName::SU  )
inlinestatic

Definition at line 532 of file GaugeGroup.h.

◆ taProj() [1/3]

template<int ncolour, class group_name>
template<typename LatticeMatrixType>
void GaugeGroup< ncolour, group_name >::taProj ( const LatticeMatrixType & in,
LatticeMatrixType & out,
GroupName::SU  )
inlinestatic

Definition at line 537 of file GaugeGroup.h.

Referenced by LatticeMatrix< ncolour, group_name >::taProj().

◆ GaugeTransformFundamental()

template<int ncolour, class group_name>
template<typename Fundamental, typename GaugeMat>
void GaugeGroup< ncolour, group_name >::GaugeTransformFundamental ( Fundamental & ferm,
GaugeMat & g )
inlinestatic

Definition at line 545 of file GaugeGroup.h.

◆ GaugeTransform() [1/2]

template<int ncolour, class group_name>
template<typename Gimpl>
void GaugeGroup< ncolour, group_name >::GaugeTransform ( typename Gimpl::GaugeField & Umu,
typename Gimpl::GaugeLinkField & g )
inlinestatic

Definition at line 555 of file GaugeGroup.h.

◆ GaugeTransform() [2/2]

template<int ncolour, class group_name>
template<typename Gimpl>
void GaugeGroup< ncolour, group_name >::GaugeTransform ( std::vector< typename Gimpl::GaugeLinkField > & U,
typename Gimpl::GaugeLinkField & g )
inlinestatic

Definition at line 569 of file GaugeGroup.h.

◆ RandomGaugeTransform()

template<int ncolour, class group_name>
template<typename Gimpl>
void GaugeGroup< ncolour, group_name >::RandomGaugeTransform ( GridParallelRNG & pRNG,
typename Gimpl::GaugeField & Umu,
typename Gimpl::GaugeLinkField & g )
inlinestatic

Definition at line 577 of file GaugeGroup.h.

◆ su2subgroups() [3/3]

template<int ncolour, class group_name>
template<ONLY_IF_Sp>
int GaugeGroup< ncolour, group_name >::su2subgroups ( GroupName::Sp )
inlinestaticprivate

Definition at line 15 of file GaugeGroup.h.

◆ generator() [2/3]

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generator ( int lieIndex,
iGroupMatrix< cplx > & ta,
GroupName::Sp  )
inlinestaticprivate

Definition at line 28 of file GaugeGroup.h.

◆ generatorDiagtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorDiagtype ( int diagIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 91 of file GaugeGroup.h.

◆ generatorAtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorAtype ( int aIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 103 of file GaugeGroup.h.

◆ generatorBtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorBtype ( int bIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 122 of file GaugeGroup.h.

◆ generatorCtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorCtype ( int cIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 143 of file GaugeGroup.h.

◆ generatorDtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorDtype ( int dIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 161 of file GaugeGroup.h.

◆ generatorWtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorWtype ( int wIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 180 of file GaugeGroup.h.

◆ generatorZtype()

template<int ncolour, class group_name>
template<class cplx, ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::generatorZtype ( int zIndex,
iGroupMatrix< cplx > & ta )
inlinestaticprivate

Definition at line 194 of file GaugeGroup.h.

◆ su2SubGroupIndex() [2/3]

template<int ncolour, class group_name>
template<ONLY_IF_Sp>
accelerator_inline void GaugeGroup< ncolour, group_name >::su2SubGroupIndex ( int & i1,
int & i2,
int su2_index,
GroupName::Sp  )
inlinestaticprivate

Definition at line 211 of file GaugeGroup.h.

◆ testGenerators() [2/3]

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::testGenerators ( GroupName::Sp )
inlinestaticprivate

Definition at line 222 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [5/13]

template<int ncolour, class group_name>
template<int N>
Lattice< iScalar< iScalar< iMatrix< vComplexD, N > > > > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const Lattice< iScalar< iScalar< iMatrix< vComplexD, N > > > > & Umu,
GroupName::Sp  )
inlinestaticprivate

Definition at line 260 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [6/13]

template<int ncolour, class group_name>
template<class vtype>
accelerator_inline iScalar< vtype > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iScalar< vtype > & r,
GroupName::Sp  )
inlinestaticprivate

Definition at line 265 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [7/13]

template<int ncolour, class group_name>
template<class vtype, int N>
accelerator_inline iVector< vtype, N > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iVector< vtype, N > & r,
GroupName::Sp  )
inlinestaticprivate

Definition at line 270 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [8/13]

template<int ncolour, class group_name>
template<class vtype, int N, typename std::enable_if< GridTypeMapper< vtype >::TensorLevel==0 >::type * = nullptr>
accelerator_inline iMatrix< vtype, N > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iMatrix< vtype, N > & arg,
GroupName::Sp  )
inlinestaticprivate

Definition at line 275 of file GaugeGroup.h.

◆ taProj() [2/3]

template<int ncolour, class group_name>
template<typename LatticeMatrixType>
void GaugeGroup< ncolour, group_name >::taProj ( const LatticeMatrixType & in,
LatticeMatrixType & out,
GroupName::Sp  )
inlinestaticprivate

Definition at line 280 of file GaugeGroup.h.

◆ Omega() [1/2]

template<int ncolour, class group_name>
template<ONLY_IF_Sp>
void GaugeGroup< ncolour, group_name >::Omega ( LatticeColourMatrixD & in)
inlinestatic

Definition at line 287 of file GaugeGroup.h.

◆ Omega() [2/2]

template<int ncolour, class group_name>
template<ONLY_IF_Sp, class vtype, int N>
void GaugeGroup< ncolour, group_name >::Omega ( iScalar< iScalar< iMatrix< vtype, N > > > & in)
inlinestatic

Definition at line 306 of file GaugeGroup.h.

◆ generator() [3/3]

template<int ncolour, class group_name>
template<class cplx>
void GaugeGroup< ncolour, group_name >::generator ( int lieIndex,
iGroupMatrix< cplx > & ta )
inlinestatic

Definition at line 171 of file GaugeGroup.h.

◆ su2SubGroupIndex() [3/3]

template<int ncolour, class group_name>
accelerator_inline void GaugeGroup< ncolour, group_name >::su2SubGroupIndex ( int & i1,
int & i2,
int su2_index )
inlinestatic

Definition at line 175 of file GaugeGroup.h.

◆ testGenerators() [3/3]

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::testGenerators ( void )
inlinestatic

Definition at line 179 of file GaugeGroup.h.

Referenced by LatticeMatrix< ncolour, group_name >::testGenerators().

◆ printGenerators()

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::printGenerators ( void )
inlinestatic

Definition at line 181 of file GaugeGroup.h.

◆ LieRandomize()

template<int ncolour, class group_name>
template<typename LatticeMatrixType>
void GaugeGroup< ncolour, group_name >::LieRandomize ( GridParallelRNG & pRNG,
LatticeMatrixType & out,
double scale = 1.0 )
inlinestatic

◆ GaussianFundamentalLieAlgebraMatrix()

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::GaussianFundamentalLieAlgebraMatrix ( GridParallelRNG & pRNG,
LatticeMatrix & out,
Real scale = 1.0 )
inlinestatic

Definition at line 227 of file GaugeGroup.h.

◆ FundamentalLieAlgebraMatrix()

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::FundamentalLieAlgebraMatrix ( const LatticeAlgebraVector & h,
LatticeMatrix & out,
Real scale = 1.0 )
inlinestatic

◆ projectOnAlgebra()

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::projectOnAlgebra ( LatticeAlgebraVector & h_out,
const LatticeMatrix & in,
Real scale = 1.0 )
inlinestatic

Definition at line 264 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [9/13]

template<int ncolour, class group_name>
template<class vtype>
accelerator_inline iScalar< vtype > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iScalar< vtype > & r)
inlinestatic

Definition at line 278 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [10/13]

template<int ncolour, class group_name>
template<class vtype, int N>
accelerator_inline iVector< vtype, N > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iVector< vtype, N > & r)
inlinestatic

Definition at line 283 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [11/13]

template<int ncolour, class group_name>
template<class vtype, int N, typename std::enable_if< GridTypeMapper< vtype >::TensorLevel==0 >::type * = nullptr>
accelerator_inline iMatrix< vtype, N > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const iMatrix< vtype, N > & arg)
inlinestatic

Definition at line 288 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [12/13]

template<int ncolour, class group_name>
template<int N, class vComplex_t>
void GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > & U)
inlinestatic

Definition at line 293 of file GaugeGroup.h.

◆ ProjectOnGeneralGroup() [13/13]

template<int ncolour, class group_name>
template<int N, class vComplex_t>
Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > GaugeGroup< ncolour, group_name >::ProjectOnGeneralGroup ( const Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > & Umu)
inlinestatic

Definition at line 303 of file GaugeGroup.h.

◆ ProjectOnSpecialGroup() [1/2]

template<int ncolour, class group_name>
template<int N, class vComplex_t>
void GaugeGroup< ncolour, group_name >::ProjectOnSpecialGroup ( Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > & Umu)
inlinestatic

◆ ProjectOnSpecialGroup() [2/2]

template<int ncolour, class group_name>
template<int N, class vComplex_t>
void GaugeGroup< ncolour, group_name >::ProjectOnSpecialGroup ( Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > & U)
inlinestatic

Definition at line 322 of file GaugeGroup.h.

◆ HotConfiguration()

template<int ncolour, class group_name>
template<typename GaugeField>
void GaugeGroup< ncolour, group_name >::HotConfiguration ( GridParallelRNG & pRNG,
GaugeField & out )
inlinestatic

Definition at line 332 of file GaugeGroup.h.

◆ TepidConfiguration()

template<int ncolour, class group_name>
template<typename GaugeField>
void GaugeGroup< ncolour, group_name >::TepidConfiguration ( GridParallelRNG & pRNG,
GaugeField & out )
inlinestatic

Definition at line 351 of file GaugeGroup.h.

◆ ColdConfiguration() [1/2]

template<int ncolour, class group_name>
template<typename GaugeField>
void GaugeGroup< ncolour, group_name >::ColdConfiguration ( GaugeField & out)
inlinestatic

◆ ColdConfiguration() [2/2]

template<int ncolour, class group_name>
template<typename GaugeField>
void GaugeGroup< ncolour, group_name >::ColdConfiguration ( GridParallelRNG & pRNG,
GaugeField & out )
inlinestatic

Definition at line 377 of file GaugeGroup.h.

◆ taProj() [3/3]

template<int ncolour, class group_name>
template<typename LatticeMatrixType>
void GaugeGroup< ncolour, group_name >::taProj ( const LatticeMatrixType & in,
LatticeMatrixType & out )
inlinestatic

Definition at line 382 of file GaugeGroup.h.

◆ taExp()

template<int ncolour, class group_name>
template<typename LatticeMatrixType>
void GaugeGroup< ncolour, group_name >::taExp ( const LatticeMatrixType & x,
LatticeMatrixType & ex )
inlinestatic

◆ LieAlgebraProject()

template<int ncolour, class group_name>
void GaugeGroup< ncolour, group_name >::LieAlgebraProject ( LatticeAlgebraMatrix & out,
const LatticeMatrix & in,
int b )
inlinestatic

Definition at line 406 of file GaugeGroup.h.

Field Documentation

◆ Dimension

template<int ncolour, class group_name>
const int GaugeGroup< ncolour, group_name >::Dimension
static

Definition at line 91 of file GaugeGroup.h.

◆ AdjointDimension

template<int ncolour, class group_name>
const int GaugeGroup< ncolour, group_name >::AdjointDimension
static

Definition at line 92 of file GaugeGroup.h.

◆ AlgebraDimension

template<int ncolour, class group_name>
const int GaugeGroup< ncolour, group_name >::AlgebraDimension
static

Definition at line 94 of file GaugeGroup.h.


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