CHROMA
reliable_cg.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief BiCGStab Solver with reliable updates
4  */
5 
6 #ifndef __reliable_cg_h__
7 #define __reliable_cg_h__
8 
9 #include "linearop.h"
10 #include "syssolver.h"
11 
12 namespace Chroma
13 {
14 
15  //! Bi-CG stabilized
16  /*! \ingroup invert
17  *
18  * @{
19  */
20  SystemSolverResults_t
21  InvCGReliable(const LinearOperator<LatticeFermionF>& A,
22  const LatticeFermionF& chi,
23  LatticeFermionF& psi,
24  const Real& RsdCG,
25  const Real& Delta,
26  int MaxCG);
27 
28  // Pure double
29  SystemSolverResults_t
30  InvCGReliable(const LinearOperator<LatticeFermionD>& A,
31  const LatticeFermionD& chi,
32  LatticeFermionD& psi,
33  const Real& RsdCG,
34  const Real& Delta,
35  int MaxCG);
36 
37 
38  // single double
39  SystemSolverResults_t
40  InvCGReliable(const LinearOperator<LatticeFermionD>& A,
41  const LinearOperator<LatticeFermionF>& AF,
42  const LatticeFermionD& chi,
43  LatticeFermionD& psi,
44  const Real& RsdCG,
45  const Real& Delta,
46  int MaxCG);
47 
48 
49  /*! @} */ // end of group invert
50 
51 } // end namespace Chroma
52 
53 #endif
SystemSolverResults_t InvCGReliable(const LinearOperator< LatticeFermionF > &A, const LatticeFermionF &chi, LatticeFermionF &psi, const Real &RsdCG, const Real &Delta, int MaxCG)
Bi-CG stabilized.
Definition: reliable_cg.cc:193
Linear Operators.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > & RsdCG
Definition: pbg5p_w.cc:30
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > const multi1d< Real > enum InvType invType const multi1d< Real > int MaxCG
Definition: pbg5p_w.cc:32
multi1d< LatticeFermion > chi(Ncb)
LatticeFermion psi
Definition: mespbg5p_w.cc:35
A(A, psi, r, Ncb, PLUS)
Linear system solvers.