CHROMA
Public Types | Public Member Functions | List of all members

Even-odd prec. 5D continued fraction linop. More...

#include <eoprec_ovlap_contfrac5d_linop_array_w.h>

Inheritance diagram for Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray:
Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray Chroma::EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::EvenOddPrecLinearOperatorArray< T, P, Q > Chroma::DiffLinearOperatorArray< T, P, Q > Chroma::LinearOperatorArray< T >

Public Types

typedef LatticeFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 
- Public Types inherited from Chroma::EvenOddPrecOvlapContFrac5DLinOpBaseArray
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...
 
- 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...
 

Additional Inherited Members

- 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 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...
 
- 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
 

Detailed Description

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.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::P

Definition at line 32 of file eoprec_ovlap_contfrac5d_linop_array_w.h.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::Q

Definition at line 33 of file eoprec_ovlap_contfrac5d_linop_array_w.h.

◆ T

Definition at line 31 of file eoprec_ovlap_contfrac5d_linop_array_w.h.

Constructor & Destructor Documentation

◆ QDPEvenOddPrecOvlapContFrac5DLinOpArray()

Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::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 
)
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.

◆ ~QDPEvenOddPrecOvlapContFrac5DLinOpArray()

Chroma::QDPEvenOddPrecOvlapContFrac5DLinOpArray::~QDPEvenOddPrecOvlapContFrac5DLinOpArray ( )
inline

Destructor is automatic.

Definition at line 59 of file eoprec_ovlap_contfrac5d_linop_array_w.h.


The documentation for this class was generated from the following file: