CHROMA
|
M^dag.M linear operator over arrays. More...
#include <lmdagm.h>
Public Member Functions | |
DiffMdagMLinOpArray (DiffLinearOperatorArray< T, P, Q > *p) | |
Initialize pointer with existing pointer. More... | |
DiffMdagMLinOpArray (Handle< DiffLinearOperatorArray< T, P, Q > > p) | |
Copy pointer (one more owner) More... | |
~DiffMdagMLinOpArray () | |
Destructor. More... | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. More... | |
int | size () const |
Length of array index. More... | |
const Subset & | subset () const |
Subset comes from underlying operator. More... | |
void | operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply 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 |
Apply the derivative of the operator. 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. More... | |
unsigned long | nFlops (void) const |
Return the number of flops performed by operator() More... | |
Public Member Functions inherited from Chroma::DiffLinearOperatorArray< T, P, Q > | |
virtual | ~DiffLinearOperatorArray () |
Virtual destructor to help with cleanup;. 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... | |
Private Attributes | |
Handle< DiffLinearOperatorArray< T, P, Q > > | A |
M^dag.M linear operator over arrays.
Linear operator forming M^dag.M from an operator M
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Apply the derivative of the operator.
Deriv of chi^dag * A^dag * A * psi
Default implementation
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 283 of file lmdagm.h.
References Chroma::DiffMdagMLinOpArray< T, P, Q >::A, Chroma::chi(), Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::DiffMdagMLinOpArray< T, P, Q >::size(), and Chroma::tmp.
|
inlinevirtual |
Apply the derivative of the operator.
Deriv of chi^dag * A^dag * A * psi
Default implementation
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 304 of file lmdagm.h.
References Chroma::DiffMdagMLinOpArray< T, P, Q >::A, Chroma::chi(), Chroma::ExternalFieldEnv::epsilon(), Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::DiffMdagMLinOpArray< T, P, Q >::size(), and Chroma::tmp.
|
inlinevirtual |
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 260 of file lmdagm.h.
References Chroma::DiffMdagMLinOpArray< T, P, Q >::A.
|
inlinevirtual |
Return the number of flops performed by operator()
Reimplemented from Chroma::LinearOperatorArray< T >.
Definition at line 319 of file lmdagm.h.
References Chroma::DiffMdagMLinOpArray< T, P, Q >::A.
|
inlinevirtual |
Apply the operator onto a source std::vector.
For this operator, the sign is ignored
Implements Chroma::LinearOperatorArray< T >.
Definition at line 270 of file lmdagm.h.
References Chroma::chi(), Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::DiffMdagMLinOpArray< T, P, Q >::size(), and Chroma::tmp.
|
inlinevirtual |
Length of array index.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 263 of file lmdagm.h.
References Chroma::DiffMdagMLinOpArray< T, P, Q >::A.
Referenced by Chroma::DiffMdagMLinOpArray< T, P, Q >::deriv(), and Chroma::DiffMdagMLinOpArray< T, P, Q >::operator()().
|
inlinevirtual |
Subset comes from underlying operator.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 266 of file lmdagm.h.
References Chroma::DiffMdagMLinOpArray< T, P, Q >::A.
|
private |
Definition at line 322 of file lmdagm.h.
Referenced by Chroma::DiffMdagMLinOpArray< T, P, Q >::deriv(), Chroma::DiffMdagMLinOpArray< T, P, Q >::getFermBC(), Chroma::DiffMdagMLinOpArray< T, P, Q >::nFlops(), Chroma::DiffMdagMLinOpArray< T, P, Q >::size(), and Chroma::DiffMdagMLinOpArray< T, P, Q >::subset().