diff --git a/Grid/qcd/action/pseudofermion/GeneralEvenOddRationalRatio.h b/Grid/qcd/action/pseudofermion/GeneralEvenOddRationalRatio.h index ecc140b4..8561bd36 100644 --- a/Grid/qcd/action/pseudofermion/GeneralEvenOddRationalRatio.h +++ b/Grid/qcd/action/pseudofermion/GeneralEvenOddRationalRatio.h @@ -84,6 +84,7 @@ NAMESPACE_BEGIN(Grid); PhiEven(_NumOp.FermionRedBlackGrid()), param(p) { + std::cout< MdagM(DenOp); ConjugateGradientMultiShift msCG_M(param.MaxIter,ApproxHalfPower); msCG_M(MdagM,etaOdd,tmp); // VdagV^-1/(2*inv_pow) MdagM^1/(2*inv_pow) eta + std::cout< VdagV(NumOp); ConjugateGradientMultiShift msCG_V(param.MaxIter,ApproxNegHalfPower); msCG_V(VdagV,tmp,PhiOdd); @@ -161,14 +166,14 @@ NAMESPACE_BEGIN(Grid); assert(NumOp.ConstEE() == 1); assert(DenOp.ConstEE() == 1); PhiEven = Zero(); - + std::cout< VdagV(NumOp); ConjugateGradientMultiShift msCG_V(param.MaxIter,ApproxHalfPower); msCG_V(VdagV,PhiOdd,X); // MdagM^-1/(2*inv_pow) VdagV^1/(2*inv_pow) Phi + std::cout< MdagM(DenOp); ConjugateGradientMultiShift msCG_M(param.MaxIter,ApproxNegHalfPower); msCG_M(MdagM,X,Y); // Randomly apply rational bounds checks. - if ( (rand()%param.BoundsCheckFreq)==0 ) { + if ( param.BoundsCheckFreq != 0 && (rand()%param.BoundsCheckFreq)==0 ) { + std::cout< msCG_V(param.MaxIter,ApproxHalfPower); ConjugateGradientMultiShift msCG_M(param.MaxIter,ApproxNegPower); + std::cout<