CHROMA
syssolver_linop_bicgstab.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Solve a M*psi=chi linear system by MR
3  */
4 
7 
9 
10 namespace Chroma
11 {
12 
13  //! MR system solver namespace
14  namespace LinOpSysSolverBiCGStabEnv
15  {
16  //! Callback function
18  const std::string& path,
19  Handle< FermState< LatticeFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > > state,
21  {
23  }
24 
25  //! Callback function
27  const std::string& path,
28  Handle< FermState< LatticeFermionF, multi1d<LatticeColorMatrixF>, multi1d<LatticeColorMatrixF> > > state,
30  {
32  }
33 
34 #if 1
35  //! Callback function
37  XMLReader& xml_in,
38  const std::string& path,
40  {
42  }
43 #endif
44 
45  //! Name to be used
46  const std::string name("BICGSTAB_INVERTER");
47 
48  //! Local registration flag
49  static bool registered = false;
50 
51  //! Register all the factories
52  bool registerAll()
53  {
54  bool success = true;
55  if (! registered)
56  {
59  // success &= Chroma::TheLinOpStagFermSystemSolverFactory::Instance().registerObject(name, createStagFerm);
60  registered = true;
61  }
62  return success;
63  }
64  }
65 }
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 BICGSTAB.
static T & Instance()
Definition: singleton.h:432
bool registerAll()
Register all the factories.
LinOpSystemSolver< LatticeFermionF > * createFermF(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermionF, multi1d< LatticeColorMatrixF >, multi1d< LatticeColorMatrixF > > > state, Handle< LinearOperator< LatticeFermionF > > A)
Callback function.
LinOpSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperator< LatticeFermion > > A)
Callback function.
LinOpSystemSolver< LatticeStaggeredFermion > * createStagFerm(XMLReader &xml_in, const std::string &path, Handle< LinearOperator< LatticeStaggeredFermion > > A)
Callback function.
const std::string name("BICGSTAB_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)
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 linop system solvers that solve M*psi=chi.
Solve a M*psi=chi linear system by BICGSTAB.
Factory for solving M*psi=chi where M is not hermitian or pos. def.