|
CHROMA
|
Unpreconditioned Wilson-Dirac operator with parity breaking term. More...
#include <unprec_parwilson_linop_w.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| UnprecParWilsonLinOp () | |
| Partial constructor. More... | |
| UnprecParWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &H_) | |
| Full constructor. More... | |
| ~UnprecParWilsonLinOp () | |
| Destructor is automatic. More... | |
| const Subset & | subset () const |
| Only defined on the odd subset. More... | |
| const FermBC< T, P, Q > & | getFermBC () const |
| Return the fermion BC object for this linear operator. More... | |
| void | create (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &H_) |
| Creation routine. More... | |
| void | operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Apply the operator onto a source std::vector. More... | |
| void | deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
| Derivative of unpreconditioned ParWilson dM/dU. More... | |
Public Member Functions inherited from Chroma::UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
| virtual | ~UnprecLinearOperator () |
| Virtual destructor to help with cleanup;. More... | |
| const Subset & | subset () const |
| Only defined on the entire lattice. More... | |
Public Member Functions inherited from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
| virtual | ~DiffLinearOperator () |
| Virtual destructor to help with cleanup;. More... | |
| virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &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< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
| Return the force for multiple poles. More... | |
Public Member Functions inherited from Chroma::LinearOperator< LatticeFermion > | |
| virtual | ~LinearOperator () |
| Virtual destructor to help with cleanup;. More... | |
| virtual void | operator() (LatticeFermion &chi, const LatticeFermion &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 |
| Real | H |
| WilsonDslash | D |
Unpreconditioned Wilson-Dirac operator with parity breaking term.
This routine is specific to Wilson fermions!
~ ~+
This subroutine applies the unpreconditioned matrix M or M the std::vector Psi,
{ ~
{ M(U) . Psi if ISign = PLUS
Chi = {
{ ~ +
{ M(U) . Psi if ISign = MINUS
Algorithm:
The kernel for Wilson fermions with a parity breaking term is
M = (d+M) + i*H*gamma_5 - (1/2) D'
Definition at line 39 of file unprec_parwilson_linop_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::UnprecParWilsonLinOp::P |
Definition at line 45 of file unprec_parwilson_linop_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::UnprecParWilsonLinOp::Q |
Definition at line 46 of file unprec_parwilson_linop_w.h.
| typedef LatticeFermion Chroma::UnprecParWilsonLinOp::T |
Definition at line 44 of file unprec_parwilson_linop_w.h.
|
inline |
Partial constructor.
Definition at line 49 of file unprec_parwilson_linop_w.h.
|
inline |
Destructor is automatic.
Definition at line 57 of file unprec_parwilson_linop_w.h.
|
virtual |
Derivative of unpreconditioned ParWilson dM/dU.
| 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::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 89 of file unprec_parwilson_linop_w.cc.
References chi, END_CODE, Chroma::isign, mu, Nd, psi, and START_CODE.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 63 of file unprec_parwilson_linop_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
|
inlinevirtual |
Only defined on the odd subset.
Implements Chroma::LinearOperator< LatticeFermion >.
Definition at line 60 of file unprec_parwilson_linop_w.h.
|
private |
Definition at line 81 of file unprec_parwilson_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 79 of file unprec_parwilson_linop_w.h.
|
private |
Definition at line 78 of file unprec_parwilson_linop_w.h.