CHROMA
syssolver_linop_clover_mg_proto.h
Go to the documentation of this file.
1 /*
2  * syssolver_linop_clover_mg_proto.h
3  *
4  * Created on: Mar 23, 2017
5  * Author: bjoo
6  */
7 
8 #ifndef LIB_ACTIONS_FERM_INVERT_MG_PROTO_SYSSOLVER_LINOP_CLOVER_MG_PROTO_H_
9 #define LIB_ACTIONS_FERM_INVERT_MG_PROTO_SYSSOLVER_LINOP_CLOVER_MG_PROTO_H_
10 
11 #include "chromabase.h"
12 #include "handle.h"
13 #include "state.h"
14 #include "syssolver.h"
15 #include "linearop.h"
18 using namespace QDP;
19 
20 namespace Chroma {
21 
22 //! Registration and other yuckies
23  namespace LinOpSysSolverMGProtoCloverEnv
24  {
25  //! Register the syssolver
26  bool registerAll();
27 
28 
29  }
30 
31  class LinOpSysSolverMGProtoClover : public LinOpSystemSolver<LatticeFermion>
32  {
33  public:
34  using T = LatticeFermion;
35  using Q = multi1d<LatticeColorMatrix>;
36 
38  Handle< FermState<T,Q,Q> > state_,
39  const MGProtoSolverParams& invParam_);
40 
42 
43 
44  //! Return the subset on which the operator acts
45  const Subset& subset() const;
46 
47  //! Solve It!
48  SystemSolverResults_t operator()(T& psi, const T& chi) const;
49 
50  private:
54  };
55 
56 };
57 
58 
59 
60 
61 #endif /* LIB_ACTIONS_FERM_INVERT_MG_PROTO_SYSSOLVER_LINOP_CLOVER_MG_PROTO_H_ */
Primary include file for CHROMA library code.
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
SystemSolver disambiguator.
Linear Operator.
Definition: linearop.h:27
Class for counted reference semantics.
Linear Operators.
bool registerAll()
Register all the factories.
multi1d< Hadron2PtContraction_t > operator()(const multi1d< LatticeColorMatrix > &u)
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
chi
Definition: pade_trln_w.cc:24
psi
Definition: pade_trln_w.cc:191
Support class for fermion actions and linear operators.
Holds return info from SystemSolver call.
Definition: syssolver.h:17
Linear system solvers.
Disambiguator for LinOp system solvers.