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

M^dag.M linear operator. More...

#include <lmdagm.h>

Inheritance diagram for Chroma::approx_lmdagm< T >:
Chroma::LinearOperator< T >

Public Member Functions

 approx_lmdagm (LinearOperator< T > *p)
 Initialize pointer with existing pointer. More...
 
 approx_lmdagm (Handle< LinearOperator< T > > p)
 Copy pointer (one more owner) More...
 
 ~approx_lmdagm ()
 Destructor. More...
 
const Subset & subset () const
 Subset comes from underlying operator. More...
 
void operator() (T &chi, const T &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
void operator() (T &chi, const T &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector. More...
 
- Public Member Functions inherited from Chroma::LinearOperator< T >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual unsigned long nFlops () const
 

Private Attributes

Handle< LinearOperator< T > > A
 

Detailed Description

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

M^dag.M linear operator.

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

Definition at line 111 of file lmdagm.h.

Constructor & Destructor Documentation

◆ approx_lmdagm() [1/2]

template<typename T >
Chroma::approx_lmdagm< T >::approx_lmdagm ( LinearOperator< T > *  p)
inline

Initialize pointer with existing pointer.

Requires that the pointer p is a return value of new

Definition at line 116 of file lmdagm.h.

◆ approx_lmdagm() [2/2]

template<typename T >
Chroma::approx_lmdagm< T >::approx_lmdagm ( Handle< LinearOperator< T > >  p)
inline

Copy pointer (one more owner)

Definition at line 119 of file lmdagm.h.

◆ ~approx_lmdagm()

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

Destructor.

Definition at line 122 of file lmdagm.h.

Member Function Documentation

◆ operator()() [1/2]

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

Apply the operator onto a source std::vector.

For this operator, the sign is ignored

Implements Chroma::LinearOperator< T >.

Definition at line 129 of file lmdagm.h.

References Chroma::chi(), Chroma::MINUS, Chroma::PLUS, Chroma::psi, and Chroma::tmp.

◆ operator()() [2/2]

template<typename T >
void Chroma::approx_lmdagm< T >::operator() ( T chi,
const T psi,
enum PlusMinus  isign,
Real  epsilon 
) const
inlinevirtual

Apply the operator onto a source std::vector.

For this operator, the sign is ignored

Reimplemented from Chroma::LinearOperator< T >.

Definition at line 139 of file lmdagm.h.

References Chroma::chi(), Chroma::ExternalFieldEnv::epsilon(), Chroma::MINUS, Chroma::PLUS, Chroma::psi, and Chroma::tmp.

◆ subset()

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

Subset comes from underlying operator.

Implements Chroma::LinearOperator< T >.

Definition at line 125 of file lmdagm.h.

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

Member Data Documentation

◆ A

template<typename T >
Handle< LinearOperator<T> > Chroma::approx_lmdagm< T >::A
private

Definition at line 148 of file lmdagm.h.

Referenced by Chroma::approx_lmdagm< T >::subset().


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