6 #ifndef __unprec_ovlap_contfrac5d_fermact_array_w_h__
7 #define __unprec_ovlap_contfrac5d_fermact_array_w_h__
18 namespace UnprecOvlapContFrac5DFermActArrayEnv
64 multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> >
68 typedef LatticeFermion
T;
69 typedef multi1d<LatticeColorMatrix>
P;
70 typedef multi1d<LatticeColorMatrix>
Q;
105 QDPIO::cerr <<
"linOp4D not implemented" << std::endl;
131 XMLReader& state_info_xml,
139 createState(
const multi1d<LatticeColorMatrix>& u_)
const ;
145 const Real& approxMin_)
const ;
151 const Real& approxMin_,
152 const Real& approxMax_)
const;
158 const multi1d<Real>& lambda_lo_,
159 const multi1d<LatticeFermion>& evecs_lo_,
160 const Real& lambda_hi_)
const;
174 void init(Real& scale_fac,
175 multi1d<Real>&
alpha,
178 multi1d<Real>& EigValFunc,
Create a fermion connection state.
Base class for all fermion action boundary conditions.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
Linear Operator to arrays.
Overlap connection state.
Unpreconditioned linear operator including derivatives.
5D continued fraction overlap action (Borici,Wenger, Edwards)
OverlapConnectState * createState(const multi1d< LatticeColorMatrix > &u, XMLReader &state_info_xml, const std::string &state_info_path) const
Create OverlapConnectState from XML.
Handle< UnprecWilsonTypeFermAct< T, P, Q > > S_aux
UnprecLinearOperatorArray< T, P, Q > * linOp(Handle< FermState< T, P, Q > > state) const
Produce a linear operator for this action.
Handle< FermBC< T, P, Q > > fbc
LinearOperatorArray< T > * lnonHermMdagM(Handle< FermState< T, P, Q > > state) const
Produce a linear operator M^dag.M for this action.
Handle< CreateFermState< T, P, Q > > cfs
LinearOperatorArray< T > * lnonHermLinOp(Handle< FermState< T, P, Q > > state) const
Produce a linear operator for this action.
int size(void) const
5D size
~UnprecOvlapContFrac5DFermActArray()
Destructor is automatic.
multi1d< LatticeColorMatrix > P
const CreateFermState< T, P, Q > & getCreateState() const
Return the fermion create state for this action.
UnprecOvlapContFrac5DFermActParams params
Real getQuarkMass() const
Return the quark mass.
void init(Real &scale_fac, multi1d< Real > &alpha, multi1d< Real > &beta, int &NEig, multi1d< Real > &EigValFunc, const OverlapConnectState &state) const
Helper in construction.
LinearOperatorArray< T > * hermitianLinOp(Handle< FermState< T, P, Q > > state) const
Matrix is itself hermitian so just return linOp here.
void operator=(const UnprecOvlapContFrac5DFermActArray &a)
Hide =.
UnprecLinearOperatorArray< T, P, Q > * linOpPV(Handle< FermState< T, P, Q > > state) const
Produce a Pauli-Villars linear operator for this action.
UnprecOvlapContFrac5DFermActArray()
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
Compute quark propagator over base type.
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)
multi1d< LatticeColorMatrix > Q
Unpreconditioned Wilson-like fermion actions in extra dims with derivatives.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
static const LatticeInteger & beta(const int dim)
static const LatticeInteger & alpha(const int dim)
bool registerAll()
Register all the factories.
const std::string name
Name to be used.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
static QDP_ColorVector * in
Connection state holding eigenvectors.
Hold group xml and type id.
Params for 5D overlap ferm acts.
CoeffType approximation_type
ZOLOTAREV | TANH | Other approximation coeffs.
Real ApproxMin
Approximate min eigenvalue of H_T.
int RatPolyDeg
Degree of the Rational Poly.
std::string AuxFermAct
The auxiliary ferm act.
std::string AuxFermActGrp
The group name for the auxiliary fermion action.
UnprecOvlapContFrac5DFermActParams()
Default empty construction.
Real ApproxMax
Approximate max eigenvalue of H_T.
Wilson-like fermion actions.