6 #ifndef __multi_syssolver_mdagm_cg_accumulate_array_h__
7 #define __multi_syssolver_mdagm_cg_accumulate_array_h__
23 namespace MdagMMultiSysSolverCGAccumulateArrayEnv
44 A(A_), invParam(invParam_)
51 int size()
const {
return A->size();}
54 const Subset&
subset()
const {
return A->subset();}
64 const multi1d<Real>& residues,
65 const multi1d<Real>& poles,
66 const multi1d<T>&
chi)
const
72 Real
RsdCG=invParam.RsdCG[0];
Class for counted reference semantics.
Linear Operator to arrays.
Solve a CG system. Here, the operator is NOT assumed to be hermitian.
~MdagMMultiSysSolverCGAccumulateArray()
Destructor is automatic.
int size() const
Expected length of array index.
MultiSysSolverCGParams invParam
MdagMMultiSysSolverCGAccumulateArray(Handle< LinearOperatorArray< T > > A_, const MultiSysSolverCGParams &invParam_)
Constructor.
MdagMMultiSysSolverCGAccumulateArray()
Handle< LinearOperatorArray< T > > A
const Subset & subset() const
Return the subset on which the operator acts.
void MInvCGAccum(const LinearOperatorArray< LatticeFermion > &M, const multi1d< LatticeFermion > &chi, multi1d< LatticeFermion > &psi, const Real &norm, const multi1d< Real > &residues, const multi1d< Real > &poles, const Real &RsdCG, const int MaxCG, int &n_count)
Class for counted reference semantics.
Multishift Conjugate-Gradient algorithm for a Linear Operator.
Disambiguator for multi-shift MdagM system solvers.
bool registerAll()
Register all the factories.
multi1d< Hadron2PtContraction_t > operator()(const multi1d< LatticeColorMatrix > &u)
Asqtad Staggered-Dirac operator.
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > & RsdCG
SystemSolver disambiguator.
Holds return info from SystemSolver call.