CHROMA
|
Unpreconditioned W12 operator. More...
#include <unprec_w12_linop_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecW12LinOp () | |
Partial constructor. More... | |
UnprecW12LinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams ¶m_) | |
Full constructor. More... | |
~UnprecW12LinOp () | |
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 CloverFermActParams ¶m_) |
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 W12 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... | |
Protected Member Functions | |
void | gamW (multi1d< LatticeFermion > &chi, const LatticeFermion &psi, int j_decay, enum PlusMinus isign) const |
GAMWM. More... | |
void | gamWmu (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, int j_decay, enum PlusMinus isign) const |
GAMWMUM. More... | |
Private Attributes | |
CloverFermActParams | param |
Real | aniso_fact |
Real | fact1 |
Real | fact2 |
Real | fact3 |
Real | fact4 |
int | j_decay |
multi1d< LatticeColorMatrix > | u |
CloverTerm | A |
Unpreconditioned W12 operator.
The W12 action does Chi = (m0 - (2/3*((1/2)*(1/4))*sigma.F + W' + (1/6)*W^2_mu) * Psi
Definition at line 22 of file unprec_w12_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecW12LinOp::P |
Definition at line 28 of file unprec_w12_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecW12LinOp::Q |
Definition at line 29 of file unprec_w12_linop_w.h.
typedef LatticeFermion Chroma::UnprecW12LinOp::T |
Definition at line 27 of file unprec_w12_linop_w.h.
|
inline |
Partial constructor.
Definition at line 32 of file unprec_w12_linop_w.h.
|
inline |
Destructor is automatic.
Definition at line 39 of file unprec_w12_linop_w.h.
void Chroma::UnprecW12LinOp::create | ( | Handle< FermState< T, P, Q > > | fs, |
const CloverFermActParams & | param_ | ||
) |
Creation routine.
Referenced by UnprecW12LinOp().
|
virtual |
Derivative of unpreconditioned W12 dM/dU.
Reimplemented from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
|
protected |
GAMWM.
Description:
This routine applies the operator W' to Psi, putting the result in Chi.
chi(x,mu) := + (1 - isign gamma ) U (x) psi(x+mu) mu mu
|
protected |
GAMWMUM.
This routine applies the operator W' to Psi, putting the result in Chi.
chi(x,mu) := + (1 - isign gamma ) U (x) psi (x+mu) mu mu mu
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 42 of file unprec_w12_linop_w.h.
References A, and Chroma::QDPCloverTermT< T, U >::getFermBC().
|
virtual |
Return flops performed by the operator()
Reimplemented from Chroma::LinearOperator< LatticeFermion >.
|
virtual |
Apply the operator onto a source std::vector.
Implements Chroma::LinearOperator< LatticeFermion >.
|
private |
Definition at line 101 of file unprec_w12_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 94 of file unprec_w12_linop_w.h.
|
private |
Definition at line 95 of file unprec_w12_linop_w.h.
|
private |
Definition at line 96 of file unprec_w12_linop_w.h.
|
private |
Definition at line 97 of file unprec_w12_linop_w.h.
|
private |
Definition at line 98 of file unprec_w12_linop_w.h.
|
private |
Definition at line 99 of file unprec_w12_linop_w.h.
|
private |
Definition at line 93 of file unprec_w12_linop_w.h.
|
private |
Definition at line 100 of file unprec_w12_linop_w.h.