CHROMA
|
Even-odd prec. 5D continued fraction linop. More...
#include <eoprec_ovlap_contfrac5d_linop_array_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
![]() | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
QDPEvenOddPrecOvlapContFrac5DLinOpArray (Handle< FermState< T, P, Q > > state, const Real &_m_q, const Real &_OverMass, int _N5, const Real &_scale_fac, const multi1d< Real > &_alpha, const multi1d< Real > &_beta, const bool _isLastZeroP) | |
Full constructor. More... | |
~QDPEvenOddPrecOvlapContFrac5DLinOpArray () | |
Destructor is automatic. More... | |
![]() | |
EvenOddPrecOvlapContFrac5DLinOpBaseArray (Handle< FermState< T, P, Q > > state, const Real &_m_q, const Real &_OverMass, int _N5, const Real &_scale_fac, const multi1d< Real > &_alpha, const multi1d< Real > &_beta, const bool _isLastZeroP) | |
Full constructor. More... | |
int | size () const |
Length of DW flavor index/space. More... | |
~EvenOddPrecOvlapContFrac5DLinOpBaseArray () | |
Destructor is automatic. More... | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. More... | |
void | evenEvenLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Only defined on the entire lattice. More... | |
void | oddOddLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-odd block onto a source std::vector. More... | |
void | evenOddLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the even-odd block onto a source std::vector. More... | |
void | oddEvenLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-even block onto a source std::vector. More... | |
void | evenEvenInvLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the inverse of the even-even block onto a source std::vector. More... | |
void | oddOddInvLinOp (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the inverse of the odd-odd block onto a source std::vector. More... | |
void | derivEvenEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the even-even block onto a source std::vector. More... | |
void | derivOddOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-odd block onto a source std::vector. More... | |
void | derivEvenOddLinOp (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the even-odd block onto a source std::vector. More... | |
void | derivOddEvenLinOp (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the the odd-even block onto a source std::vector. More... | |
unsigned long | evenEvenNFlops (void) const |
Return flops performed by the evenEvenLinOp. More... | |
unsigned long | oddOddNFlops (void) const |
Return flops performed by the oddOddLinOp. More... | |
unsigned long | evenOddNFlops (void) const |
Return flops performed by the evenOddLinOp. More... | |
unsigned long | oddEvenNFlops (void) const |
Return flops performed by the oddEvenLinOp. More... | |
unsigned long | evenEvenInvNFlops (void) const |
Return flops performed by the evenEvenInvLinOp. More... | |
unsigned long | nFlops () const |
Return flops performed by the operator() More... | |
![]() | |
virtual | ~EvenOddPrecConstDetLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
const Subset & | subset () const |
Only defined on the odd lattice. More... | |
virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
![]() | |
virtual | ~EvenOddPrecLinearOperatorArray () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
virtual void | unprecLinOp (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
Apply the UNPRECONDITIONED operator onto a source std::vector. More... | |
virtual void | derivUnprecLinOp (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
virtual void | applyDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
Apply the even-even (odd-odd) coupling piece of the domain-wall fermion operator. More... | |
virtual void | applyDiagInv (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
Apply the inverse even-even (odd-odd) coupling piece of the domain-wall fermion operator. More... | |
virtual void | applyOffDiag (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, const int cb) const |
Apply the off diagonal block. More... | |
virtual void | applyDerivOffDiag (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign, int cb) const |
Apply the even-odd (odd-even) coupling piece of the NEF operator. More... | |
unsigned long | diagNFlops (void) const |
Return flops performed by the diagonal part. More... | |
unsigned long | offDiagNFlops (void) const |
Return flops performed by the diagonal part. More... | |
unsigned long | diagInvNFlops (void) const |
Return flops performed by the diagonal part. More... | |
![]() | |
WilsonDslashArray | Dslash |
const Real | m_q |
const Real | OverMass |
const int | N5 |
const Real | scale_fac |
const multi1d< Real > | alpha |
const multi1d< Real > | beta |
const bool | isLastZeroP |
multi1d< Real > | beta_tilde |
multi1d< Real > | a |
multi1d< Real > | invd |
multi1d< Real > | u |
multi1d< Real > | off_diag_coeff |
Even-odd prec. 5D continued fraction linop.
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))
The details of this operator are in some lattice proceedings by Joo,Kennedy,Wenger
Just uses default base class
Definition at line 27 of file eoprec_ovlap_contfrac5d_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::P |
Definition at line 32 of file eoprec_ovlap_contfrac5d_linop_array_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::Q |
Definition at line 33 of file eoprec_ovlap_contfrac5d_linop_array_w.h.
typedef LatticeFermion Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::T |
Definition at line 31 of file eoprec_ovlap_contfrac5d_linop_array_w.h.
|
inline |
Full constructor.
Pretty darn the same as for the unprec case except that the auxiliary linop M is no longer supplied, but is created here
Definition at line 40 of file eoprec_ovlap_contfrac5d_linop_array_w.h.
|
inline |
Destructor is automatic.
Definition at line 59 of file eoprec_ovlap_contfrac5d_linop_array_w.h.