6 #ifndef __tprec_linop_h__
7 #define __tprec_linop_h__
39 template<
typename T,
typename P,
typename Q>
47 const Subset&
subset()
const {
return all;}
72 T tmp1,
tmp2; moveToFastMemoryHint(tmp1); moveToFastMemoryHint(
tmp2);
91 QDPIO::cerr <<
"unknown sign" << std::endl;
101 T tmp1,
tmp2; moveToFastMemoryHint(tmp1); moveToFastMemoryHint(
tmp2);
Differentiable Linear Operator.
Base class for all fermion action boundary conditions.
Time preconditioned linear operator.
virtual void deriv(P &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the derivative of the operator onto a source std::vector.
virtual const FermBC< T, P, Q > & getFermBC() const =0
Return the fermion BC object for this linear operator.
virtual void derivSpaceLinOp(P &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the space block onto a source std::vector.
virtual void derivUnprecLinOp(P &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the derivative of the UNPRECONDITIONED operator onto a source std::vector.
virtual void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
const Subset & subset() const
Defined on the entire lattice.
virtual void unprecLinOp(T &chi, const T &psi, enum PlusMinus isign) const
Apply the UNPRECONDITIONED operator onto a source std::vector.
int tDir() const =0
The time direction.
virtual void timeInvLinOp(T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the inverse of the time block onto a source std::vector.
virtual void spaceLinOp(T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the the space block onto a source std::vector.
virtual ~TimePrecLinearOperator()
Virtual destructor to help with cleanup;.
virtual void derivTimeLinOp(P &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the even-even block onto a source std::vector.
virtual void timeLinOp(T &chi, const T &psi, enum PlusMinus isign) const =0
Apply the time block onto a source std::vector.
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > chi(Ncb)
multi1d< LatticeColorMatrix > P