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

Unpreconditioned Extended-Overlap (N&N) linear operator. More...

#include <unprec_ovlap_contfrac5d_nonhermop_array_w.h>

Inheritance diagram for Chroma::UnprecOvlapContFrac5DNonHermOpArray:
Chroma::UnprecLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperatorArray< T, P, Q > Chroma::LinearOperatorArray< T >

Public Types

typedef LatticeFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 

Public Member Functions

 UnprecOvlapContFrac5DNonHermOpArray (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)
 Full constructor. More...
 
int size () const
 Length of DW flavor index/space. More...
 
 ~UnprecOvlapContFrac5DNonHermOpArray ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
void operator() (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::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
 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...
 
- 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< LinearOperator< LatticeFermion > > 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
 

Detailed Description

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 26 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Member Typedef Documentation

◆ P

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

Definition at line 32 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

◆ Q

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

Definition at line 33 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

◆ T

Definition at line 31 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Constructor & Destructor Documentation

◆ UnprecOvlapContFrac5DNonHermOpArray()

Chroma::UnprecOvlapContFrac5DNonHermOpArray::UnprecOvlapContFrac5DNonHermOpArray ( 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 
)
inline

Full constructor.

Definition at line 36 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

◆ ~UnprecOvlapContFrac5DNonHermOpArray()

Chroma::UnprecOvlapContFrac5DNonHermOpArray::~UnprecOvlapContFrac5DNonHermOpArray ( )
inline

Destructor is automatic.

Definition at line 55 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Member Function Documentation

◆ getFermBC()

const FermBC<T,P,Q>& Chroma::UnprecOvlapContFrac5DNonHermOpArray::getFermBC ( ) const
inlinevirtual

Return the fermion BC object for this linear operator.

Implements Chroma::DiffLinearOperatorArray< T, P, Q >.

Definition at line 58 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

References fbc.

◆ operator()()

void Chroma::UnprecOvlapContFrac5DNonHermOpArray::operator() ( multi1d< LatticeFermion > &  chi,
const multi1d< LatticeFermion > &  psi,
enum PlusMinus  isign 
) const
virtual

Apply the operator onto a source std::vector.

The operator acts on the entire lattice

Parameters
psiPseudofermion field (Read)
isignFlag ( PLUS | MINUS ) (Read)

Implements Chroma::LinearOperatorArray< T >.

Definition at line 22 of file unprec_ovlap_contfrac5d_nonhermop_array_w.cc.

References alpha, beta, Chroma::chi(), EigValFunc, EigVec, Chroma::END_CODE(), Chroma::G5, Chroma::i, Chroma::InlinePropAndMatElemDistillation2Env::local::innerProduct(), Chroma::isign, m_q, Chroma::mass, Chroma::MINUS, n, N5, NEig, Chroma::PLUS, Chroma::psi, scale_fac, Chroma::START_CODE(), Chroma::tmp, and Chroma::zero.

◆ size()

int Chroma::UnprecOvlapContFrac5DNonHermOpArray::size ( void  ) const
inlinevirtual

Length of DW flavor index/space.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 52 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

References N5.

◆ subset()

const Subset& Chroma::UnprecOvlapContFrac5DNonHermOpArray::subset ( void  ) const
inlinevirtual

Only defined on the entire lattice.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 61 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Member Data Documentation

◆ alpha

const multi1d<Real> Chroma::UnprecOvlapContFrac5DNonHermOpArray::alpha
private

Definition at line 74 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().

◆ beta

const multi1d<Real> Chroma::UnprecOvlapContFrac5DNonHermOpArray::beta
private

Definition at line 75 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().

◆ EigValFunc

const multi1d<Real> Chroma::UnprecOvlapContFrac5DNonHermOpArray::EigValFunc
private

Definition at line 78 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().

◆ EigVec

const multi1d<LatticeFermion> Chroma::UnprecOvlapContFrac5DNonHermOpArray::EigVec
private

Definition at line 77 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().

◆ fbc

Handle< FermBC<T,P,Q> > Chroma::UnprecOvlapContFrac5DNonHermOpArray::fbc
private

Definition at line 70 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by getFermBC().

◆ M

Handle< LinearOperator<LatticeFermion> > Chroma::UnprecOvlapContFrac5DNonHermOpArray::M
private

Definition at line 69 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

◆ m_q

const Real Chroma::UnprecOvlapContFrac5DNonHermOpArray::m_q
private

Definition at line 71 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().

◆ N5

const int Chroma::UnprecOvlapContFrac5DNonHermOpArray::N5
private

Definition at line 72 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()(), and size().

◆ NEig

const int Chroma::UnprecOvlapContFrac5DNonHermOpArray::NEig
private

Definition at line 76 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().

◆ scale_fac

const Real Chroma::UnprecOvlapContFrac5DNonHermOpArray::scale_fac
private

Definition at line 73 of file unprec_ovlap_contfrac5d_nonhermop_array_w.h.

Referenced by operator()().


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