|
CHROMA
|
Optimized Even-odd prec. 5D continued fraction linop. More...
#include <eoprec_ovlap_contfrac5d_linop_array_opt_w.h>
Public Member Functions | |
| OptEvenOddPrecOvlapContFrac5DLinOpArray (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... | |
| ~OptEvenOddPrecOvlapContFrac5DLinOpArray () | |
| Destructor is automatic. More... | |
Public Member Functions inherited from Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray | |
| 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... | |
Public Member Functions inherited from Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
| 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... | |
Public Member Functions inherited from Chroma::EvenOddPrecLinearOperatorArray< T, P, Q > | |
| 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 |
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... | |
Protected Member Functions | |
| 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... | |
Protected Member Functions inherited from Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray | |
| 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 | 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... | |
Additional Inherited Members | |
Public Types inherited from Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Protected Attributes inherited from Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray | |
| 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 |
Optimized 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
Definition at line 25 of file eoprec_ovlap_contfrac5d_linop_array_opt_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 34 of file eoprec_ovlap_contfrac5d_linop_array_opt_w.h.
|
inline |
Destructor is automatic.
Definition at line 53 of file eoprec_ovlap_contfrac5d_linop_array_opt_w.h.