6 #ifndef __overlap_fermact_base_w_h__
7 #define __overlap_fermact_base_w_h__
30 multi1d<LatticeColorMatrix>,
31 multi1d<LatticeColorMatrix> >
35 typedef LatticeFermion
T;
36 typedef multi1d<LatticeColorMatrix>
P;
37 typedef multi1d<LatticeColorMatrix>
Q;
50 const Real& m_q)
const = 0;
105 const multi1d<Real>& masses,
110 int & ncg_had)
const;
122 const LatticePropagator& q_src,
124 const multi1d<Real>& masses,
Differentiable Linear Operator.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
Base class for unpreconditioned overlap-like fermion actions.
virtual LinearOperator< T > * lgamma5epsH(Handle< FermState< T, P, Q > > state) const =0
Produce a linear operator that gives back gamma_5 eps(H)
virtual DiffLinearOperator< T, P, Q > * lMdagM(Handle< FermState< T, P, Q > > state, const Chirality &chirality) const =0
virtual LinearOperator< T > * DeltaLs(Handle< FermState< T, P, Q > > state) const
virtual LinearOperator< T > * linOpPrecondition(Handle< FermState< T, P, Q > > state) const =0
virtual LinearOperator< T > * lMdagMPrecondition(Handle< FermState< T, P, Q > > state, const Chirality &chirality) const =0
virtual LinearOperator< T > * lgamma5epsHPrecondition(Handle< FermState< T, P, Q > > state) const =0
Produce a linear operator that gives back gamma_5 eps(H)
void multiQprop(multi1d< T > &psi, const multi1d< Real > &masses, Handle< FermState< T, P, Q > > state, const T &chi, const GroupXML_t &invParam, const int n_soln, int &ncg_had) const
Define a multi mass qprop.
multi1d< LatticeColorMatrix > P
virtual LinearOperator< T > * lMdagMPrecondition(Handle< FermState< T, P, Q > > state) const =0
virtual UnprecLinearOperator< T, P, Q > * unprecLinOp(Handle< FermState< T, P, Q > > state, const Real &m_q) const =0
Produce an unpreconditioned linear operator for this action with arbitrary quark mass.
virtual UnprecLinearOperator< T, P, Q > * linOp(Handle< FermState< T, P, Q > > state) const
Override to produce a DWF-link unprec. linear operator for this action.
multi1d< LatticeColorMatrix > Q
virtual DiffLinearOperator< T, P, Q > * lMdagM(Handle< FermState< T, P, Q > > state) const =0
virtual OverlapFermActBase * clone() const =0
Virtual copy constructor.
virtual Real getQuarkMass() const =0
Return the quark mass.
virtual bool isChiral() const =0
Does this object really satisfy the Ginsparg-Wilson relation?
virtual LinearOperator< T > * hermitianLinOp(Handle< FermState< T, P, Q > > state) const
Produce a hermitian version of the linear operator.
SystemSolver< T > * qprop(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Redefine quark propagator routine for 4D fermions.
Unpreconditioned linear operator including derivatives.
Unpreconditioned Wilson-like fermion actions with derivatives.
Gamma(5) hermitian linear operator.
void multiQuarkProp(multi1d< LatticePropagator > &q_sol, XMLWriter &xml_out, const LatticePropagator &q_src, Handle< FermState< T, P, Q > > state, const multi1d< Real > &masses, const GroupXML_t &invParam, const int n_soln, int &ncg_had)
Define a multi mass qprop.
Asqtad Staggered-Dirac operator.
multi1d< LatticeFermion > chi(Ncb)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Hold group xml and type id.
Wilson-like fermion actions.