8 using namespace QDP::Hints;
20 const Real& Mass_,
const Real& u0_)
27 const multi1d<LatticeColorMatrix>&
u = fs->getLinks();
32 u_dble.resize(
u.size());
33 for(
int mu=0;
mu <
u.size(); ++
mu)
38 fact4 = 1 / (12*
u0*
u0);
46 const LatticeFermion&
psi,
51 LatticeFermion tmp1; moveToFastMemoryHint(tmp1);
52 LatticeFermion
tmp2; moveToFastMemoryHint(
tmp2);
53 LatticeFermion tmp_s; moveToFastMemoryHint(tmp_s);
54 LatticeFermion tmp_v; moveToFastMemoryHint(tmp_v);
58 chi = fact1*
psi + fact2*tmp1;
69 tmp2 = Gamma(1 <<
mu) * tmp1;
75 tmp2 = Gamma(1 <<
mu) * tmp1;
85 getFermBC().modifyF(
chi);
92 unsigned long UnprecHamberWuLinOp::nFlops()
const
94 unsigned long site_flops = D.nFlops()+2*(2*Nc)*(2*Nc)*Ns*4*
Nd;
95 return site_flops*(Layout::sitesOnNode());
110 const LatticeFermion&
chi,
const LatticeFermion&
psi,
127 getFermBC().zero(ds_u);
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.
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)
static multi1d< LatticeColorMatrix > u
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 Hamber-Wu fermion linear operator.