CHROMA
minvcg.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Multishift Conjugate-Gradient algorithm for a Linear Operator
4  */
5 
6 #ifndef MINVCG_INCLUDE
7 #define MINVCG_INCLUDE
8 
9 #include "linearop.h"
10 
11 namespace Chroma
12 {
13 
14 
15  /*! \ingroup invert */
16  template<typename T>
17  void MInvCG(const LinearOperator<T>& A,
18  const T& chi,
19  multi1d<T>& psi,
20  const multi1d<Real>& shifts,
21  const multi1d<Real>& RsdCG,
22  int MaxCG,
23  int &n_count);
24 
25  /*! \ingroup invert */
26  template<typename T, typename P, typename Q>
27  void MInvCG(const DiffLinearOperator<T,P,Q>& A,
28  const T& chi,
29  multi1d<T>& psi,
30  const multi1d<Real>& shifts,
31  const multi1d<Real>& RsdCG,
32  int MaxCG,
33  int &n_count);
34 
35 } // end namespace Chroma
36 
37 
38 #endif
void MInvCG(const LinearOperator< LatticeFermion > &M, const LatticeFermion &chi, multi1d< LatticeFermion > &psi, const multi1d< Real > &shifts, const multi1d< Real > &RsdCG, int MaxCG, int &n_count)
Definition: minvcg.cc:407
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
int n_count
Definition: invbicg.cc:78
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)
LatticeFermion T
Definition: t_clover.cc:11