35 inline const Subset&
subset()
const {
return A->subset();}
41 T tmp; QDP::Hints::moveToFastMemoryHint(
tmp);
48 unsigned long nflops=
A->nFlops();
80 int size()
const {
return A->size();}
83 inline const Subset&
subset()
const {
return A->subset();}
89 multi1d<T>
tmp(
size()); QDP::Hints::moveToFastMemoryHint(
tmp);
96 unsigned long nflops=
A->nFlops();
126 inline const Subset&
subset()
const {
return A->subset();}
132 T tmp; QDP::Hints::moveToFastMemoryHint(
tmp);
142 T tmp; QDP::Hints::moveToFastMemoryHint(
tmp);
159 template<
typename T,
typename P,
typename Q>
177 inline const Subset&
subset()
const {
return A->subset();}
183 T tmp; QDP::Hints::moveToFastMemoryHint(
tmp);
198 T tmp; QDP::Hints::moveToFastMemoryHint(
tmp);
201 A->deriv(ds_u,
chi,
psi, misign);
221 unsigned long nFlops(
void)
const {
return A->nFlops();}
236 template<
typename T,
typename P,
typename Q>
254 int size()
const {
return A->size();}
257 inline const Subset&
subset()
const {
return A->subset();}
263 multi1d<T>
tmp(
size()); QDP::Hints::moveToFastMemoryHint(
tmp);
275 virtual void deriv(
P& ds_u,
const multi1d<T>&
chi,
const multi1d<T>&
psi,
278 multi1d<T>
tmp(
size()); QDP::Hints::moveToFastMemoryHint(
tmp);
281 A->deriv(ds_u,
chi,
psi, misign);
291 virtual void deriv(
P& ds_u,
const multi1d<T>&
chi,
const multi1d<T>&
psi,
301 unsigned long nFlops(
void)
const {
return A->nFlops();}
Differentiable Linear Operator.
Differentiable Linear Operator.
M^dag linear operator over arrays.
~DiffMdagLinOpArray()
Destructor.
const Subset & subset() const
Subset comes from underlying operator.
virtual void deriv(P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const
Apply the derivative of the operator.
void operator()(multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
DiffMdagLinOpArray(DiffLinearOperatorArray< T, P, Q > *p)
Initialize pointer with existing pointer.
DiffMdagLinOpArray(Handle< DiffLinearOperatorArray< T, P, Q > > p)
Copy pointer (one more owner)
int size() const
Length of array index.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
virtual void deriv(P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, const Real &epsilon) const
Apply the derivative of the operator.
unsigned long nFlops(void) const
Return the number of flops performed by operator()
Handle< DiffLinearOperatorArray< T, P, Q > > A
Differentiable M^dag linear operator.
~DiffMdagLinOp()
Destructor.
virtual void deriv(P &ds_u, const T &chi, const T &psi, enum PlusMinus isign, const Real &epsilon) const
Apply the derivative of the operator.
DiffMdagLinOp(Handle< DiffLinearOperator< T, P, Q > > p)
Copy pointer (one more owner)
unsigned long nFlops(void) const
Return the number of flops performed by operator()
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
const Subset & subset() const
Subset comes from underlying operator.
DiffMdagLinOp(DiffLinearOperator< T, P, Q > *p)
Initialize pointer with existing pointer.
Handle< DiffLinearOperator< T, P, Q > > A
virtual void deriv(P &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const
Apply the derivative of the operator.
Base class for all fermion action boundary conditions.
Class for counted reference semantics.
Linear Operator to arrays.
M^dag linear operator over arrays.
const Subset & subset() const
Subset comes from underlying operator.
void operator()(multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
~MdagLinOpArray()
Destructor.
Handle< LinearOperatorArray< T > > A
int size() const
Length of array index.
MdagLinOpArray(LinearOperatorArray< T > *p)
Initialize pointer with existing pointer.
unsigned long nFlops(void) const
MdagLinOpArray(Handle< LinearOperatorArray< T > > p)
Copy pointer (one more owner)
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
MdagLinOp(Handle< LinearOperator< T > > p)
Copy pointer (one more owner)
unsigned long nFlops(void) const
MdagLinOp(LinearOperator< T > *p)
Initialize pointer with existing pointer.
const Subset & subset() const
Subset comes from underlying operator.
Handle< LinearOperator< T > > A
~approx_lmdagm()
Destructor.
const Subset & subset() const
Subset comes from underlying operator.
Handle< LinearOperator< T > > A
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
approx_lmdagm(Handle< LinearOperator< T > > p)
Copy pointer (one more owner)
approx_lmdagm(LinearOperator< T > *p)
Initialize pointer with existing pointer.
Class for counted reference semantics.
int epsilon(int i, int j, int k)
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > chi(Ncb)
multi1d< LatticeColorMatrix > P