CHROMA
iluprec_s_cprec_t_wilstype_fermact_w.h
Go to the documentation of this file.
1 #ifndef ILUPREC_S_TPREC_T_WILSTYPE_FERMACT_W_H
2 #define ILUPREC_S_TPREC_T_WILSTYPE_FERMACT_W_H
3 
4 /*! @file
5  * @brief ILUPreconditioned spatial Preconditioned Temporal Wilson like fermion action
6  */
7 
9 
10 namespace Chroma {
11  //-------------------------------------------------------------------------------------------
12  //! ILUPreconditioned Spatial, Central Temporal Preconditioned Wilson-like fermion actions with derivatives
13  /*! @ingroup actions
14  *
15  * Spatially ILUPreconditioned, Centrally temporally preconditioned like Wilson-like fermion actions
16  */
17  template<typename T, typename P, typename Q>
18  class ILUPrecSpaceCentralPrecTimeWilsonTypeFermAct : public CentralTimePrecFermAct<T,P,Q>
19  {
20  public:
21  //! Virtual destructor to help with cleanup
23 
24  //! Produce a linear operator for this action
25  virtual ILUPrecSpaceCentralPrecTimeLinearOperator<T,P,Q>* linOp( Handle< FermState<T,P,Q> > state) const = 0;
26 
27  //! Produce a the gamma5 hermitian version
29 
30  //! Return quark prop solver, solution of unpreconditioned system
32  const GroupXML_t& invParam) const;
33  };
34 
35 
36 
37  //-------------------------------------------------------------------------------------------
38  //! ILUPreconditioned Spatial, Central Temporal Preconditioned Wilson-like fermion actions with derivatives
39  /*! @ingroup actions
40  *
41  * Spatially ILUPreconditioned, Centrally temporally preconditioned like Wilson-like fermion actions
42  */
43  template<typename T, typename P, typename Q>
44  class ILU2PrecSpaceCentralPrecTimeWilsonTypeFermAct : public Central2TimePrecFermAct<T,P,Q>
45  {
46  public:
47  //! Virtual destructor to help with cleanup
49 
50  //! Produce a linear operator for this action
51  virtual ILU2PrecSpaceCentralPrecTimeLinearOperator<T,P,Q>* linOp( Handle< FermState<T,P,Q> > state) const = 0;
52 
53  //! Produce a the gamma5 hermitian version
55 
56 
57  //! Return quark prop solver, solution of unpreconditioned system
59  const GroupXML_t& invParam) const;
60 
61 
62  };
63 
64 
65 }
66 #endif
Support class for fermion actions and linear operators.
Definition: state.h:94
Class for counted reference semantics.
Definition: handle.h:33
ILUPreconditioned Spatial, Central Temporal Preconditioned Wilson-like fermion actions with derivativ...
virtual SystemSolver< T > * qprop(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return quark prop solver, solution of unpreconditioned system.
virtual LinearOperator< T > * hermitianLinOp(Handle< FermState< T, P, Q > > state) const =0
Produce a the gamma5 hermitian version.
virtual ILU2PrecSpaceCentralPrecTimeLinearOperator< T, P, Q > * linOp(Handle< FermState< T, P, Q > > state) const =0
Produce a linear operator for this action.
virtual ~ILU2PrecSpaceCentralPrecTimeWilsonTypeFermAct()
Virtual destructor to help with cleanup.
ILUPreconditioned Spatial, Central Temporal Preconditioned Wilson-like fermion actions with derivativ...
virtual LinearOperator< T > * hermitianLinOp(Handle< FermState< T, P, Q > > state) const =0
Produce a the gamma5 hermitian version.
virtual ~ILUPrecSpaceCentralPrecTimeWilsonTypeFermAct()
Virtual destructor to help with cleanup.
virtual SystemSolver< T > * qprop(Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const
Return quark prop solver, solution of unpreconditioned system.
virtual ILUPrecSpaceCentralPrecTimeLinearOperator< T, P, Q > * linOp(Handle< FermState< T, P, Q > > state) const =0
Produce a linear operator for this action.
Linear Operator.
Definition: linearop.h:27
Linear system solvers.
Definition: syssolver.h:34
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Definition: pbg5p_w.cc:28
Hold group xml and type id.