1 #ifndef ILU2PREC_S_CPREC_T_WILSON_FERMACT_W_H
2 #define ILU2PREC_S_CPREC_T_WILSON_FERMACT_W_H
4 #include "qdp_config.h"
15 namespace ILU2PrecSpaceCentralPrecTimeWilsonFermActEnv
21 class ILU2PrecSpaceCentralPrecTimeWilsonFermAct :
22 public ILU2PrecSpaceCentralPrecTimeWilsonTypeFermAct<
24 multi1d<LatticeColorMatrix>,
25 multi1d<LatticeColorMatrix> >
28 typedef LatticeFermion
T;
29 typedef multi1d<LatticeColorMatrix>
P;
30 typedef multi1d<LatticeColorMatrix>
Q;
33 ~ILU2PrecSpaceCentralPrecTimeWilsonFermAct(){}
36 ILU2PrecSpaceCentralPrecTimeWilsonFermAct( Handle< CreateFermState<T,P,Q> > cfs_,
38 const AnisoParam_t& aniso_) : cfs(cfs_) {
40 param.anisoParam = aniso_;
44 ILU2PrecSpaceCentralPrecTimeWilsonFermAct( Handle< CreateFermState<T,P,Q> > cfs_,
45 const WilsonFermActParams& param_ ) : cfs(cfs_), param(param_) {}
48 ILU2PrecSpaceCentralPrecTimeWilsonFermAct(
const ILU2PrecSpaceCentralPrecTimeWilsonFermAct&
a) :
49 cfs(
a.cfs), param(
a.param) {}
52 ILU2PrecSpaceCentralPrecTimeWilsonFermAct& operator=(
const ILU2PrecSpaceCentralPrecTimeWilsonFermAct&
a)
60 ILU2PrecSpaceCentralPrecTimeLinearOperator<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 ILU2PrecSpaceCentralPrecTimeWilsonFermAct(){}
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.