17 using namespace QDP::Hints;
23 template<
typename T,
typename P,
typename Q>
44 inline const Subset&
subset()
const {
return M->subset();}
51 const Subset& sub = M->subset();
85 const Subset& sub = M->subset();
88 T g5Pg5Mchi, g5Pg5Mpsi ;
92 (*Pol)(tt,g5Mchi,
PLUS) ;
93 g5Pg5Mchi[sub] = Gamma(
G5)*tt ;
96 (*Pol)(tt,g5Mpsi,
PLUS) ;
97 g5Pg5Mpsi[sub] = Gamma(
G5)*tt ;
100 M->deriv(ds_tmp, g5Pg5Mchi,
psi,
PLUS);
102 Pol->deriv(ds_tmp, g5Mchi, g5Mpsi,
PLUS);
104 M->deriv(ds_tmp,
chi, g5Pg5Mpsi,
MINUS);
Differentiable Linear Operator.
Base class for all fermion action boundary conditions.
Class for counted reference semantics.
Polynomial preconditioner.
PolyPrec(Handle< DiffLinearOperator< T, P, Q > > m_, Handle< DiffLinearOperator< T, P, Q > > p_)
const Subset & subset() const
Subset comes from underlying operator.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
void deriv(P &ds_u, const T &chi, const T &psi, PlusMinus isign) const
Apply the derivative of the linop.
Handle< DiffLinearOperator< T, P, Q > > Pol
void operator()(T &chi, const T &psi, PlusMinus isign) const
The operator is Q P(Q^2) Q.
Handle< DiffLinearOperator< T, P, Q > > M
void g5M(T &out, const T &in, enum PlusMinus isign) const
Class for counted reference semantics.
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::T T
static QDP_ColorVector * out
Constructor.
static QDP_ColorVector * in
multi1d< LatticeColorMatrix > P