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

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

#include <unprec_ovext_linop_array_w.h>

Inheritance diagram for Chroma::UnprecOvExtLinOpArray:
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

 UnprecOvExtLinOpArray (Handle< FermState< T, P, Q > > fs, const int Npoles_, const Real &coeffP_, const multi1d< Real > &resP_, const multi1d< Real > &rootQ_, const multi1d< Real > &beta_, const Real &OverMass_, const Real &Mass_, const Real &b5_, const Real &c5_)
 Full constructor. More...
 
void create (Handle< FermState< T, P, Q > > fs, const int Npoles_, const Real &coeffP_, const multi1d< Real > &resP_, const multi1d< Real > &rootQ_, const multi1d< Real > &beta_, const Real &OverMass_, const Real &m_q_, const Real &b5_, const Real &c5_)
 Creation routine. More...
 
int size () const
 Length of DW flavor index/space. More...
 
 ~UnprecOvExtLinOpArray ()
 Destructor is automatic. 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...
 
void deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Derivative. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. 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 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
 

Protected Member Functions

 UnprecOvExtLinOpArray ()
 Partial constructor. More...
 
void operator= (const UnprecOvExtLinOpArray &)
 Hide =. More...
 

Private Attributes

UnprecWilsonLinOp Dw
 
Handle< FermBC< T, P, Q > > fbc
 
int Npoles
 
int N5
 
Real R
 
Real alpha
 
Real a5
 
Real coeffP
 
multi1d< Real > p_by_beta_sqrt
 
multi1d< Real > q_sqrt
 
multi1d< Real > beta
 

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 29 of file unprec_ovext_linop_array_w.h.

Member Typedef Documentation

◆ P

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

Definition at line 35 of file unprec_ovext_linop_array_w.h.

◆ Q

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

Definition at line 36 of file unprec_ovext_linop_array_w.h.

◆ T

typedef LatticeFermion Chroma::UnprecOvExtLinOpArray::T

Definition at line 34 of file unprec_ovext_linop_array_w.h.

Constructor & Destructor Documentation

◆ UnprecOvExtLinOpArray() [1/2]

Chroma::UnprecOvExtLinOpArray::UnprecOvExtLinOpArray ( Handle< FermState< T, P, Q > >  fs,
const int  Npoles_,
const Real &  coeffP_,
const multi1d< Real > &  resP_,
const multi1d< Real > &  rootQ_,
const multi1d< Real > &  beta_,
const Real &  OverMass_,
const Real &  Mass_,
const Real &  b5_,
const Real &  c5_ 
)
inline

Full constructor.

Definition at line 39 of file unprec_ovext_linop_array_w.h.

◆ ~UnprecOvExtLinOpArray()

Chroma::UnprecOvExtLinOpArray::~UnprecOvExtLinOpArray ( )
inline

Destructor is automatic.

Definition at line 69 of file unprec_ovext_linop_array_w.h.

◆ UnprecOvExtLinOpArray() [2/2]

Chroma::UnprecOvExtLinOpArray::UnprecOvExtLinOpArray ( )
inlineprotected

Partial constructor.

Definition at line 88 of file unprec_ovext_linop_array_w.h.

Member Function Documentation

◆ deriv()

void Chroma::UnprecOvExtLinOpArray::deriv ( multi1d< LatticeColorMatrix > &  ds_u,
const multi1d< LatticeFermion > &  chi,
const multi1d< LatticeFermion > &  psi,
enum PlusMinus  isign 
) const
virtual

Derivative.

Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.

Definition at line 279 of file unprec_ovext_linop_array_w.cc.

References Chroma::END_CODE(), getFermBC(), and Chroma::START_CODE().

◆ getFermBC()

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

Return the fermion BC object for this linear operator.

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

Definition at line 84 of file unprec_ovext_linop_array_w.h.

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

◆ operator()()

void Chroma::UnprecOvExtLinOpArray::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 62 of file unprec_ovext_linop_array_w.cc.

References a5, alpha, beta, Chroma::chi(), coeffP, Dw, Chroma::END_CODE(), Chroma::G5, getFermBC(), Chroma::i, Chroma::isign, Chroma::MINUS, N5, Chroma::p, p_by_beta_sqrt, Chroma::PLUS, Chroma::psi, q_sqrt, R, and Chroma::START_CODE().

◆ operator=()

void Chroma::UnprecOvExtLinOpArray::operator= ( const UnprecOvExtLinOpArray )
inlineprotected

Hide =.

Definition at line 90 of file unprec_ovext_linop_array_w.h.

◆ size()

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

Length of DW flavor index/space.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 66 of file unprec_ovext_linop_array_w.h.

References N5.

◆ subset()

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

Only defined on the entire lattice.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 72 of file unprec_ovext_linop_array_w.h.

Member Data Documentation

◆ a5

Real Chroma::UnprecOvExtLinOpArray::a5
private

Definition at line 99 of file unprec_ovext_linop_array_w.h.

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

◆ alpha

Real Chroma::UnprecOvExtLinOpArray::alpha
private

Definition at line 98 of file unprec_ovext_linop_array_w.h.

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

◆ beta

multi1d<Real> Chroma::UnprecOvExtLinOpArray::beta
private

Definition at line 103 of file unprec_ovext_linop_array_w.h.

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

◆ coeffP

Real Chroma::UnprecOvExtLinOpArray::coeffP
private

Definition at line 100 of file unprec_ovext_linop_array_w.h.

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

◆ Dw

UnprecWilsonLinOp Chroma::UnprecOvExtLinOpArray::Dw
private

Definition at line 93 of file unprec_ovext_linop_array_w.h.

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

◆ fbc

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

Definition at line 94 of file unprec_ovext_linop_array_w.h.

Referenced by create().

◆ N5

int Chroma::UnprecOvExtLinOpArray::N5
private

Definition at line 96 of file unprec_ovext_linop_array_w.h.

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

◆ Npoles

int Chroma::UnprecOvExtLinOpArray::Npoles
private

Definition at line 95 of file unprec_ovext_linop_array_w.h.

Referenced by create().

◆ p_by_beta_sqrt

multi1d<Real> Chroma::UnprecOvExtLinOpArray::p_by_beta_sqrt
private

Definition at line 101 of file unprec_ovext_linop_array_w.h.

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

◆ q_sqrt

multi1d<Real> Chroma::UnprecOvExtLinOpArray::q_sqrt
private

Definition at line 102 of file unprec_ovext_linop_array_w.h.

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

◆ R

Real Chroma::UnprecOvExtLinOpArray::R
private

Definition at line 97 of file unprec_ovext_linop_array_w.h.

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


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