CHROMA
|
Differentiable Linear Operator. More...
#include <linearop.h>
Public Member Functions | |
virtual | ~DiffLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual const FermBC< T, P, Q > & | getFermBC () const =0 |
Return the fermion BC object for this linear operator. More... | |
virtual void | deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply the derivative of the operator onto a source std::vector. 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 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 |
Differentiable Linear Operator.
Supports creation and application for linear operators that hold things like Dirac operators, etc. that are differentiable
Definition at line 149 of file linearop.h.
|
inlinevirtual |
Virtual destructor to help with cleanup;.
Definition at line 153 of file linearop.h.
|
inlinevirtual |
Apply the derivative of the operator onto a source std::vector.
Default implementation
Reimplemented in Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >, Chroma::DiffMdagMLinOpArray< T, P, Q >, Chroma::DslashLinearOperatorArray< T, P, Q >, Chroma::DiffMdagLinOpArray< T, P, Q >, Chroma::EvenOddPrecLogDetLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecConstDetLinearOperatorArray< T, P, Q >, Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::UnprecOvlapContFrac5DPVLinOpArray, Chroma::UnprecOvlapContFrac5DLinOpArray, Chroma::UnprecOvExtLinOpArray, Chroma::UnprecNEFDWLinOpArray, Chroma::UnprecDWLinOpArray, and Chroma::WilsonDslashBaseArray.
Definition at line 160 of file linearop.h.
|
inlinevirtual |
Apply the derivative of the operator onto a source std::vector to some precision.
Default implementation
Reimplemented in Chroma::DiffMdagMLinOpArray< T, P, Q >, and Chroma::DiffMdagLinOpArray< T, P, Q >.
Definition at line 169 of file linearop.h.
References chi, deriv(), Chroma::isign, and psi.
|
pure virtual |
Return the fermion BC object for this linear operator.
Implemented in Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, Chroma::DslashLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecLogDetLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecLinearOperatorArray< T, P, Q >, Chroma::EvenOddPrecConstDetLinearOperatorArray< T, P, Q >, Chroma::WilsonDslashBaseArray, Chroma::DiffMdagMLinOpArray< T, P, Q >, Chroma::DiffMdagLinOpArray< T, P, Q >, 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::EvenOddPrecOvlapContFrac5DPVLinOpArray, Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray, Chroma::EvenOddPrecOvExtLinOpArray, Chroma::EvenOddPrecOvDWLinOpArray, Chroma::EvenOddPrecNEFDWLinOpArray, Chroma::EvenOddPrecGenNEFDWLinOpArray, Chroma::EvenOddPrecHtContFrac5DLinOpArray, and Chroma::EvenOddPrecDWLinOpArray.