CHROMA
minvcg2.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 MINVCG2_INCLUDE
7 #define MINVCG2_INCLUDE
8 
9 #include "linearop.h"
10 
11 namespace Chroma
12 {
13 
14 
15  /*! \ingroup invert */
16  template<typename T>
17  void MInvCG2(const LinearOperator<T>& M,
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 
27  const LatticeFermionF& chi,
28  multi1d<LatticeFermionF>& psi,
29  const multi1d<RealF>& shifts,
30  const multi1d<RealF>& RsdCG,
31  int MaxCG,
32  int &n_count);
33 
34 
36  const LatticeFermionD& chi,
37  multi1d<LatticeFermionD>& psi,
38  const multi1d<RealD>& shifts,
39  const multi1d<RealD>& RsdCG,
40  int MaxCG,
41  int &n_count);
42 
43  /*! \ingroup invert */
44  template<typename T, typename P, typename Q>
46  const T& chi,
47  multi1d<T>& psi,
48  const multi1d<Real>& shifts,
49  const multi1d<Real>& RsdCG,
50  int MaxCG,
51  int &n_count);
52 
53  void MInvCG2(const DiffLinearOperator<LatticeFermionF,multi1d<LatticeColorMatrixF>,multi1d<LatticeColorMatrixF> >& M,
54  const LatticeFermionF& chi,
55  multi1d<LatticeFermionF>& psi,
56  const multi1d<RealF>& shifts,
57  const multi1d<RealF>& RsdCG,
58  int MaxCG,
59  int &n_count);
60 
61  void MInvCG2(const DiffLinearOperator<LatticeFermionD,multi1d<LatticeColorMatrixD>,multi1d<LatticeColorMatrixD> >& M,
62  const LatticeFermionD& chi,
63  multi1d<LatticeFermionD>& psi,
64  const multi1d<RealD>& shifts,
65  const multi1d<RealD>& RsdCG,
66  int MaxCG,
67  int &n_count);
68 
69 } // end namespace Chroma
70 
71 
72 #endif
Differentiable Linear Operator.
Definition: linearop.h:98
Linear Operator.
Definition: linearop.h:27
void MInvCG2(const LinearOperator< LatticeFermionF > &M, const LatticeFermionF &chi, multi1d< LatticeFermionF > &psi, const multi1d< RealF > &shifts, const multi1d< RealF > &RsdCG, int MaxCG, int &n_count)
Definition: minvcg2.cc:376
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
LinOpSysSolverMGProtoClover::T T
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