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

Unpreconditioned H_T kernel continued fraction (5D) operator. More...

#include <unprec_ht_contfrac5d_linop_array_w.h>

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

 UnprecHTContFrac5DLinOpArray (Handle< FermState< T, P, Q > > fs, const Real &OverMass_, const Real &_m_q, int _N5, const Real &b5_, const Real &c5_, const multi1d< Real > &_alpha, const multi1d< Real > &_beta, const bool _isLastZeroP)
 Full constructor. More...
 
int size () const
 Length of DW flavor index/space. More...
 
 ~UnprecHTContFrac5DLinOpArray ()
 Destructor is automatic. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. 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
 

Protected Member Functions

void init (Handle< FermState< T, P, Q > > fs, const Real &b5, const Real &c5)
 
void operator= (const UnprecHTContFrac5DLinOpArray &)
 Partial constructor. More...
 

Private Attributes

Handle< LinearOperator< T > > D_w
 
Handle< LinearOperator< T > > D_denum
 
Handle< FermBC< T, P, Q > > fbc
 
const Real OverMass
 
const Real m_q
 
const int N5
 
Real scale_fac
 
Real a5
 
const multi1d< Real > alpha
 
const multi1d< Real > beta
 
const bool isLastZeroP
 

Detailed Description

Unpreconditioned H_T kernel continued fraction (5D) operator.

This operator applies the non-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_T(m))

Here, H_T = (b5 + c5) H_w * ( 2 + (b5 - c5) D_w )^(-1) = (b5 + c5) ( 2 + (b5 - c5) D_w^dag )^(-1) * H_w

The denom is multiplied through the 5D system of equations to the RHS

Definition at line 30 of file unprec_ht_contfrac5d_linop_array_w.h.

Member Typedef Documentation

◆ P

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

Definition at line 36 of file unprec_ht_contfrac5d_linop_array_w.h.

◆ Q

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

Definition at line 37 of file unprec_ht_contfrac5d_linop_array_w.h.

◆ T

Definition at line 35 of file unprec_ht_contfrac5d_linop_array_w.h.

Constructor & Destructor Documentation

◆ UnprecHTContFrac5DLinOpArray()

Chroma::UnprecHTContFrac5DLinOpArray::UnprecHTContFrac5DLinOpArray ( Handle< FermState< T, P, Q > >  fs,
const Real &  OverMass_,
const Real &  _m_q,
int  _N5,
const Real &  b5_,
const Real &  c5_,
const multi1d< Real > &  _alpha,
const multi1d< Real > &  _beta,
const bool  _isLastZeroP 
)
inline

Full constructor.

Definition at line 40 of file unprec_ht_contfrac5d_linop_array_w.h.

References init(), and isLastZeroP.

◆ ~UnprecHTContFrac5DLinOpArray()

Chroma::UnprecHTContFrac5DLinOpArray::~UnprecHTContFrac5DLinOpArray ( )
inline

Destructor is automatic.

Definition at line 61 of file unprec_ht_contfrac5d_linop_array_w.h.

Member Function Documentation

◆ getFermBC()

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

Return the fermion BC object for this linear operator.

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

Definition at line 67 of file unprec_ht_contfrac5d_linop_array_w.h.

References fbc.

Referenced by operator()().

◆ init()

void Chroma::UnprecHTContFrac5DLinOpArray::init ( Handle< FermState< T, P, Q > >  fs,
const Real &  b5,
const Real &  c5 
)
protected

Definition at line 15 of file unprec_ht_contfrac5d_linop_array_w.cc.

References a5, D_denum, D_w, fbc, OverMass, scale_fac, and Chroma::state.

Referenced by UnprecHTContFrac5DLinOpArray().

◆ operator()()

void Chroma::UnprecHTContFrac5DLinOpArray::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 35 of file unprec_ht_contfrac5d_linop_array_w.cc.

References alpha, beta, Chroma::chi(), Chroma::END_CODE(), Chroma::G5, getFermBC(), Chroma::isign, isLastZeroP, m_q, Chroma::mass, Chroma::MINUS, n, N5, Chroma::PLUS, Chroma::psi, scale_fac, Chroma::START_CODE(), and tmp2.

◆ operator=()

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

Partial constructor.

Hide =

Definition at line 81 of file unprec_ht_contfrac5d_linop_array_w.h.

◆ size()

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

Length of DW flavor index/space.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 58 of file unprec_ht_contfrac5d_linop_array_w.h.

References N5.

◆ subset()

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

Only defined on the entire lattice.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 64 of file unprec_ht_contfrac5d_linop_array_w.h.

Member Data Documentation

◆ a5

Real Chroma::UnprecHTContFrac5DLinOpArray::a5
private

Definition at line 91 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by init().

◆ alpha

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

Definition at line 92 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by operator()().

◆ beta

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

Definition at line 93 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by operator()().

◆ D_denum

Handle< LinearOperator<T> > Chroma::UnprecHTContFrac5DLinOpArray::D_denum
private

Definition at line 85 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by init().

◆ D_w

Handle< LinearOperator<T> > Chroma::UnprecHTContFrac5DLinOpArray::D_w
private

Definition at line 84 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by init().

◆ fbc

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

Definition at line 86 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by getFermBC(), and init().

◆ isLastZeroP

const bool Chroma::UnprecHTContFrac5DLinOpArray::isLastZeroP
private

◆ m_q

const Real Chroma::UnprecHTContFrac5DLinOpArray::m_q
private

Definition at line 88 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by operator()().

◆ N5

const int Chroma::UnprecHTContFrac5DLinOpArray::N5
private

Definition at line 89 of file unprec_ht_contfrac5d_linop_array_w.h.

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

◆ OverMass

const Real Chroma::UnprecHTContFrac5DLinOpArray::OverMass
private

Definition at line 87 of file unprec_ht_contfrac5d_linop_array_w.h.

Referenced by init().

◆ scale_fac

Real Chroma::UnprecHTContFrac5DLinOpArray::scale_fac
private

Definition at line 90 of file unprec_ht_contfrac5d_linop_array_w.h.

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


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