CHROMA
|
Unpreconditioned Extended-Overlap (N&N) linear operator. More...
#include <unprec_ovext_linop_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecOvExtLinOpArray (Handle< FermState< T, P, Q > > fs, const int Npoles_, const Real &coeffP_, const multi1d< Real > &resP_, const multi1d< Real > &rootQ_, const multi1d< Real > &beta_, const Real &OverMass_, const Real &Mass_, const Real &b5_, const Real &c5_) | |
Full constructor. More... | |
void | create (Handle< FermState< T, P, Q > > fs, const int Npoles_, const Real &coeffP_, const multi1d< Real > &resP_, const multi1d< Real > &rootQ_, const multi1d< Real > &beta_, const Real &OverMass_, const Real &m_q_, const Real &b5_, const Real &c5_) |
Creation routine. More... | |
int | size () const |
Length of DW flavor index/space. More... | |
~UnprecOvExtLinOpArray () | |
Destructor is automatic. More... | |
const Subset & | subset () const |
Only defined on the entire lattice. More... | |
void | operator() (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
void | deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Derivative. More... | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. More... | |
![]() | |
virtual | ~UnprecLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
const Subset & | subset () const |
Only defined on the entire lattice. More... | |
![]() | |
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... | |
![]() | |
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... | |
virtual unsigned long | nFlops () const |
Protected Member Functions | |
UnprecOvExtLinOpArray () | |
Partial constructor. More... | |
void | operator= (const UnprecOvExtLinOpArray &) |
Hide =. More... | |
Private Attributes | |
UnprecWilsonLinOp | Dw |
Handle< FermBC< T, P, Q > > | fbc |
int | Npoles |
int | N5 |
Real | R |
Real | alpha |
Real | a5 |
Real | coeffP |
multi1d< Real > | p_by_beta_sqrt |
multi1d< Real > | q_sqrt |
multi1d< Real > | beta |
Unpreconditioned Extended-Overlap (N&N) linear operator.
This operator applies the extended version of the hermitian overlap operator Chi = ((1+m_q)/(1-m_q)*gamma_5 + B) . Psi where B is the continued fraction of the pole approx. to eps(H(m))
This operator implements hep-lat/0005004
Definition at line 29 of file unprec_ovext_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecOvExtLinOpArray::P |
Definition at line 35 of file unprec_ovext_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecOvExtLinOpArray::Q |
Definition at line 36 of file unprec_ovext_linop_array_w.h.
typedef LatticeFermion Chroma::UnprecOvExtLinOpArray::T |
Definition at line 34 of file unprec_ovext_linop_array_w.h.
|
inline |
Full constructor.
Definition at line 39 of file unprec_ovext_linop_array_w.h.
|
inline |
Destructor is automatic.
Definition at line 69 of file unprec_ovext_linop_array_w.h.
|
inlineprotected |
Partial constructor.
Definition at line 88 of file unprec_ovext_linop_array_w.h.
|
virtual |
Derivative.
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 279 of file unprec_ovext_linop_array_w.cc.
References Chroma::END_CODE(), getFermBC(), and Chroma::START_CODE().
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 84 of file unprec_ovext_linop_array_w.h.
Referenced by deriv(), and operator()().
|
virtual |
Apply the operator onto a source std::vector.
The operator acts on the entire lattice
psi | Pseudofermion field (Read) |
isign | Flag ( PLUS | MINUS ) (Read) |
Implements Chroma::LinearOperatorArray< T >.
Definition at line 62 of file unprec_ovext_linop_array_w.cc.
References a5, alpha, beta, Chroma::chi(), coeffP, Dw, Chroma::END_CODE(), Chroma::G5, getFermBC(), Chroma::i, Chroma::isign, Chroma::MINUS, N5, Chroma::p, p_by_beta_sqrt, Chroma::PLUS, Chroma::psi, q_sqrt, R, and Chroma::START_CODE().
|
inlineprotected |
Hide =.
Definition at line 90 of file unprec_ovext_linop_array_w.h.
|
inlinevirtual |
Length of DW flavor index/space.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 66 of file unprec_ovext_linop_array_w.h.
References N5.
|
inlinevirtual |
Only defined on the entire lattice.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 72 of file unprec_ovext_linop_array_w.h.
|
private |
Definition at line 99 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 98 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 103 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 100 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 93 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
Definition at line 94 of file unprec_ovext_linop_array_w.h.
Referenced by create().
|
private |
Definition at line 96 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 95 of file unprec_ovext_linop_array_w.h.
Referenced by create().
|
private |
Definition at line 101 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 102 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 97 of file unprec_ovext_linop_array_w.h.
Referenced by create(), and operator()().