CHROMA
syssolver_linop_cg_array.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Solve a CG1 system
3  */
4 
7 
9 
10 namespace Chroma
11 {
12 
13  //! CG1 system solver namespace
14  namespace LinOpSysSolverCGArrayEnv
15  {
16  //! Callback function
18  const std::string& path,
20  LatticeFermion,
21  multi1d<LatticeColorMatrix>,
22  multi1d<LatticeColorMatrix>
23  >
24  > state,
26  {
28  }
29 
30  //! Name to be used
31  const std::string name("CG_INVERTER");
32 
33  //! Local registration flag
34  static bool registered = false;
35 
36  //! Register all the factories
37  bool registerAll()
38  {
39  bool success = true;
40  if (! registered)
41  {
43  registered = true;
44  }
45  return success;
46  }
47  }
48 }
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
Solve a M*psi=chi linear system by CG2.
Linear Operator to arrays.
Definition: linearop.h:61
static T & Instance()
Definition: singleton.h:432
LinOpSystemSolverArray< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperatorArray< LatticeFermion > > A)
Callback function.
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
const std::string name("CG_INVERTER")
Name to be used.
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 linop system solvers that solve M*psi=chi.
Solve a M*psi=chi linear system by CG2.
Factory for solving M*psi=chi where M is not hermitian or pos. def.