CHROMA
multi_syssolver_mdagm_cg_accumulate_array.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Solve a MdagM*psi=chi linear system by multi-shift CG
3  */
4 
7 
9 
10 using namespace QDP;
11 namespace Chroma
12 {
13 
14  //! CG system solver namespace
15  namespace MdagMMultiSysSolverCGAccumulateArrayEnv
16  {
17  //! Callback function
19  const std::string& path,
21  {
23  }
24 
25  //! Name to be used
26  const std::string name("CG_INVERTER");
27 
28  //! Local registration flag
29  static bool registered = false;
30 
31  //! Register all the factories
32  bool registerAll()
33  {
34  bool success = true;
35  if (! registered)
36  {
38  registered = true;
39  }
40  return success;
41  }
42  }
43 }
Class for counted reference semantics.
Definition: handle.h:33
Linear Operator to arrays.
Definition: linearop.h:61
Solve a CG system. Here, the operator is NOT assumed to be hermitian.
static T & Instance()
Definition: singleton.h:432
Register MdagM system solvers.
Factory for producing system solvers for MdagM*psi = chi.
Solve a MdagM*psi=chi linear system by multi-shift CG.
const std::string name("CG_INVERTER")
Name to be used.
MdagMMultiSystemSolverAccumulateArray< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< LinearOperatorArray< LatticeFermion > > A)
Callback function.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
A(A, psi, r, Ncb, PLUS)
::std::string string
Definition: gtest.h:1979