6 #ifndef __multi_syssolver_linop_mr_h__
7 #define __multi_syssolver_linop_mr_h__
21 namespace LinOpMultiSysSolverMREnv
49 const Subset&
subset()
const {
return A->subset();}
61 multi1d<Real>
RsdCG(shifts.size());
72 QDPIO::cerr <<
"LinOpMultiSysSolverMR: shifts incompatible" << std::endl;
Class for counted reference semantics.
Solve a MR system. Here, the operator is NOT assumed to be hermitian.
const Subset & subset() const
Return the subset on which the operator acts.
LinOpMultiSysSolverMR(Handle< LinearOperator< T > > A_, const MultiSysSolverMRParams &invParam_)
Constructor.
Handle< LinearOperator< T > > A
MultiSysSolverMRParams invParam
~LinOpMultiSysSolverMR()
Destructor is automatic.
SystemSolverResults_t operator()(multi1d< T > &psi, const multi1d< Real > &shifts, const T &chi) const
Solver the linear system.
void MInvMR(const LinearOperator< LatticeFermion > &M, const LatticeFermion &chi, multi1d< LatticeFermion > &psi, const multi1d< Real > &shifts, const multi1d< Real > &RsdMR, int MaxMR, int &n_count)
Multishift Conjugate-Gradient (CG1) algorithm for a Linear Operator.
Class for counted reference semantics.
Multishift Conjugate-Gradient algorithm for a Linear Operator.
Disambiguator for multi-shift linop system solvers.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > & RsdCG
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > chi(Ncb)
SystemSolver disambiguator.
Holds return info from SystemSolver call.