Grid 0.7.0
GaugeGroup.h File Reference

Go to the source code of this file.

Data Structures

class  GroupName::SU
class  GroupName::Sp
struct  is_su< group_name >
struct  is_su< GroupName::SU >
struct  is_sp< group_name >
struct  is_sp< GroupName::Sp >
class  GaugeGroup< ncolour, group_name >

Namespaces

namespace  GroupName

Macros

#define ONLY_IF_SU
#define ONLY_IF_Sp

Typedefs

template<int ncolour>
using SU
template<int ncolour>
using Sp
typedef SU< 2 > SU2
typedef SU< 3 > SU3
typedef SU< 4 > SU4
typedef SU< 5 > SU5
typedef SU< NcFundamentalMatrices
typedef Sp< 2 > Sp2
typedef Sp< 4 > Sp4
typedef Sp< 6 > Sp6
typedef Sp< 8 > Sp8

Functions

 NAMESPACE_BEGIN (Grid)
template<typename group_name>
constexpr int compute_adjoint_dimension (int ncolour)
template<>
constexpr int compute_adjoint_dimension< GroupName::SU > (int ncolour)
template<>
constexpr int compute_adjoint_dimension< GroupName::Sp > (int ncolour)
template<int N, class vComplex_t>
static void ProjectSUn (Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > &Umu)
template<int N, class vComplex_t>
static void ProjectSUn (Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > &U)
template<int N, class vComplex_t>
static void ProjectSpn (Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > &Umu)
template<int N, class vComplex_t>
static void ProjectSpn (Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > &U)
static void ProjectSU3 (Lattice< iScalar< iScalar< iMatrix< vComplexD, 3 > > > > &Umu)
static void ProjectSU3 (Lattice< iVector< iScalar< iMatrix< vComplexD, 3 > >, Nd > > &U)
 NAMESPACE_END (Grid)

Macro Definition Documentation

◆ ONLY_IF_SU

#define ONLY_IF_SU

Definition at line 37 of file GaugeGroup.h.

◆ ONLY_IF_Sp

#define ONLY_IF_Sp

Definition at line 43 of file GaugeGroup.h.

Typedef Documentation

◆ SU

template<int ncolour>
using SU

Definition at line 453 of file GaugeGroup.h.

◆ Sp

template<int ncolour>
using Sp

Definition at line 456 of file GaugeGroup.h.

◆ SU2

typedef SU<2> SU2

Definition at line 458 of file GaugeGroup.h.

◆ SU3

typedef SU<3> SU3

Definition at line 459 of file GaugeGroup.h.

◆ SU4

typedef SU<4> SU4

Definition at line 460 of file GaugeGroup.h.

◆ SU5

typedef SU<5> SU5

Definition at line 461 of file GaugeGroup.h.

◆ FundamentalMatrices

Definition at line 463 of file GaugeGroup.h.

◆ Sp2

typedef Sp<2> Sp2

Definition at line 465 of file GaugeGroup.h.

◆ Sp4

typedef Sp<4> Sp4

Definition at line 466 of file GaugeGroup.h.

◆ Sp6

typedef Sp<6> Sp6

Definition at line 467 of file GaugeGroup.h.

◆ Sp8

typedef Sp<8> Sp8

Definition at line 468 of file GaugeGroup.h.

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ compute_adjoint_dimension()

template<typename group_name>
int compute_adjoint_dimension ( int ncolour)
constexpr

◆ compute_adjoint_dimension< GroupName::SU >()

template<>
int compute_adjoint_dimension< GroupName::SU > ( int ncolour)
constexpr

Definition at line 79 of file GaugeGroup.h.

◆ compute_adjoint_dimension< GroupName::Sp >()

template<>
int compute_adjoint_dimension< GroupName::Sp > ( int ncolour)
constexpr

Definition at line 84 of file GaugeGroup.h.

◆ ProjectSUn() [1/2]

template<int N, class vComplex_t>
void ProjectSUn ( Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > & Umu)
static

◆ ProjectSUn() [2/2]

template<int N, class vComplex_t>
void ProjectSUn ( Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > & U)
static

Definition at line 477 of file GaugeGroup.h.

References Nd, GaugeGroup< ncolour, group_name >::ProjectOnSpecialGroup(), and U.

◆ ProjectSpn() [1/2]

template<int N, class vComplex_t>
void ProjectSpn ( Lattice< iScalar< iScalar< iMatrix< vComplex_t, N > > > > & Umu)
static

◆ ProjectSpn() [2/2]

template<int N, class vComplex_t>
void ProjectSpn ( Lattice< iVector< iScalar< iMatrix< vComplex_t, N > >, Nd > > & U)
static

Definition at line 489 of file GaugeGroup.h.

References Nd, GaugeGroup< ncolour, group_name >::ProjectOnSpecialGroup(), and U.

◆ ProjectSU3() [1/2]

void ProjectSU3 ( Lattice< iScalar< iScalar< iMatrix< vComplexD, 3 > > > > & Umu)
static

Definition at line 495 of file GaugeGroup.h.

References autoView, CpuWrite, GridBase::oSites(), ProjectOnGroup(), and thread_for.

◆ ProjectSU3() [2/2]

void ProjectSU3 ( Lattice< iVector< iScalar< iMatrix< vComplexD, 3 > >, Nd > > & U)
static

Definition at line 515 of file GaugeGroup.h.

References Nd, and U.

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )