CHROMA
|
Dslash-like Linear Operator for arrays. More...
#include <linearop.h>
Public Member Functions | |
virtual | ~DslashLinearOperatorArray () |
Virtual destructor to help in cleanup. More... | |
virtual const FermBC< T, P, Q > & | getFermBC () const =0 |
Return the fermion BC object for this linear operator. More... | |
virtual int | size () const =0 |
Expected length of array index. More... | |
virtual void | operator() (multi1d< T > &d, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply operator on both checkerboards (entire lattice) More... | |
virtual void | apply (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, int cb) const =0 |
Apply checkerboarded linear operator. More... | |
virtual void | deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Take deriv of D. More... | |
virtual void | deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, int cb) const |
Take deriv of D. More... | |
Public Member Functions inherited from Chroma::DiffLinearOperatorArray< T, P, Q > | |
virtual | ~DiffLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
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 onto a source std::vector to some precision. More... | |
Public Member Functions inherited from Chroma::LinearOperatorArray< T > | |
virtual | ~LinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, Real epsilon) const |
Apply the operator onto a source std::vector to some precision. More... | |
virtual const Subset & | subset () const =0 |
Return the subset on which the operator acts. More... | |
virtual unsigned long | nFlops () const |
Dslash-like Linear Operator for arrays.
These are concessions/optimizations for red-black checkboarding
Definition at line 314 of file linearop.h.
|
inlinevirtual |
Virtual destructor to help in cleanup.
Definition at line 318 of file linearop.h.
|
pure virtual |
Apply checkerboarded linear operator.
To avoid confusion (especially of the compilers!), call the checkerboarded apply instead of operator()
Implemented in Chroma::WilsonDslashBaseArray, Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.
|
inlinevirtual |
Take deriv of D.
chi | left std::vector (Read) |
psi | right std::vector (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Reimplemented in Chroma::WilsonDslashBaseArray.
Definition at line 349 of file linearop.h.
|
inlinevirtual |
Take deriv of D.
chi | left std::vector on cb (Read) |
psi | right std::vector on 1-cb (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
cb | Checkerboard of chi std::vector (Read) |
Reimplemented in Chroma::WilsonDslashBaseArray.
Definition at line 365 of file linearop.h.
|
pure virtual |
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperatorArray< T, P, Q >.
Implemented in Chroma::WilsonDslashBaseArray, Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.
|
inlinevirtual |
Apply operator on both checkerboards (entire lattice)
Implements Chroma::LinearOperatorArray< T >.
Definition at line 327 of file linearop.h.
References Chroma::d, Chroma::isign, and psi.
|
pure virtual |
Expected length of array index.
Implements Chroma::LinearOperatorArray< T >.
Implemented in Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.