62 const multi1d<Real>& coeffs_)
73 if (
fbc.operator->() == 0)
75 QDPIO::cerr <<
"WilsonDslashArray: error: fbc is null" << std::endl;
83 for(
int mu=0;
mu <
u.size(); ++
mu)
105 const multi1d<LatticeFermion>&
psi,
112 for(
int n=0;
n <
N5; ++
n)
159 chi[rb[
cb]] = spinReconstructDir0Minus(
u[0] * shift(spinProjectDir0Minus(
psi),
FORWARD, 0))
160 + spinReconstructDir0Plus(shift(adj(
u[0]) * spinProjectDir0Plus(
psi),
BACKWARD, 0))
162 + spinReconstructDir1Minus(
u[1] * shift(spinProjectDir1Minus(
psi),
FORWARD, 1))
163 + spinReconstructDir1Plus(shift(adj(
u[1]) * spinProjectDir1Plus(
psi),
BACKWARD, 1))
166 + spinReconstructDir2Minus(
u[2] * shift(spinProjectDir2Minus(
psi),
FORWARD, 2))
167 + spinReconstructDir2Plus(shift(adj(
u[2]) * spinProjectDir2Plus(
psi),
BACKWARD, 2))
170 + spinReconstructDir3Minus(
u[3] * shift(spinProjectDir3Minus(
psi),
FORWARD, 3))
171 + spinReconstructDir3Plus(shift(adj(
u[3]) * spinProjectDir3Plus(
psi),
BACKWARD, 3))
174 #error "Unsupported number of dimensions"
180 chi[rb[
cb]] = spinReconstructDir0Plus(
u[0] * shift(spinProjectDir0Plus(
psi),
FORWARD, 0))
181 + spinReconstructDir0Minus(shift(adj(
u[0]) * spinProjectDir0Minus(
psi),
BACKWARD, 0))
183 + spinReconstructDir1Plus(
u[1] * shift(spinProjectDir1Plus(
psi),
FORWARD, 1))
184 + spinReconstructDir1Minus(shift(adj(
u[1]) * spinProjectDir1Minus(
psi),
BACKWARD, 1))
187 + spinReconstructDir2Plus(
u[2] * shift(spinProjectDir2Plus(
psi),
FORWARD, 2))
188 + spinReconstructDir2Minus(shift(adj(
u[2]) * spinProjectDir2Minus(
psi),
BACKWARD, 2))
191 + spinReconstructDir3Plus(
u[3] * shift(spinProjectDir3Plus(
psi),
FORWARD, 3))
192 + spinReconstructDir3Minus(shift(adj(
u[3]) * spinProjectDir3Minus(
psi),
BACKWARD, 3))
195 #error "Unsupported number of dimensions"
204 QDPIO::cerr<<
"lwldslash_array_w: not implemented for NC!=3\n";
Primary include file for CHROMA library code.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
Handle< FermBC< T, P, Q > > fbc
multi1d< LatticeColorMatrix > u
void apply(multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const
General Wilson-Dirac dslash.
void create(Handle< FermState< T, P, Q > > state, int N5_)
Creation routine.
Wilson Dslash linear operator over arrays.
Asqtad Staggered-Dirac operator.
multi1d< LatticeFermion > chi(Ncb)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
multi1d< Real > makeFermCoeffs(const AnisoParam_t &aniso)
Make fermion coefficients.
Parameters for anisotropy.