7 #ifndef __syssolver_linop_qdp_mg_h__
8 #define __syssolver_linop_qdp_mg_h__
21 namespace LinOpSysSolverQOPMGEnv
34 typedef LatticeFermion
T;
35 typedef LatticeColorMatrix
U;
36 typedef multi1d<LatticeColorMatrix>
Q;
55 const Subset&
subset()
const {
return A->subset();}
Support class for fermion actions and linear operators.
Class for counted reference semantics.
Solve a M*psi=chi linear system using the external QDP multigrid inverter.
SysSolverQOPMGParams invParam
~LinOpSysSolverQOPMG()
Destructor finalizes the QDP environment.
Handle< FermState< T, Q, Q > > state
SystemSolverResults_t operator()(T &psi, const T &chi) const
Solver the linear system.
LinOpSysSolverQOPMG(Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverQOPMGParams &invParam_)
Constructor.
WilsonMGSubspace * getSubspace() const
Get the subspace to use.
multi1d< LatticeColorMatrix > Q
Handle< LinearOperator< T > > A
const Subset & subset() const
Return the subset on which the operator acts.
WilsonMGSubspace * subspace
void eraseSubspace()
Erasee the subspace.
SystemSolver disambiguator.
Class for counted reference semantics.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > chi(Ncb)
Parameters for the external QDP multigrid inverter.
Holds return info from SystemSolver call.
Disambiguator for LinOp system solvers.
Parameters for the external QDP clover multigrid solver.