6 #ifndef __unprec_nef_linop_array_w_h__
7 #define __unprec_nef_linop_array_w_h__
23 multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> >
27 typedef LatticeFermion
T;
28 typedef multi1d<LatticeColorMatrix>
P;
29 typedef multi1d<LatticeColorMatrix>
Q;
37 const Real& WilsonMass_,
38 const multi1d<Real>& b5_,
const multi1d<Real>& c5_,
39 const Real& m_q_,
int N5_)
40 {
create(fs,WilsonMass_,b5_,c5_,m_q_,N5_);}
44 const Real& WilsonMass_,
45 const multi1d<Real>& b5_,
const multi1d<Real>& c5_,
46 const Real& m_q_,
int N5_);
58 const Subset&
subset()
const {
return all;}
62 const multi1d<LatticeFermion>&
psi,
67 const LatticeFermion&
psi,
72 void deriv(multi1d<LatticeColorMatrix>& ds_u,
73 const multi1d<LatticeFermion>&
chi,
const multi1d<LatticeFermion>&
psi,
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.
Unpreconditioned domain-wall Dirac operator.
Unpreconditioned domain-wall Dirac operator.
int size() const
Length of DW flavor index/space.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
UnprecNEFDWLinOpArray(Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const multi1d< Real > &b5_, const multi1d< Real > &c5_, const Real &m_q_, int N5_)
Full constructor.
void deriv(multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
Derivative.
Handle< FermBC< T, P, Q > > fbc
void operator=(const UnprecNEFDWLinOpArray &)
Hide =.
~UnprecNEFDWLinOpArray()
Destructor is automatic.
UnprecNEFDWLinOpArray()
Partial constructor.
void Dminus(LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int s5) const
Apply the Dminus operator on a lattice fermion. See my notes ;-)
multi1d< LatticeColorMatrix > Q
const Subset & subset() const
Only defined on the entire lattice.
multi1d< LatticeColorMatrix > P
Include possibly optimized Wilson dslash.
void operator()(multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
void create(Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const multi1d< Real > &b5_, const multi1d< Real > &c5_, const Real &m_q_, int N5_)
Creation routine.
Asqtad Staggered-Dirac operator.
multi1d< LatticeFermion > chi(Ncb)
Base class for unpreconditioned domain-wall-like fermion linear operator.