CHROMA
|
Unpreconditioned Hamber-Wu operator. More...
#include <unprec_hamberwu_linop_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecHamberWuLinOp () | |
Partial constructor. More... | |
UnprecHamberWuLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &u0_) | |
Full constructor. More... | |
~UnprecHamberWuLinOp () | |
Destructor is automatic. 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 &u0_) |
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 HamberWu dM/dU. More... | |
unsigned long | nFlops () const |
Return flops performed by the operator() 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... | |
Private Attributes | |
Real | Mass |
Real | u0 |
Real | fact1 |
Real | fact2 |
Real | fact3 |
Real | fact4 |
multi1d< LatticeColorMatrix > | u_dble |
WilsonDslash | D |
Unpreconditioned Hamber-Wu operator.
Definition at line 20 of file unprec_hamberwu_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecHamberWuLinOp::P |
Definition at line 26 of file unprec_hamberwu_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecHamberWuLinOp::Q |
Definition at line 27 of file unprec_hamberwu_linop_w.h.
typedef LatticeFermion Chroma::UnprecHamberWuLinOp::T |
Definition at line 25 of file unprec_hamberwu_linop_w.h.
|
inline |
Partial constructor.
Definition at line 30 of file unprec_hamberwu_linop_w.h.
|
inline |
Destructor is automatic.
Definition at line 38 of file unprec_hamberwu_linop_w.h.
void Chroma::UnprecHamberWuLinOp::create | ( | Handle< FermState< T, P, Q > > | fs, |
const Real & | Mass_, | ||
const Real & | u0_ | ||
) |
Creation routine.
u_ | gauge field (Read) |
Mass_ | fermion kappa (Read) |
Definition at line 19 of file unprec_hamberwu_linop_w.cc.
References FORWARD, Mass, mu, Nd, Chroma::u, and u0.
Referenced by UnprecHamberWuLinOp().
|
virtual |
Derivative of unpreconditioned HamberWu dM/dU.
Derivative of unpreconditioned Hamber-Wu 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 109 of file unprec_hamberwu_linop_w.cc.
References chi, END_CODE, Chroma::isign, mu, Nd, psi, Chroma::QDP_error_exit(), and START_CODE.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 41 of file unprec_hamberwu_linop_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
|
virtual |
Return flops performed by the operator()
Reimplemented from Chroma::LinearOperator< LatticeFermion >.
Definition at line 92 of file unprec_hamberwu_linop_w.cc.
References Nd.
|
virtual |
Apply the operator onto a source std::vector.
Implements Chroma::LinearOperator< LatticeFermion >.
Definition at line 45 of file unprec_hamberwu_linop_w.cc.
References BACKWARD, chi, END_CODE, FORWARD, Chroma::isign, mu, Nd, Chroma::PLUS, psi, START_CODE, tmp2, and Chroma::zero.
|
private |
Definition at line 65 of file unprec_hamberwu_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 60 of file unprec_hamberwu_linop_w.h.
|
private |
Definition at line 61 of file unprec_hamberwu_linop_w.h.
|
private |
Definition at line 62 of file unprec_hamberwu_linop_w.h.
|
private |
Definition at line 63 of file unprec_hamberwu_linop_w.h.
|
private |
Definition at line 58 of file unprec_hamberwu_linop_w.h.
|
private |
Definition at line 59 of file unprec_hamberwu_linop_w.h.
|
private |
Definition at line 64 of file unprec_hamberwu_linop_w.h.