CHROMA
syssolver_mdagm_bicgstab.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Solve a MdagM*psi=chi linear system by CG2
4  */
5 
8 
10 
11 namespace Chroma
12 {
13 
14  //! CG2 system solver namespace
15  namespace MdagMSysSolverBiCGStabEnv
16  {
17  //! Callback function
19  const std::string& path,
20  Handle< FermState< LatticeFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > > state,
22  {
24  }
25 
27  const std::string& path,
28  Handle< FermState< LatticeFermionF, multi1d<LatticeColorMatrixF>, multi1d<LatticeColorMatrixF> > > state,
30  {
32  }
33 
35  const std::string& path,
36  Handle< FermState< LatticeFermionD, multi1d<LatticeColorMatrixD>, multi1d<LatticeColorMatrixD> > > state,
37 
39  {
41  }
42 
43  //! Name to be used
44  const std::string name("BICGSTAB_INVERTER");
45 
46  //! Local registration flag
47  static bool registered = false;
48 
49  //! Register all the factories
50  bool registerAll()
51  {
52  bool success = true;
53  if (! registered)
54  {
58 
59  registered = true;
60  }
61  return success;
62  }
63  }
64 }
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
Solve a BiCGStab 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)
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
const std::string name("BICGSTAB_INVERTER")
Name to be used.
MdagMSystemSolver< LatticeFermionD > * createFermD(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermionD, multi1d< LatticeColorMatrixD >, multi1d< LatticeColorMatrixD > > > state, Handle< LinearOperator< LatticeFermionD > > A)
MdagMSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperator< 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 BiCGStab inverter.
Register MdagM system solvers.
Solve a MdagM*psi=chi linear system by BiCGStab.
Factory for producing system solvers for MdagM*psi = chi.