CHROMA
|
Asqtad Staggered-Dirac operator. More...
#include <asqtad_mdagm_s.h>
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 |
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.
|
inline |
Partial constructor.
Definition at line 50 of file asqtad_mdagm_s.h.
|
inline |
Full constructor.
Definition at line 53 of file asqtad_mdagm_s.h.
References create(), and Chroma::state.
|
inline |
Destructor is automatic.
Definition at line 60 of file asqtad_mdagm_s.h.
|
inlinevirtual |
Return the fermion BC object for this linear operator.
Definition at line 68 of file asqtad_mdagm_s.h.
References D, and Chroma::QDPStaggeredDslash::getFermBC().
|
inlinevirtual |
Only defined on the even subset.
Implements Chroma::LinearOperator< T >.
Definition at line 63 of file asqtad_mdagm_s.h.
|
private |
Definition at line 75 of file asqtad_mdagm_s.h.
Referenced by getFermBC().
|
private |
Definition at line 74 of file asqtad_mdagm_s.h.