CHROMA
syssolver_polyprec_cg.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Solve a PolyPrec*psi=chi linear system by CG1
3  */
4 
7 
9 
10 namespace Chroma
11 {
12 
13  //! CG1 system solver namespace
14  namespace PolyPrecSysSolverCGEnv
15  {
16  //! Callback function
18  const std::string& path,
20  {
21  return new PolyPrecSysSolverCG<LatticeFermion>(A, SysSolverCGParams(xml_in, path));
22  }
23 
24  //! Name to be used
25  const std::string name("CG_INVERTER");
26 
27  //! Local registration flag
28  static bool registered = false;
29 
30  //! Register all the factories
31  bool registerAll()
32  {
33  bool success = true;
34  if (! registered)
35  {
37  registered = true;
38  }
39  return success;
40  }
41  }
42 }
Class for counted reference semantics.
Definition: handle.h:33
Solve a PolyPrec*psi=chi linear system by CG1.
static T & Instance()
Definition: singleton.h:432
PolyPrecSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< LinearOperator< LatticeFermion > > A)
Callback function.
bool registerAll()
Register all the factories.
const std::string name("CG_INVERTER")
Name to be used.
static bool registered
Local registration flag.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
A(A, psi, r, Ncb, PLUS)
::std::string string
Definition: gtest.h:1979
SystemSolver disambiguator.
Params for CG inverter.
Register linop system solvers that solve PolyPrec*psi=chi.
Solve a PolyPrec*psi=chi linear system by CG1.
Factory for solving PolyPrec*psi=chi where PolyPrec is hermitian and pos. def.