CHROMA
syssolver_mdagm_cg_array.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 MdagMSysSolverCGArrayEnv
15  {
16  //! Callback function
18  const std::string& path,
20  LatticeFermion,
21  multi1d<LatticeColorMatrix>,
22  multi1d<LatticeColorMatrix>
23  >
24  > state,
25 
27  {
29  }
30 
31  //! Name to be used
32  const std::string name("CG_INVERTER");
33 
34  //! Local registration flag
35  static bool registered = false;
36 
37  //! Register all the factories
38  bool registerAll()
39  {
40  bool success = true;
41  if (! registered)
42  {
44  registered = true;
45  }
46  return success;
47  }
48  }
49 }
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
Linear Operator to arrays.
Definition: linearop.h:61
Solve a CG2 system. Here, the operator is NOT assumed to be hermitian.
SystemSolver disambiguator.
static T & Instance()
Definition: singleton.h:432
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
const std::string name("CG_INVERTER")
Name to be used.
MdagMSystemSolverArray< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperatorArray< LatticeFermion > > A)
Callback function.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
A(A, psi, r, Ncb, PLUS)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Definition: pbg5p_w.cc:28
::std::string string
Definition: gtest.h:1979
Params for CG inverter.
Register MdagM system solvers.
Solve a MdagM*psi=chi linear system by CG2.
Factory for producing system solvers for MdagM*psi = chi.