6 #ifndef __syssolver_mdagm_cg_timing_h__
7 #define __syssolver_mdagm_cg_timing_h__
22 namespace MdagMSysSolverCGTimingsEnv
50 const Subset&
subset()
const {
return A->subset();}
66 #ifdef CHROMA_DO_ONE_CG_RESTART
Abstract interface for a Chronological Solution predictor.
virtual void newVector(const T &psi)=0
Class for counted reference semantics.
Solve a CG2 system. Here, the operator is NOT assumed to be hermitian.
SystemSolverResults_t operator()(T &psi, const T &chi) const
Solver the linear system.
~MdagMSysSolverCGTimings()
Destructor is automatic.
const Subset & subset() const
Return the subset on which the operator acts.
MdagMSysSolverCGTimings()
SystemSolverResults_t operator()(T &psi, const T &chi, AbsChronologicalPredictor4D< T > &predictor) const
Solve the linear system starting with a chrono guess.
SysSolverCGParams invParam
Handle< LinearOperator< T > > A
MdagMSysSolverCGTimings(Handle< LinearOperator< T > > A_, const SysSolverCGParams &invParam_)
Constructor.
SystemSolver disambiguator.
SystemSolverResults_t InvCG2_timings(const LinearOperator< LatticeFermion > &M, const LatticeFermion &chi, LatticeFermion &psi, int MaxCG)
Conjugate-Gradient (CGNE) algorithm for a generic Linear Operator.
Class for counted reference semantics.
Conjugate-Gradient algorithm for a generic Linear Operator.
M^dag*M composition of a linear operator.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > chi(Ncb)
Holds return info from SystemSolver call.
Disambiguator for MdagM system solvers.
Handle< LinearOperator< T > > MdagM