CHROMA
|
General Wilson-Dirac dslash over arrays. More...
#include <lwldslash_base_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
virtual | ~WilsonDslashBaseArray () |
No real need for cleanup here. More... | |
const Subset & | subset () const |
Subset is all here. More... | |
virtual void | apply (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const =0 |
virtual void | apply (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int cb) const =0 |
virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Take deriv of D. More... | |
virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const |
Take deriv of D. More... | |
virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int cb) const |
Take deriv of D. More... | |
unsigned long | nFlops () const |
Return flops performed by the operator() More... | |
virtual const FermBC< T, P, Q > & | getFermBC () const =0 |
Return the fermion BC object for this linear operator. More... | |
Public Member Functions inherited from Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual | ~DslashLinearOperatorArray () |
Virtual destructor to help in cleanup. More... | |
virtual int | size () const=0 |
Expected length of array index. More... | |
virtual void | operator() (multi1d< LatticeFermion > &d, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply operator on both checkerboards (entire lattice) More... | |
Public Member Functions inherited from Chroma::DiffLinearOperatorArray< T, P, Q > | |
virtual | ~DiffLinearOperatorArray () |
Virtual destructor to help with cleanup;. 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 onto a source std::vector to some precision. 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... | |
Protected Member Functions | |
virtual const multi1d< Real > & | getCoeffs () const =0 |
Get the anisotropy parameters. More... | |
General Wilson-Dirac dslash over arrays.
DSLASH
This routine is specific to Wilson fermions!
Description:
This routine applies the operator D' to Psi, putting the result in Chi.
Nd-1 --- \
chi(x) := > U (x) (1 - isign gamma ) psi(x+mu)
mu=0
Nd-1 --- \ + + > U (x-mu) (1 + isign gamma ) psi(x-mu) / mu mu --- mu=0
Definition at line 45 of file lwldslash_base_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::WilsonDslashBaseArray::P |
Definition at line 51 of file lwldslash_base_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::WilsonDslashBaseArray::Q |
Definition at line 52 of file lwldslash_base_array_w.h.
typedef LatticeFermion Chroma::WilsonDslashBaseArray::T |
Definition at line 50 of file lwldslash_base_array_w.h.
|
inlinevirtual |
No real need for cleanup here.
Definition at line 55 of file lwldslash_base_array_w.h.
|
pure virtual |
Apply a dslash
chi | result (Write) |
psi | source (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
cb | Checkerboard of OUTPUT std::vector (Read) |
Implemented in Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.
|
pure virtual |
Apply a std::vector dslash
chi | result (Write) |
psi | source (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
cb | Checkerboard of OUTPUT std::vector (Read) |
Implemented in Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.
|
virtual |
Take deriv of D.
chi | left std::vector (Read) |
psi | right std::vector (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
cb | Checkerboard of chi std::vector (Read) |
Definition at line 67 of file lwldslash_base_array_w.cc.
References Chroma::cb, Chroma::chi(), Chroma::END_CODE(), FORWARD, getCoeffs(), getFermBC(), Chroma::isign, Chroma::MINUS, mu, Nd, Chroma::PLUS, Chroma::psi, Chroma::QDP_error_exit(), Chroma::START_CODE(), and Chroma::zero.
|
virtual |
Take deriv of D.
chi | left std::vector (Read) |
psi | right std::vector (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
Reimplemented from Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 20 of file lwldslash_base_array_w.cc.
References Chroma::chi(), Chroma::isign, n, Nd, Chroma::psi, and Chroma::zero.
Referenced by Chroma::EvenOddPrecHtContFrac5DLinOpArray::applyDerivOffDiag(), Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray::applyDerivOffDiag(), Chroma::EvenOddPrecOvlapContFrac5DPVLinOpArray::applyDerivOffDiag(), and deriv().
|
virtual |
Take deriv of D.
chi | left std::vector on cb (Read) |
psi | right std::vector on 1-cb (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
cb | Checkerboard of chi std::vector (Read) |
Reimplemented from Chroma::DslashLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 42 of file lwldslash_base_array_w.cc.
References Chroma::cb, Chroma::chi(), deriv(), Chroma::END_CODE(), Chroma::isign, n, Nd, Chroma::psi, Chroma::START_CODE(), and Chroma::zero.
|
protectedpure virtual |
Get the anisotropy parameters.
Implemented in Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.
Referenced by deriv().
Return the fermion BC object for this linear operator.
Implemented in Chroma::QDPWilsonDslashArray, Chroma::SSEWilsonDslashArray, Chroma::QDPWilsonDslashArrayOpt, and Chroma::PABWilsonDslashArray.
Referenced by deriv().
|
virtual |
Return flops performed by the operator()
Reimplemented from Chroma::LinearOperatorArray< T >.
Definition at line 166 of file lwldslash_base_array_w.cc.
|
inlinevirtual |
Subset is all here.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 58 of file lwldslash_base_array_w.h.