mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-21 01:02:02 +01:00
Merge in Alessandro's changes [test fails]
This commit is contained in:
@ -303,7 +303,6 @@ class GaugeGroup {
|
||||
template <typename LatticeMatrixType>
|
||||
static void taProj(const LatticeMatrixType &in, LatticeMatrixType &out) {
|
||||
taProj(in, out, group_name());
|
||||
//out = Ta(in);
|
||||
}
|
||||
|
||||
template <typename LatticeMatrixType>
|
||||
@ -337,32 +336,20 @@ class GaugeGroup {
|
||||
ProjectOnGaugeGroup(Umu, group_name());
|
||||
}
|
||||
|
||||
template <class vtype>
|
||||
static void ProjectOnGaugeGroup(iScalar<vtype> &r) {
|
||||
template <class vtype>
|
||||
static void ProjectOnGaugeGroup(iScalar<vtype> &r) {
|
||||
ProjectOnGaugeGroup(r, group_name());
|
||||
}
|
||||
|
||||
template <class vtype, int N>
|
||||
static void ProjectOnGaugeGroup(iVector<vtype,N> &r) {
|
||||
r = ProjectOnGaugeGroup(r, group_name());
|
||||
}
|
||||
|
||||
template <class vtype,int N, typename std::enable_if< GridTypeMapper<vtype>::TensorLevel == 0 >::type * =nullptr>
|
||||
static void ProjectOnGaugeGroup(iMatrix<vtype,N> &arg) {
|
||||
arg = ProjectOnGaugeGroup(arg, group_name());
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
template <int N> // reunitarise, resimplectify...
|
||||
static void ProjectOnGaugeGroup(iVector<iScalar<iMatrix<vComplexD, N> >, Nd> &U) {
|
||||
ProjectOnGaugeGroup(U, group_name());
|
||||
}
|
||||
|
||||
template <int N> // reunitarise, resimplectify...
|
||||
static void ProjectOnGaugeGroup(iScalar<iScalar<iMatrix<vComplexD, N> > > &Umu) {
|
||||
ProjectOnGaugeGroup(Umu, group_name());
|
||||
}*/
|
||||
|
||||
template <class vtype, int N>
|
||||
static void ProjectOnGaugeGroup(iVector<vtype,N> &r) {
|
||||
ProjectOnGaugeGroup(r, group_name());
|
||||
}
|
||||
|
||||
template <class vtype,int N, typename std::enable_if< GridTypeMapper<vtype>::TensorLevel == 0 >::type * =nullptr>
|
||||
static void ProjectOnGaugeGroup(iMatrix<vtype,N> &arg) {
|
||||
ProjectOnGaugeGroup(arg, group_name());
|
||||
}
|
||||
|
||||
template <int N> // reunitarise, resimplectify... previously ProjectSUn
|
||||
static void ProjectGn(Lattice<iScalar<iScalar<iMatrix<vComplexD, N> > > > &Umu) {
|
||||
@ -416,7 +403,6 @@ LatticeComplexD Determinant(
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
template <int N>
|
||||
static void ProjectSUn(
|
||||
Lattice<iScalar<iScalar<iMatrix<vComplexD, N> > > > &Umu) {
|
||||
@ -445,7 +431,6 @@ static void ProjectSUn(
|
||||
}
|
||||
}
|
||||
|
||||
// Explicit specialisation for SU(3).
|
||||
// Explicit specialisation for SU(3).
|
||||
static void ProjectSU3(
|
||||
Lattice<iScalar<iScalar<iMatrix<vComplexD, 3> > > > &Umu) {
|
||||
|
@ -68,8 +68,7 @@ public:
|
||||
for (int a = 0; a < Dimension; a++) {
|
||||
tmp = ta[a] * ta[Index] - ta[Index] * ta[a];
|
||||
for (int b = 0; b < (ncolour * ncolour - 1); b++) {
|
||||
iSUnMatrix<cplx> tmp1 =
|
||||
2.0 * tmp * ta[b]; // 2.0 from the normalization
|
||||
iSUnMatrix<cplx> tmp1 = 2.0 * tmp * ta[b]; // 2.0 from the normalization
|
||||
Complex iTr = TensorRemove(timesI(trace(tmp1)));
|
||||
//iAdjTa()()(b, a) = iTr;
|
||||
iAdjTa()()(a, b) = iTr;
|
||||
|
@ -126,8 +126,7 @@ public:
|
||||
|
||||
template <class cplx>
|
||||
static void generator(int Index, iSUnTwoIndexMatrix<cplx> &i2indTa) {
|
||||
Vector<iSUnMatrix<cplx> > ta(
|
||||
ncolour * ncolour - 1);
|
||||
Vector<iSUnMatrix<cplx> > ta(ncolour * ncolour - 1);
|
||||
Vector<iSUnMatrix<cplx> > eij(Dimension);
|
||||
iSUnMatrix<cplx> tmp;
|
||||
i2indTa = Zero();
|
||||
|
Reference in New Issue
Block a user