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

Asqtad Staggered-Dirac operator. More...

#include <asqtad_mdagm_s.h>

Inheritance diagram for Chroma::AsqtadMdagM:
Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::LinearOperator< T >

Public Member Functions

 AsqtadMdagM ()
 Partial constructor. More...
 
 AsqtadMdagM (Handle< AsqtadConnectStateBase > state, const Real &Mass_)
 Full constructor. More...
 
void create (Handle< AsqtadConnectStateBase > state, const Real &Mass_)
 Creation routine. More...
 
 ~AsqtadMdagM ()
 Destructor is automatic. More...
 
const Subset & subset () const
 Only defined on the even subset. More...
 
const FermBC< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
void operator() (LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
 Apply the derivative of the operator onto a source std::vector. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
virtual void derivMultipole (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeStaggeredFermion > &chi, const multi1d< LatticeStaggeredFermion > &psi, enum PlusMinus isign) const
 Return the force for multiple poles. More...
 
- Public Member Functions inherited from Chroma::LinearOperator< T >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (T &chi, const T &psi, enum PlusMinus isign) const =0
 Apply the operator onto a source std::vector. More...
 
virtual void operator() (T &chi, const T &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 
virtual unsigned long nFlops () const
 

Private Attributes

Real Mass
 
AsqtadDslash D
 

Detailed Description

Asqtad Staggered-Dirac operator.

This routine is specific to Staggered fermions!

                                      +

This subroutine applies the matrix or (M M) to the std::vector E,E Psi,

               {   ~
               {   M(U) . Psi              if  ISign = PLUS
       Chi  =  {
               {   ~   +
               {   M(U)  . Psi             if  ISign = MINUS

NEED TO THINK MORE ABOUT THE ISIGN HERE AS IS IT NOT REALLY NEEDED!!! FOR NOW JUST CALL THIS ROUTINE WITH A PLUS!!

Algorithm:

The kernel for Staggered fermions is

Definition at line 45 of file asqtad_mdagm_s.h.

Constructor & Destructor Documentation

◆ AsqtadMdagM() [1/2]

Chroma::AsqtadMdagM::AsqtadMdagM ( )
inline

Partial constructor.

Definition at line 50 of file asqtad_mdagm_s.h.

◆ AsqtadMdagM() [2/2]

Chroma::AsqtadMdagM::AsqtadMdagM ( Handle< AsqtadConnectStateBase state,
const Real &  Mass_ 
)
inline

Full constructor.

Definition at line 53 of file asqtad_mdagm_s.h.

References create(), and Chroma::state.

◆ ~AsqtadMdagM()

Chroma::AsqtadMdagM::~AsqtadMdagM ( )
inline

Destructor is automatic.

Definition at line 60 of file asqtad_mdagm_s.h.

Member Function Documentation

◆ getFermBC()

const FermBC<LatticeStaggeredFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> >& Chroma::AsqtadMdagM::getFermBC ( ) const
inlinevirtual

Return the fermion BC object for this linear operator.

Implements Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 68 of file asqtad_mdagm_s.h.

References D, and Chroma::QDPStaggeredDslash::getFermBC().

◆ subset()

const Subset& Chroma::AsqtadMdagM::subset ( void  ) const
inlinevirtual

Only defined on the even subset.

Implements Chroma::LinearOperator< T >.

Definition at line 63 of file asqtad_mdagm_s.h.

Member Data Documentation

◆ D

AsqtadDslash Chroma::AsqtadMdagM::D
private

Definition at line 75 of file asqtad_mdagm_s.h.

Referenced by getFermBC().

◆ Mass

Real Chroma::AsqtadMdagM::Mass
private

Definition at line 74 of file asqtad_mdagm_s.h.


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