Chroma::EvenOddPrecOvExtFermActArray Class Reference
[Fermion actions]

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

#include <eoprec_ovext_fermact_array_w.h>

Inheritance diagram for Chroma::EvenOddPrecOvExtFermActArray:

Chroma::EvenOddPrecConstDetWilsonTypeFermAct5D< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > List of all members.

Public Types

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

Public Member Functions

 EvenOddPrecOvExtFermActArray (Handle< CreateFermState< T, P, Q > > cfs_, const EvenOddPrecOvExtFermActArrayParams &param_)
 General FermBC.
 EvenOddPrecOvExtFermActArray (const EvenOddPrecOvExtFermActArray &a)
 Copy constructor.
int size () const
 Length of DW flavor index/space.
Real getQuarkMass () const
 Return the quark mass.
EvenOddPrecConstDetLinearOperatorArray<
T, P, Q > * 
linOp (Handle< FermState< T, P, Q > > state) const
 Produce a linear operator for this action.
EvenOddPrecConstDetLinearOperatorArray<
T, P, Q > * 
linOpPV (Handle< FermState< T, P, Q > > state) const
 Produce a Pauli-Villars linear operator for this action.
LinearOperatorArray< T > * hermitianLinOp (Handle< FermState< T, P, Q > > state) const
 Produce a hermitian version of the linear operator.
LinearOperator< T > * linOp4D (Handle< FermState< T, P, Q > > state, const Real &m_q, const GroupXML_t &invParam) const
 Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below).
LinearOperator< T > * DeltaLs (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Produce a DeltaLs = 1-epsilon^2(H) operator.
SystemSolver< LatticeFermion > * qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
 Propagator of an un-preconditioned Extended-Overlap linear operator.
 ~EvenOddPrecOvExtFermActArray ()
 Destructor is automatic.

Protected Member Functions

const CreateFermState< T,
P, Q > & 
getCreateState () const
 Return the fermion BC object for this action.
 EvenOddPrecOvExtFermActArray ()
 Default constructor.
void operator= (const EvenOddPrecOvExtFermActArray &a)
 Hide =.

Private Member Functions

int getN5FromRatPolyDeg (const int &RatPolyDeg) const
 Part of initializer.
void init (int &Npoles, Real &coeffP, multi1d< Real > &resP, multi1d< Real > &rootQ) const
 Get the rational approximation coefficients.

Private Attributes

Handle< CreateFermState< T,
P, Q > > 
cfs
Handle< AbsOvExtTuningStrategytheTuningStrategy
EvenOddPrecOvExtFermActArrayParams param

Detailed Description

EvenOddPreconditioned Extended-Overlap (N&N) linear operator.

This operator applies the extended version of the hermitian overlap operator Chi = ((1+Mass)/(1-Mass)*gamma_5 + B) . Psi where B is the continued fraction of the pole approx. to eps(H(m))

Definition at line 58 of file eoprec_ovext_fermact_array_w.h.


Member Typedef Documentation

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

Definition at line 64 of file eoprec_ovext_fermact_array_w.h.

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

Definition at line 65 of file eoprec_ovext_fermact_array_w.h.

typedef LatticeFermion Chroma::EvenOddPrecOvExtFermActArray::T

Definition at line 63 of file eoprec_ovext_fermact_array_w.h.


Constructor & Destructor Documentation

Chroma::EvenOddPrecOvExtFermActArray::EvenOddPrecOvExtFermActArray ( Handle< CreateFermState< T, P, Q > >  cfs_,
const EvenOddPrecOvExtFermActArrayParams param_ 
)

General FermBC.

Definition at line 133 of file eoprec_ovext_fermact_array_w.cc.

References Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), param, Chroma::read(), theTuningStrategy, and Chroma::EvenOddPrecOvExtFermActArrayParams::tuning_strategy_xml.

Chroma::EvenOddPrecOvExtFermActArray::EvenOddPrecOvExtFermActArray ( const EvenOddPrecOvExtFermActArray a  )  [inline]

Copy constructor.

Definition at line 72 of file eoprec_ovext_fermact_array_w.h.

Chroma::EvenOddPrecOvExtFermActArray::~EvenOddPrecOvExtFermActArray (  )  [inline]

Destructor is automatic.

Definition at line 127 of file eoprec_ovext_fermact_array_w.h.

Chroma::EvenOddPrecOvExtFermActArray::EvenOddPrecOvExtFermActArray (  )  [inline, protected]

Default constructor.

Definition at line 134 of file eoprec_ovext_fermact_array_w.h.


Member Function Documentation

LinearOperator<T>* Chroma::EvenOddPrecOvExtFermActArray::DeltaLs ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const [inline]

Produce a DeltaLs = 1-epsilon^2(H) operator.

Definition at line 112 of file eoprec_ovext_fermact_array_w.h.

References linOp4D(), and Chroma::state.

const CreateFermState<T,P,Q>& Chroma::EvenOddPrecOvExtFermActArray::getCreateState (  )  const [inline, protected]

Return the fermion BC object for this action.

Definition at line 131 of file eoprec_ovext_fermact_array_w.h.

References cfs.

int Chroma::EvenOddPrecOvExtFermActArray::getN5FromRatPolyDeg ( const int &  RatPolyDeg  )  const [private]

Part of initializer.

Definition at line 154 of file eoprec_ovext_fermact_array_w.cc.

Referenced by init(), and size().

Real Chroma::EvenOddPrecOvExtFermActArray::getQuarkMass (  )  const [inline]

Return the quark mass.

Definition at line 79 of file eoprec_ovext_fermact_array_w.h.

References Chroma::EvenOddPrecOvExtFermActArrayParams::Mass, and param.

LinearOperatorArray<T>* Chroma::EvenOddPrecOvExtFermActArray::hermitianLinOp ( Handle< FermState< T, P, Q > >  state  )  const [inline]

Produce a hermitian version of the linear operator.

Definition at line 93 of file eoprec_ovext_fermact_array_w.h.

void Chroma::EvenOddPrecOvExtFermActArray::init ( int &  Npoles,
Real &  coeffP,
multi1d< Real > &  resP,
multi1d< Real > &  rootQ 
) const [private]

Get the rational approximation coefficients.

Definition at line 170 of file eoprec_ovext_fermact_array_w.cc.

References Chroma::StagPhases::alpha(), Chroma::EvenOddPrecOvExtFermActArrayParams::approximation_type, Chroma::EvenOddPrecOvExtFermActArrayParams::ApproxMax, Chroma::EvenOddPrecOvExtFermActArrayParams::ApproxMin, Chroma::COEFF_TYPE_TANH_UNSCALED, Chroma::COEFF_TYPE_ZOLOTAREV, Chroma::StaggeredFlavorOperators::AntiSymmetricTensor4D::eps, getN5FromRatPolyDeg(), higham(), Chroma::EvenOddPrecOvExtFermActArrayParams::Mass, param, Chroma::EvenOddPrecOvExtFermActArrayParams::RatPolyDeg, and zolotarev().

Referenced by linOp().

EvenOddPrecConstDetLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * Chroma::EvenOddPrecOvExtFermActArray::linOp ( Handle< FermState< T, P, Q > >  state  )  const

Produce a linear operator for this action.

The operator acts on the entire lattice

Parameters:
state gauge field (Read)

Definition at line 363 of file eoprec_ovext_fermact_array_w.cc.

References Chroma::EvenOddPrecOvExtFermActArrayParams::b5, Chroma::StagPhases::beta(), Chroma::EvenOddPrecOvExtFermActArrayParams::c5, init(), Chroma::EvenOddPrecOvExtFermActArrayParams::Mass, Chroma::EvenOddPrecOvExtFermActArrayParams::OverMass, param, and Chroma::state.

Referenced by qprop().

LinearOperator<T>* Chroma::EvenOddPrecOvExtFermActArray::linOp4D ( Handle< FermState< T, P, Q > >  state,
const Real &  m_q,
const GroupXML_t invParam 
) const [inline]

Produce an unpreconditioned linear operator projecting 5D to 4D (the inverse of qprop below).

Definition at line 101 of file eoprec_ovext_fermact_array_w.h.

Referenced by DeltaLs().

EvenOddPrecConstDetLinearOperatorArray<T,P,Q>* Chroma::EvenOddPrecOvExtFermActArray::linOpPV ( Handle< FermState< T, P, Q > >  state  )  const [inline]

Produce a Pauli-Villars linear operator for this action.

Definition at line 85 of file eoprec_ovext_fermact_array_w.h.

void Chroma::EvenOddPrecOvExtFermActArray::operator= ( const EvenOddPrecOvExtFermActArray a  )  [inline, protected]

Hide =.

Definition at line 136 of file eoprec_ovext_fermact_array_w.h.

SystemSolver< LatticeFermion > * Chroma::EvenOddPrecOvExtFermActArray::qprop ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const

Propagator of an un-preconditioned Extended-Overlap linear operator.

Definition at line 554 of file eoprec_ovext_fermact_array_w.cc.

References a5, Chroma::EvenOddPrecOvExtFermActArrayParams::b5, Chroma::EvenOddPrecOvExtFermActArrayParams::c5, linOp(), Chroma::EvenOddPrecOvExtFermActArrayParams::Mass, Chroma::EvenOddPrecOvExtFermActArrayParams::OverMass, param, Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.

int Chroma::EvenOddPrecOvExtFermActArray::size ( void   )  const [inline]

Length of DW flavor index/space.

Definition at line 76 of file eoprec_ovext_fermact_array_w.h.

References getN5FromRatPolyDeg(), param, and Chroma::EvenOddPrecOvExtFermActArrayParams::RatPolyDeg.


Member Data Documentation

Handle< CreateFermState<T,P,Q> > Chroma::EvenOddPrecOvExtFermActArray::cfs [private]

Definition at line 148 of file eoprec_ovext_fermact_array_w.h.

Referenced by getCreateState().

EvenOddPrecOvExtFermActArrayParams Chroma::EvenOddPrecOvExtFermActArray::param [private]

Definition at line 150 of file eoprec_ovext_fermact_array_w.h.

Referenced by EvenOddPrecOvExtFermActArray(), getQuarkMass(), init(), linOp(), qprop(), and size().

Handle< AbsOvExtTuningStrategy > Chroma::EvenOddPrecOvExtFermActArray::theTuningStrategy [private]

Definition at line 149 of file eoprec_ovext_fermact_array_w.h.

Referenced by EvenOddPrecOvExtFermActArray().


The documentation for this class was generated from the following files:
Generated on Sun Nov 22 04:40:02 2009 for CHROMA by  doxygen 1.4.7