1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-09 21:50:45 +01:00

Updated Weak Hamiltonian contractions to use zero-flop gamma matrices

This commit is contained in:
Lanny91 2017-02-01 12:57:34 +00:00
parent fa237401ff
commit 35ac85aea8

View File

@ -95,7 +95,7 @@ void TWeakHamiltonianNonEye::execute(void)
PropagatorField &q2 = *env().template getObject<PropagatorField>(par().q2); PropagatorField &q2 = *env().template getObject<PropagatorField>(par().q2);
PropagatorField &q3 = *env().template getObject<PropagatorField>(par().q3); PropagatorField &q3 = *env().template getObject<PropagatorField>(par().q3);
PropagatorField &q4 = *env().template getObject<PropagatorField>(par().q4); PropagatorField &q4 = *env().template getObject<PropagatorField>(par().q4);
SpinMatrix g5 = makeGammaProd(Ns*Ns - 1); // Soon to be deprecated. Gamma g5 = Gamma(Gamma::Algebra::Gamma5);
LatticeComplex expbuf(env().getGrid()); LatticeComplex expbuf(env().getGrid());
std::vector<TComplex> corrbuf; std::vector<TComplex> corrbuf;
std::vector<Result> result; std::vector<Result> result;
@ -108,17 +108,14 @@ void TWeakHamiltonianNonEye::execute(void)
std::vector<LatticeComplex> W_i_side_loop(ndim, tmp2); std::vector<LatticeComplex> W_i_side_loop(ndim, tmp2);
std::vector<LatticeComplex> W_f_side_loop(ndim, tmp2); std::vector<LatticeComplex> W_f_side_loop(ndim, tmp2);
// Soon to be deprecated. Keeping V and A parts distinct to take advantage std::vector<std::vector<Gamma>> gL = {{Gamma(Gamma::Algebra::GammaX),
// of zero-flop gamma products, when implemented. Gamma(Gamma::Algebra::GammaY),
std::vector<std::vector<SpinMatrix>> gL; Gamma(Gamma::Algebra::GammaZ),
gL.resize(n_i); Gamma(Gamma::Algebra::GammaT)},
gL[i_V].resize(ndim); {Gamma(Gamma::Algebra::GammaXGamma5),
gL[i_A].resize(ndim); Gamma(Gamma::Algebra::GammaYGamma5),
for (unsigned int mu = 0; mu < ndim; ++mu) Gamma(Gamma::Algebra::GammaZGamma5),
{ Gamma(Gamma::Algebra::GammaTGamma5)}};
gL[i_V][mu] = makeGammaProd(mu);
gL[i_A][mu] = g5*makeGammaProd(mu);
}
// Setup for C-type contractions. // Setup for C-type contractions.
for (int mu = 0; mu < ndim; ++mu) for (int mu = 0; mu < ndim; ++mu)