1 #ifndef ILUPREC_S_CPREC_T_WILSON_FERMACT_W_H
2 #define ILUPREC_S_CPREC_T_WILSON_FERMACT_W_H
4 #include "qdp_config.h"
15 namespace ILUPrecSpaceCentralPrecTimeWilsonFermActEnv
21 class ILUPrecSpaceCentralPrecTimeWilsonFermAct :
22 public ILUPrecSpaceCentralPrecTimeWilsonTypeFermAct<
24 multi1d<LatticeColorMatrix>,
25 multi1d<LatticeColorMatrix> >
28 typedef LatticeFermion
T;
29 typedef multi1d<LatticeColorMatrix>
P;
30 typedef multi1d<LatticeColorMatrix>
Q;
33 ~ILUPrecSpaceCentralPrecTimeWilsonFermAct(){}
36 ILUPrecSpaceCentralPrecTimeWilsonFermAct( Handle< CreateFermState<T,P,Q> > cfs_,
38 const AnisoParam_t& aniso_) : cfs(cfs_) {
40 param.anisoParam = aniso_;
44 ILUPrecSpaceCentralPrecTimeWilsonFermAct( Handle< CreateFermState<T,P,Q> > cfs_,
45 const WilsonFermActParams& param_ ) : cfs(cfs_), param(param_) {}
48 ILUPrecSpaceCentralPrecTimeWilsonFermAct(
const ILUPrecSpaceCentralPrecTimeWilsonFermAct&
a) :
49 cfs(
a.cfs), param(
a.param) {}
52 ILUPrecSpaceCentralPrecTimeWilsonFermAct& operator=(
const ILUPrecSpaceCentralPrecTimeWilsonFermAct&
a)
60 ILUPrecSpaceCentralPrecTimeLinearOperator<T,P,Q>* linOp( Handle< FermState<T,P,Q> >
state)
const;
63 LinearOperator<T>* hermitianLinOp(Handle< FermState<T,P,Q> >
state)
const
65 return new lgherm<T>(linOp(
state));
70 const CreateFermState<T,P,Q>& getCreateState()
const {
return *cfs;}
73 ILUPrecSpaceCentralPrecTimeWilsonFermAct(){}
77 Handle< CreateFermState<T,P,Q> > cfs;
78 WilsonFermActParams param;
ILUPreconditioned spatial Preconditioned Temporal Wilson like fermion action.
bool registerAll()
Register all the factories.
const std::string name
Name to be used.
multi1d< LatticeColorMatrix > P
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::Q Q
LinOpSysSolverMGProtoClover::T T
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Wilson fermion action parameters.