CHROMA
|
Linear Operator to arrays. More...
#include <linearop.h>
Public Member Functions | |
virtual | ~LinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual int | size () const =0 |
Expected length of array index. More... | |
virtual void | operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const =0 |
Apply the operator onto a source std::vector. 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 |
Linear Operator to arrays.
Supports creation and application for linear operators that hold things like Dirac operators, etc.
Definition at line 60 of file linearop.h.
|
inlinevirtual |
Virtual destructor to help with cleanup;.
Definition at line 64 of file linearop.h.
|
inlinevirtual |
Return the number of flops performed by operator() Base linop returns 0 and this can be overridden
Reimplemented in Chroma::DiffMdagMLinOpArray< T, P, Q >, Chroma::MdagMLinOpArray< T >, Chroma::DiffMdagLinOpArray< T, P, Q >, Chroma::MdagLinOpArray< T >, Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >, Chroma::WilsonDslashBaseArray, Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray, Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray, Chroma::EvenOddPrecOvExtLinOpArray, Chroma::EvenOddPrecHtContFrac5DLinOpArray, and Chroma::EvenOddPrecDWLinOpArray.
Definition at line 85 of file linearop.h.
|
pure virtual |
Apply the operator onto a source std::vector.
Implemented in Chroma::DslashLinearOperatorArray< T, P, Q >, Chroma::DiffMdagMLinOpArray< T, P, Q >, Chroma::MdagMLinOpArray< T >, Chroma::DiffMdagLinOpArray< T, P, Q >, Chroma::MdagLinOpArray< T >, Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >, Chroma::lopsclArray< T, C >, Chroma::lghermArray< T >, Chroma::lg5RHermArray< T >, Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::UnprecOvlapContFrac5DPVLinOpArray, Chroma::UnprecOvlapContFrac5DNonHermOpArray, Chroma::UnprecOvlapContFrac5DLinOpArray, Chroma::UnprecOvExtLinOpArray, Chroma::UnprecOvDWLinOpArray, Chroma::UnprecNEFDWLinOpArray, Chroma::UnprecHTContFrac5DLinOpArray, and Chroma::UnprecDWLinOpArray.
|
inlinevirtual |
Apply the operator onto a source std::vector to some precision.
Definition at line 74 of file linearop.h.
References chi, Chroma::isign, and psi.
|
pure virtual |
Expected length of array index.
Implemented in Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecConstDetLinearOperatorArray< T, P, Q >, Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::UnprecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::EvenOddPrecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::DslashLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecLogDetLinearOperatorArray< T, P, Q >, Chroma::UnprecDWLikeLinOpBaseArray< T, P, Q >, Chroma::EvenOddPrecDWLikeLinOpBaseArray< T, P, Q >, Chroma::DiffMdagMLinOpArray< T, P, Q >, Chroma::MdagMLinOpArray< T >, Chroma::DiffMdagLinOpArray< T, P, Q >, Chroma::MdagLinOpArray< T >, Chroma::UnprecOvlapContFrac5DPVLinOpArray, Chroma::UnprecOvlapContFrac5DNonHermOpArray, Chroma::UnprecOvlapContFrac5DLinOpArray, Chroma::UnprecOvExtLinOpArray, Chroma::UnprecOvDWLinOpArray, Chroma::UnprecNEFDWLinOpArray, Chroma::UnprecHTContFrac5DLinOpArray, Chroma::UnprecDWLinOpArray, Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, Chroma::PABWilsonDslashArray, Chroma::lopsclArray< T, C >, Chroma::lghermArray< T >, Chroma::lg5RHermArray< T >, Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray, Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray, Chroma::EvenOddPrecOvExtLinOpArray, Chroma::EvenOddPrecOvDWLinOpArray, Chroma::EvenOddPrecNEFDWLinOpArray, Chroma::EvenOddPrecGenNEFDWLinOpArray, Chroma::EvenOddPrecHtContFrac5DLinOpArray, and Chroma::EvenOddPrecDWLinOpArray.
Referenced by Chroma::EigSpecRitzCG(), Chroma::InvBorici_a(), and Chroma::InvGMRESR_CG_a().
|
pure virtual |
Return the subset on which the operator acts.
Implemented in Chroma::DiffMdagMLinOpArray< T, P, Q >, Chroma::MdagMLinOpArray< T >, Chroma::UnprecLinearOperatorArray< T, P, Q >, Chroma::UnprecLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::DiffMdagLinOpArray< T, P, Q >, Chroma::MdagLinOpArray< T >, Chroma::EvenOddPrecLogDetLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecConstDetLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::UnprecOvlapContFrac5DPVLinOpArray, Chroma::UnprecOvlapContFrac5DNonHermOpArray, Chroma::UnprecOvlapContFrac5DLinOpArray, Chroma::UnprecOvExtLinOpArray, Chroma::UnprecOvDWLinOpArray, Chroma::UnprecNEFDWLinOpArray, Chroma::UnprecHTContFrac5DLinOpArray, Chroma::UnprecDWLinOpArray, Chroma::WilsonDslashBaseArray, Chroma::lopsclArray< T, C >, Chroma::lghermArray< T >, and Chroma::lg5RHermArray< T >.
Referenced by Chroma::EigSpecRitzCG(), Chroma::EigSpecRitzKS(), Chroma::fixMMev2Mev(), and Chroma::InvGMRESR_CG_a().