CHROMA
|
Unpreconditioned H_T kernel continued fraction (5D) operator. More...
#include <unprec_ht_contfrac5d_linop_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecHTContFrac5DLinOpArray (Handle< FermState< T, P, Q > > fs, const Real &OverMass_, const Real &_m_q, int _N5, const Real &b5_, const Real &c5_, const multi1d< Real > &_alpha, const multi1d< Real > &_beta, const bool _isLastZeroP) | |
Full constructor. More... | |
int | size () const |
Length of DW flavor index/space. More... | |
~UnprecHTContFrac5DLinOpArray () | |
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... | |
![]() | |
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 |
Apply the derivative of the operator onto a source std::vector. 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 | |
void | init (Handle< FermState< T, P, Q > > fs, const Real &b5, const Real &c5) |
void | operator= (const UnprecHTContFrac5DLinOpArray &) |
Partial constructor. More... | |
Private Attributes | |
Handle< LinearOperator< T > > | D_w |
Handle< LinearOperator< T > > | D_denum |
Handle< FermBC< T, P, Q > > | fbc |
const Real | OverMass |
const Real | m_q |
const int | N5 |
Real | scale_fac |
Real | a5 |
const multi1d< Real > | alpha |
const multi1d< Real > | beta |
const bool | isLastZeroP |
Unpreconditioned H_T kernel continued fraction (5D) operator.
This operator applies the non-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_T(m))
Here, H_T = (b5 + c5) H_w * ( 2 + (b5 - c5) D_w )^(-1) = (b5 + c5) ( 2 + (b5 - c5) D_w^dag )^(-1) * H_w
The denom is multiplied through the 5D system of equations to the RHS
Definition at line 30 of file unprec_ht_contfrac5d_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecHTContFrac5DLinOpArray::P |
Definition at line 36 of file unprec_ht_contfrac5d_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecHTContFrac5DLinOpArray::Q |
Definition at line 37 of file unprec_ht_contfrac5d_linop_array_w.h.
typedef LatticeFermion Chroma::UnprecHTContFrac5DLinOpArray::T |
Definition at line 35 of file unprec_ht_contfrac5d_linop_array_w.h.
|
inline |
Full constructor.
Definition at line 40 of file unprec_ht_contfrac5d_linop_array_w.h.
References init(), and isLastZeroP.
|
inline |
Destructor is automatic.
Definition at line 61 of file unprec_ht_contfrac5d_linop_array_w.h.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperatorArray< T, P, Q >.
Definition at line 67 of file unprec_ht_contfrac5d_linop_array_w.h.
References fbc.
Referenced by operator()().
|
protected |
Definition at line 15 of file unprec_ht_contfrac5d_linop_array_w.cc.
References a5, D_denum, D_w, fbc, OverMass, scale_fac, and Chroma::state.
Referenced by UnprecHTContFrac5DLinOpArray().
|
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 35 of file unprec_ht_contfrac5d_linop_array_w.cc.
References alpha, beta, Chroma::chi(), Chroma::END_CODE(), Chroma::G5, getFermBC(), Chroma::isign, isLastZeroP, m_q, Chroma::mass, Chroma::MINUS, n, N5, Chroma::PLUS, Chroma::psi, scale_fac, Chroma::START_CODE(), and tmp2.
|
inlineprotected |
|
inlinevirtual |
Length of DW flavor index/space.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 58 of file unprec_ht_contfrac5d_linop_array_w.h.
References N5.
|
inlinevirtual |
Only defined on the entire lattice.
Implements Chroma::LinearOperatorArray< T >.
Definition at line 64 of file unprec_ht_contfrac5d_linop_array_w.h.
|
private |
Definition at line 91 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by init().
|
private |
Definition at line 92 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by operator()().
|
private |
Definition at line 93 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by operator()().
|
private |
Definition at line 85 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by init().
|
private |
Definition at line 84 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by init().
Definition at line 86 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by getFermBC(), and init().
|
private |
Definition at line 94 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by operator()(), and UnprecHTContFrac5DLinOpArray().
|
private |
Definition at line 88 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by operator()().
|
private |
Definition at line 89 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by operator()(), and size().
|
private |
Definition at line 87 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by init().
|
private |
Definition at line 90 of file unprec_ht_contfrac5d_linop_array_w.h.
Referenced by init(), and operator()().