CHROMA
asqtad_cps_wrapper_qprop.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Propagator solver for an even-odd non-preconditioned fermion operator
4  *
5  * Solve for the propagator of an even-odd non-preconditioned fermion operator
6  */
7 
8 #ifndef ASQTAD_CPS_WRAPPER_QPROP_H
9 #define ASQTAD_CPS_WRAPPER_QPROP_H
10 
11 
12 #include "chromabase.h"
13 #include "handle.h"
14 //#include "invtype.h"
15 #include "syssolver.h"
16 #include "linearop.h"
17 #include "fermact.h"
19 #include "state.h"
21 #include "stagtype_fermact_s.h"
23 
24 namespace Chroma
25 {
26 
27  //! QPROP for wrapping CPS asqtad QPROP
28  /*! \ingroup qprop
29  *
30  */
31  class AsqtadCPSWrapperQprop : public SystemSolver<LatticeStaggeredFermion>
32  {
33  public:
34  // Typedefs to save typing
35  typedef LatticeStaggeredFermion T;
36  typedef multi1d<LatticeColorMatrix> P;
37  typedef multi1d<LatticeColorMatrix> Q;
38 
39  //! Constructor
40  /*!
41  // Keeping the same interface as for the ordinary staggered
42  // qprop...
43  //
44  // But the M_ and A_ linop handles are no longer kept
45  // (are ignored) -- is there a nice way around this ?
46  // Perhaps not
47  */
51  const SysSolverCGParams& invParam_);
52 
53  //! Destructor is automatic
55 
56  //! Return the subset on which the operator acts
57  const Subset& subset() const {return all;}
58 
59  //! Solver the linear system
60  /*!
61  * \param psi quark propagator ( Modify )
62  * \param chi source ( Read )
63  * \return number of CG iterations
64  */
65  SystemSolverResults_t operator() (LatticeStaggeredFermion& psi, const LatticeStaggeredFermion& chi) const;
66 
67 
68  private:
69  // Hide default constructor
71 
72  Real Mass;
74  // Handle< FermState<T,P,Q> > state;
76 
78 
79  };
80 
81 } // End namespace
82 
83 #endif
84 
Asqtad state.
Primary include file for CHROMA library code.
QPROP for wrapping CPS asqtad QPROP.
const Subset & subset() const
Return the subset on which the operator acts.
multi1d< LatticeColorMatrix > P
Handle< EvenOddLinearOperator< T, P, Q > > M
Handle< AsqtadConnectStateBase > state
SystemSolverResults_t operator()(LatticeStaggeredFermion &psi, const LatticeStaggeredFermion &chi) const
Solver the linear system.
~AsqtadCPSWrapperQprop()
Destructor is automatic.
multi1d< LatticeColorMatrix > Q
Even-odd preconditioned Staggered-like fermion actions.
Definition: fermact.orig.h:714
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
Linear system solvers.
Definition: syssolver.h:34
Class structure for fermion actions.
Class for counted reference semantics.
Linear Operators.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
multi1d< LatticeFermion > chi(Ncb)
LatticeFermion psi
Definition: mespbg5p_w.cc:35
Staggered-like fermion actions.
Support class for fermion actions and linear operators.
Params for CG inverter.
Holds return info from SystemSolver call.
Definition: syssolver.h:17
Linear system solvers.
Solve a CG1 system.