6 #ifndef __syssolver_linop_cg_array_h__
7 #define __syssolver_linop_cg_array_h__
22 namespace LinOpSysSolverCGArrayEnv
50 int size()
const {
return A->size();}
53 const Subset&
subset()
const {
return A->subset();}
65 multi1d<T> chi_tmp(
size());
74 #ifdef CHROMA_DO_ONE_CG_RESTART
Class for counted reference semantics.
Solve a M*psi=chi linear system by CG2.
LinOpSysSolverCGArray(Handle< LinearOperatorArray< T > > A_, const SysSolverCGParams &invParam_)
Constructor.
SystemSolverResults_t operator()(multi1d< T > &psi, const multi1d< T > &chi) const
Solver the linear system.
int size() const
Expected length of array index.
~LinOpSysSolverCGArray()
Destructor is automatic.
Handle< LinearOperatorArray< T > > A
SysSolverCGParams invParam
const Subset & subset() const
Return the subset on which the operator acts.
SystemSolver disambiguator.
Linear Operator to arrays.
SystemSolverResults_t InvCG2(const LinearOperator< LatticeFermionF > &M, const LatticeFermionF &chi, LatticeFermionF &psi, const Real &RsdCG, int MaxCG)
Conjugate-Gradient (CGNE) algorithm for a generic Linear Operator.
Class for counted reference semantics.
Conjugate-Gradient algorithm for a generic Linear Operator.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
multi1d< LatticeFermion > chi(Ncb)
Holds return info from SystemSolver call.
Disambiguator for LinOp system solvers.