CHROMA
|
M^dag linear operator over arrays. More...
#include <ldag.h>
Public Member Functions | |
DiffMdagLinOpArray (DiffLinearOperatorArray< T, P, Q > *p) | |
Initialize pointer with existing pointer. More... | |
DiffMdagLinOpArray (Handle< DiffLinearOperatorArray< T, P, Q > > p) | |
Copy pointer (one more owner) More... | |
~DiffMdagLinOpArray () | |
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 linear operator over arrays.
Linear operator forming M^dag from an operator M
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Apply the derivative of the operator.
Deriv of chi^dag * A^dag * psi
Default implementation
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 275 of file ldag.h.
References Chroma::DiffMdagLinOpArray< T, P, Q >::A, Chroma::chi(), Chroma::isign, Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::DiffMdagLinOpArray< T, P, Q >::size(), and Chroma::tmp.
|
inlinevirtual |
Apply the derivative of the operator.
Deriv of chi^dag * A^dag * psi
Default implementation
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 291 of file ldag.h.
References Chroma::DiffMdagLinOpArray< T, P, Q >::A, Chroma::chi(), Chroma::ExternalFieldEnv::epsilon(), Chroma::isign, Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::DiffMdagLinOpArray< 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 251 of file ldag.h.
References Chroma::DiffMdagLinOpArray< T, P, Q >::A.
|
inlinevirtual |
Return the number of flops performed by operator()
Reimplemented from Chroma::LinearOperatorArray< T >.
Definition at line 301 of file ldag.h.
References Chroma::DiffMdagLinOpArray< 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 261 of file ldag.h.
References Chroma::chi(), Chroma::isign, Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::DiffMdagLinOpArray< T, P, Q >::size(), and Chroma::tmp.
|
inlinevirtual |
Length of array index.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 254 of file ldag.h.
References Chroma::DiffMdagLinOpArray< T, P, Q >::A.
Referenced by Chroma::DiffMdagLinOpArray< T, P, Q >::deriv(), and Chroma::DiffMdagLinOpArray< T, P, Q >::operator()().
|
inlinevirtual |
Subset comes from underlying operator.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 257 of file ldag.h.
References Chroma::DiffMdagLinOpArray< T, P, Q >::A.
|
private |
Definition at line 304 of file ldag.h.
Referenced by Chroma::DiffMdagLinOpArray< T, P, Q >::deriv(), Chroma::DiffMdagLinOpArray< T, P, Q >::getFermBC(), Chroma::DiffMdagLinOpArray< T, P, Q >::nFlops(), Chroma::DiffMdagLinOpArray< T, P, Q >::size(), and Chroma::DiffMdagLinOpArray< T, P, Q >::subset().