CHROMA
Public Member Functions | Private Attributes | List of all members

M^dag.M linear operator over arrays. More...

#include <lmdagm.h>

Inheritance diagram for Chroma::MdagMLinOpArray< T >:
Chroma::LinearOperatorArray< T >

Public Member Functions

 MdagMLinOpArray (LinearOperatorArray< T > *p)
 Initialize pointer with existing pointer. More...
 
 MdagMLinOpArray (Handle< LinearOperatorArray< T > > p)
 Copy pointer (one more owner) More...
 
 ~MdagMLinOpArray ()
 Destructor. 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...
 
unsigned long nFlops (void) const
 
- 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< LinearOperatorArray< T > > A
 

Detailed Description

template<typename T>
class Chroma::MdagMLinOpArray< T >

M^dag.M linear operator over arrays.

Linear operator forming M^dag.M from an operator M

Definition at line 66 of file lmdagm.h.

Constructor & Destructor Documentation

◆ MdagMLinOpArray() [1/2]

template<typename T >
Chroma::MdagMLinOpArray< T >::MdagMLinOpArray ( LinearOperatorArray< T > *  p)
inline

Initialize pointer with existing pointer.

Requires that the pointer p is a return value of new

Definition at line 71 of file lmdagm.h.

◆ MdagMLinOpArray() [2/2]

template<typename T >
Chroma::MdagMLinOpArray< T >::MdagMLinOpArray ( Handle< LinearOperatorArray< T > >  p)
inline

Copy pointer (one more owner)

Definition at line 74 of file lmdagm.h.

◆ ~MdagMLinOpArray()

template<typename T >
Chroma::MdagMLinOpArray< T >::~MdagMLinOpArray ( )
inline

Destructor.

Definition at line 77 of file lmdagm.h.

Member Function Documentation

◆ nFlops()

template<typename T >
unsigned long Chroma::MdagMLinOpArray< T >::nFlops ( void  ) const
inlinevirtual

Return the number of flops performed by operator() Base linop returns 0 and this can be overridden

Reimplemented from Chroma::LinearOperatorArray< T >.

Definition at line 94 of file lmdagm.h.

References Chroma::MdagMLinOpArray< T >::A.

◆ operator()()

template<typename T >
void Chroma::MdagMLinOpArray< T >::operator() ( multi1d< T > &  chi,
const multi1d< T > &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

Apply the operator onto a source std::vector.

For this operator, the sign is ignored

Implements Chroma::LinearOperatorArray< T >.

Definition at line 87 of file lmdagm.h.

References Chroma::chi(), Chroma::MINUS, Chroma::PLUS, Chroma::psi, Chroma::MdagMLinOpArray< T >::size(), and Chroma::tmp.

◆ size()

template<typename T >
int Chroma::MdagMLinOpArray< T >::size ( void  ) const
inlinevirtual

Length of array index.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 80 of file lmdagm.h.

References Chroma::MdagMLinOpArray< T >::A.

Referenced by Chroma::MdagMLinOpArray< T >::operator()().

◆ subset()

template<typename T >
const Subset& Chroma::MdagMLinOpArray< T >::subset ( void  ) const
inlinevirtual

Subset comes from underlying operator.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 83 of file lmdagm.h.

References Chroma::MdagMLinOpArray< T >::A.

Member Data Documentation

◆ A

template<typename T >
Handle< LinearOperatorArray<T> > Chroma::MdagMLinOpArray< T >::A
private

The documentation for this class was generated from the following file: