CHROMA
syssolver_mdagm_ibicgstab.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 MdagMSysSolverIBiCGStabEnv
15  {
16  //! Callback function
18  const std::string& path,
19  Handle< FermState< LatticeFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > > state,
21  {
23  }
24 
26  const std::string& path,
27  Handle< FermState< LatticeFermionF, multi1d<LatticeColorMatrixF>, multi1d<LatticeColorMatrixF> > > state,
29  {
31  }
32 
34  const std::string& path,
35  Handle< FermState< LatticeFermionD, multi1d<LatticeColorMatrixD>, multi1d<LatticeColorMatrixD> > > state,
36 
38  {
40  }
41 
42  //! Name to be used
43  const std::string name("IBICGSTAB_INVERTER");
44 
45  //! Local registration flag
46  static bool registered = false;
47 
48  //! Register all the factories
49  bool registerAll()
50  {
51  bool success = true;
52  if (! registered)
53  {
57 
58  registered = true;
59  }
60  return success;
61  }
62  }
63 }
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
Solve a IBiCGStab system. Here, the operator is NOT assumed to be hermitian.
static T & Instance()
Definition: singleton.h:432
MdagMSystemSolver< LatticeFermionF > * createFermF(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermionF, multi1d< LatticeColorMatrixF >, multi1d< LatticeColorMatrixF > > > state, Handle< LinearOperator< LatticeFermionF > > A)
MdagMSystemSolver< LatticeFermionD > * createFermD(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermionD, multi1d< LatticeColorMatrixD >, multi1d< LatticeColorMatrixD > > > state, Handle< LinearOperator< LatticeFermionD > > A)
bool registerAll()
Register all the factories.
MdagMSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperator< LatticeFermion > > A)
Callback function.
static bool registered
Local registration flag.
const std::string name("IBICGSTAB_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 BiCGStab inverter.
Register MdagM system solvers.
Factory for producing system solvers for MdagM*psi = chi.
Solve a MdagM*psi=chi linear system by BiCGStab.