6 #ifndef __unprec_hamberwu_linop_w_h__
7 #define __unprec_hamberwu_linop_w_h__
21 multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> >
25 typedef LatticeFermion
T;
26 typedef multi1d<LatticeColorMatrix>
P;
27 typedef multi1d<LatticeColorMatrix>
Q;
34 const Real& Mass_,
const Real& u0_)
50 void deriv(multi1d<LatticeColorMatrix>& ds_u,
51 const LatticeFermion&
chi,
const LatticeFermion&
psi,
55 unsigned long nFlops()
const;
Base class for all fermion action boundary conditions.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
General Wilson-Dirac dslash.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
Unpreconditioned Hamber-Wu operator.
multi1d< LatticeColorMatrix > P
void create(Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &u0_)
Creation routine.
unsigned long nFlops() const
Return flops performed by the operator()
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
UnprecHamberWuLinOp(Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &u0_)
Full constructor.
void deriv(multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
Derivative of unpreconditioned HamberWu dM/dU.
UnprecHamberWuLinOp()
Partial constructor.
multi1d< LatticeColorMatrix > u_dble
void operator()(LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
multi1d< LatticeColorMatrix > Q
~UnprecHamberWuLinOp()
Destructor is automatic.
Unpreconditioned linear operator including derivatives.
Include possibly optimized Wilson dslash.
Asqtad Staggered-Dirac operator.
multi1d< LatticeFermion > chi(Ncb)