8 using namespace QDP::Hints;
19 UnprecDWLinOpArray::UnprecDWLinOpArray(
21 const Real& WilsonMass_,
const Real& m_q_,
int N5_,
24 WilsonMass = WilsonMass_;
29 fbc = fs->getFermBC();
32 Real ff = where(aniso.
anisoP, aniso.
nu / aniso.
xi_0, Real(1));
33 fact1 = 1 +
a5*(1 + (
Nd-1)*ff - WilsonMass);
49 const multi1d<LatticeFermion>&
psi,
59 LatticeFermion
tmp; moveToFastMemoryHint(
tmp);
64 for(
int n=0;
n <
N5; ++
n)
70 + m_q*chiralProjectPlus(
psi[
N5-1]) - chiralProjectMinus(
psi[1]);
73 - chiralProjectPlus(
psi[
N5-2]) + m_q*chiralProjectMinus(
psi[0]);
76 - chiralProjectPlus(
psi[
n-1]) - chiralProjectMinus(
psi[
n+1]);
81 for(
int n=0;
n <
N5; ++
n)
87 + m_q*chiralProjectMinus(
psi[
N5-1]) - chiralProjectPlus(
psi[1]);
90 - chiralProjectMinus(
psi[
N5-2]) + m_q*chiralProjectPlus(
psi[0]);
93 - chiralProjectMinus(
psi[
n-1]) - chiralProjectPlus(
psi[
n+1]);
98 getFermBC().modifyF(
chi);
106 const multi1d<LatticeFermion>&
chi,
const multi1d<LatticeFermion>&
psi,
114 Real fact2 = -Real(0.5)*
a5;
116 multi1d<LatticeColorMatrix> ds_tmp(
Nd);
117 for(
int s(0);
s<
N5;
s++)
121 ds_u[
mu] += fact2*ds_tmp[
mu];
Primary include file for CHROMA library code.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
multi1d< Hadron2PtContraction_t > operator()(const multi1d< LatticeColorMatrix > &u)
Asqtad Staggered-Dirac operator.
Parameters for anisotropy.
multi1d< LatticeColorMatrix > deriv(const EvenOddPrecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &AP, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign)
Apply the operator onto a source std::vector.
Unpreconditioned domain-wall fermion linear operator.