1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-11 03:46:55 +01:00

Fixing the plaquette computation

This commit is contained in:
Guido Cossu
2016-10-21 16:06:34 +01:00
parent 392130a537
commit e6acffdfc2
4 changed files with 29 additions and 25 deletions

View File

@ -99,7 +99,7 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
public:
VariableWilsonGaugeAction(std::vector<RealD> bulk, std::vector<RealD> xdim,
GridBase *_grid, bool openBC = false)
GridBase *_grid)
: b_bulk(bulk),
b_xdim(xdim),
grid(_grid),
@ -130,11 +130,6 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
beta_xdim = where(coor == tau, temp, beta_xdim);
}
if (!openBC) {
temp = b_xdim[Nex - 1];
beta_xdim = where(coor == Nex - 1, temp, beta_xdim);
}
beta_xdim_shifted = Cshift(beta_xdim, Ndim - 1, -1);
beta_bulk = zero;
@ -143,8 +138,7 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
beta_bulk = where(coor == tau, temp, beta_bulk);
}
std::cout << beta_xdim << std::endl;
std::cout << beta_xdim_shifted << std::endl;
};
virtual void refresh(const GaugeField &U,
@ -180,6 +174,7 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
}
}
double faces = (1.0 * (Nd - 1) * (Nd - 2)) / 2.0;
SumdirPlaq *= OneOnNc / (RealD(bulk_volume) * faces);

View File

@ -170,6 +170,7 @@ class SU {
ta()()(i2, i1) = 1.0;
ta = ta * 0.5;
}
template <class cplx>
static void generatorSigmaX(int su2Index, iSUnMatrix<cplx> &ta) {
ta = zero;
@ -194,6 +195,8 @@ class SU {
ta = ta * nrm;
}
////////////////////////////////////////////////////////////////////////
// Map a su2 subgroup number to the pair of rows that are non zero
////////////////////////////////////////////////////////////////////////

View File

@ -54,9 +54,21 @@ public:
// resolution throughout the usage in this file, and rather defeats the
// purpose of deriving
// from Gimpl.
/*
plaq = Gimpl::CovShiftBackward(
U[mu], mu, Gimpl::CovShiftBackward(
U[nu], nu, Gimpl::CovShiftForward(U[mu], mu, U[nu])));
*/
// _
//|< _|
plaq = Gimpl::CovShiftForward(U[mu],mu,
Gimpl::CovShiftForward(U[nu],nu,
Gimpl::CovShiftBackward(U[mu],mu,
Gimpl::CovShiftIdentityBackward(U[nu], nu))));
}
//////////////////////////////////////////////////
// trace of directed plaquette oriented in mu,nu plane