diff --git a/tests/core/Test_fft_matt.cc b/tests/core/Test_fft_matt.cc index d92fa94e..55234601 100644 --- a/tests/core/Test_fft_matt.cc +++ b/tests/core/Test_fft_matt.cc @@ -206,6 +206,65 @@ int main (int argc, char ** argv) DumpSliceNorm("Slice Norm Solution ",result,Nd-1); } + //////////////////////////////////////////////////// + //Gauge invariance test + //////////////////////////////////////////////////// + { + std::cout<<"****************************************"<::RandomGaugeTransform(pRNG,U_GT,g); // Unit gauge + + LatticeFermionD src(&GRID); + LatticeFermionD tmp(&GRID); + LatticeFermionD ref(&GRID); + LatticeFermionD diff(&GRID); + + // could loop over colors + src=Zero(); + Coordinate point(4,0); // 0,0,0,0 + SpinColourVectorD ferm; + ferm=Zero(); + ferm()(0)(0) = ComplexD(1.0); + pokeSite(ferm,src,point); + + RealD mass=0.1; + WilsonFermionD Dw(U_GT,GRID,RBGRID,mass); + + // Momentum space prop + std::cout << " Solving by FFT and Feynman rules" < HermOp(Dw); + ConjugateGradient CG(1.0e-10,10000); + CG(HermOp,src,result); + + //////////////////////////////////////////////////////////////////////// + std::cout << " Taking difference" <