CHROMA
|
Unpreconditioned Extended-Overlap (N&N) linear operator. More...
#include <unprec_ovlap_contfrac5d_linop_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecOvlapContFrac5DLinOpArray (const UnprecWilsonTypeFermAct< T, P, Q > &S_aux, Handle< FermState< T, P, Q > > state, const Real &_m_q, int _N5, const Real &_scale_fac, const multi1d< Real > &_alpha, const multi1d< Real > &_beta, int _NEig, const multi1d< Real > &_EigValFunc, const multi1d< LatticeFermion > &_EigVec, const bool _isLastZeroP) | |
Full constructor. More... | |
int | size () const |
Length of DW flavor index/space. More... | |
~UnprecOvlapContFrac5DLinOpArray () | |
Destructor is automatic. More... | |
const Subset & | subset () const |
Only defined on the entire lattice. More... | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. 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... | |
Public Member Functions inherited from Chroma::UnprecLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual | ~UnprecLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
const Subset & | subset () const |
Only defined on the 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... | |
virtual unsigned long | nFlops () const |
Private Attributes | |
Handle< DiffLinearOperator< T, P, Q > > | M |
Handle< FermBC< T, P, Q > > | fbc |
const Real | m_q |
const int | N5 |
const Real | scale_fac |
const multi1d< Real > | alpha |
const multi1d< Real > | beta |
const int | NEig |
const multi1d< LatticeFermion > | EigVec |
const multi1d< Real > | EigValFunc |
const bool | isLastZeroP |
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 25 of file unprec_ovlap_contfrac5d_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecOvlapContFrac5DLinOpArray::P |
Definition at line 31 of file unprec_ovlap_contfrac5d_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecOvlapContFrac5DLinOpArray::Q |
Definition at line 32 of file unprec_ovlap_contfrac5d_linop_array_w.h.
typedef LatticeFermion Chroma::UnprecOvlapContFrac5DLinOpArray::T |
Definition at line 30 of file unprec_ovlap_contfrac5d_linop_array_w.h.
|
inline |
Full constructor.
Definition at line 35 of file unprec_ovlap_contfrac5d_linop_array_w.h.
References isLastZeroP.
|
inline |
Destructor is automatic.
Definition at line 58 of file unprec_ovlap_contfrac5d_linop_array_w.h.
|
virtual |
Derivative.
Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 149 of file unprec_ovlap_contfrac5d_linop_array_w.cc.
References beta, Chroma::chi(), Chroma::END_CODE(), Chroma::G5, getFermBC(), Chroma::isign, isLastZeroP, M, Chroma::MINUS, n, N5, Nd, NEig, Chroma::PLUS, Chroma::psi, Chroma::QDP_error_exit(), scale_fac, Chroma::START_CODE(), tmp2, and Chroma::zero.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 64 of file unprec_ovlap_contfrac5d_linop_array_w.h.
References fbc.
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 22 of file unprec_ovlap_contfrac5d_linop_array_w.cc.
References alpha, beta, Chroma::chi(), EigValFunc, EigVec, Chroma::END_CODE(), Chroma::G5, getFermBC(), Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), isLastZeroP, m_q, Chroma::mass, n, N5, NEig, Chroma::PLUS, Chroma::psi, scale_fac, Chroma::START_CODE(), tmp2, and Chroma::zero.
|
inlinevirtual |
Length of DW flavor index/space.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 55 of file unprec_ovlap_contfrac5d_linop_array_w.h.
References N5.
|
inlinevirtual |
Only defined on the entire lattice.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 61 of file unprec_ovlap_contfrac5d_linop_array_w.h.
|
private |
Definition at line 82 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by operator()().
|
private |
Definition at line 83 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by deriv(), and operator()().
|
private |
Definition at line 86 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by operator()().
|
private |
Definition at line 85 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by operator()().
Definition at line 78 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by getFermBC().
|
private |
Definition at line 87 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by deriv(), operator()(), and UnprecOvlapContFrac5DLinOpArray().
|
private |
Definition at line 77 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by deriv().
|
private |
Definition at line 79 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by operator()().
|
private |
Definition at line 80 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by deriv(), operator()(), and size().
|
private |
Definition at line 84 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by deriv(), and operator()().
|
private |
Definition at line 81 of file unprec_ovlap_contfrac5d_linop_array_w.h.
Referenced by deriv(), and operator()().