21 const multi1d<LatticeFermion>&
chi,
22 const multi1d<LatticeFermion>&
psi,
27 multi1d<LatticeColorMatrix> ds_tmp(
Nd);
29 for(
int n = 0;
n <
psi.size(); ++
n)
43 const multi1d<LatticeFermion>&
chi,
44 const multi1d<LatticeFermion>&
psi,
52 multi1d<LatticeColorMatrix> ds_tmp(
Nd);
54 for(
int n = 0;
n <
psi.size(); ++
n)
68 const LatticeFermion&
chi,
69 const LatticeFermion&
psi,
76 const multi1d<Real>& anisoWeights =
getCoeffs();
82 LatticeFermion temp_ferm1;
83 LatticeHalfFermion tmp_h;
95 tmp_h[rb[1-
cb]] = spinProjectDir0Minus(
psi);
96 temp_ferm1[rb[1-
cb]] = spinReconstructDir0Minus(tmp_h);
99 tmp_h[rb[1-
cb]] = spinProjectDir1Minus(
psi);
100 temp_ferm1[rb[1-
cb]] = spinReconstructDir1Minus(tmp_h);
103 tmp_h[rb[1-
cb]] = spinProjectDir2Minus(
psi);
104 temp_ferm1[rb[1-
cb]] = spinReconstructDir2Minus(tmp_h);
107 tmp_h[rb[1-
cb]] = spinProjectDir3Minus(
psi);
108 temp_ferm1[rb[1-
cb]] = spinReconstructDir3Minus(tmp_h);
120 LatticeHalfFermion tmp_h;
123 tmp_h[rb[1-
cb]] = spinProjectDir0Plus(
psi);
124 temp_ferm1[rb[1-
cb]] = spinReconstructDir0Plus(tmp_h);
127 tmp_h[rb[1-
cb]] = spinProjectDir1Plus(
psi);
128 temp_ferm1[rb[1-
cb]] = spinReconstructDir1Plus(tmp_h);
131 tmp_h[rb[1-
cb]] = spinProjectDir2Plus(
psi);
132 temp_ferm1[rb[1-
cb]] = spinReconstructDir2Plus(tmp_h);
135 tmp_h[rb[1-
cb]] = spinProjectDir3Plus(
psi);
136 temp_ferm1[rb[1-
cb]] = spinReconstructDir3Plus(tmp_h);
148 LatticeFermion temp_ferm2 = shift(temp_ferm1,
FORWARD,
mu);
149 LatticeColorMatrix temp_mat;
152 temp_mat[rb[
cb]] = traceSpin(outerProduct(temp_ferm2,
chi));
155 ds_u[
mu][rb[
cb]] = anisoWeights[
mu] * temp_mat;
Primary include file for CHROMA library code.
virtual int size() const=0
Expected length of array index.
unsigned long nFlops() const
Return flops performed by the operator()
virtual const multi1d< Real > & getCoeffs() const =0
Get the anisotropy parameters.
virtual const FermBC< T, P, Q > & getFermBC() const =0
Return the fermion BC object for this linear operator.
virtual void deriv(multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
Take deriv of D.
Wilson Dslash linear operator over arrays.
Asqtad Staggered-Dirac operator.
QDP_error_exit("too many BiCG iterations", n_count, rsd_sq, cp, c, re_rvr, im_rvr, re_a, im_a, re_b, im_b)
multi1d< LatticeFermion > chi(Ncb)