CHROMA
multi_syssolver_mdagm_cg.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Solve a MdagM*psi=chi linear system by CG2
3  */
4 
7 
9 
10 namespace Chroma
11 {
12 
13  //! CG2 system solver namespace
14  namespace MdagMMultiSysSolverCGEnv
15  {
16  //! Callback function
18  const std::string& path,
19  Handle< FermState< LatticeFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > >,
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 }
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
Solve a CG2 system. Here, the operator is NOT assumed to be hermitian.
static T & Instance()
Definition: singleton.h:432
Register MdagM system solvers.
Solve a MdagM*psi=chi linear system by CG2.
Factory for producing system solvers for MdagM*psi = chi.
static bool registered
Local registration flag.
const std::string name("CG_INVERTER")
Name to be used.
MdagMMultiSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > >, Handle< LinearOperator< LatticeFermion > > A)
Callback function.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
A(A, psi, r, Ncb, PLUS)
::std::string string
Definition: gtest.h:1979