CHROMA
unprec_dwf4d_linop_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Unpreconditioned projected DWF operator to 4D
4  */
5 
6 #ifndef __unprec_dwf4d_linop_w_h__
7 #define __unprec_dwf4d_linop_w_h__
8 
9 #include "linearop.h"
10 #include "handle.h"
12 
13 
14 namespace Chroma
15 {
16  //! Unpreconditioned projected DWF operator to 4D
17  /*!
18  * \ingroup linop
19  */
20  template<typename T>
21  class UnprecDWF4DLinOp : public LinearOperator<T>
22  {
23  public:
24  //! Initialize pointer with existing pointer
25  /*! Requires that the pointer p is a return value of new */
28  const SysSolverCGParams& invParam_) :
29  D(D_), PV(PV_), invParam(invParam_) {}
30 
31  //! Copy pointer (one more owner)
34  const SysSolverCGParams& invParam_) :
35  D(D_), PV(PV_), invParam(invParam_) {}
36 
37  //! Destructor
39 
40  //! Length of internal 5D
41  int size() const {return D->size();}
42 
43  //! Operator lives on the entire lattice
44  inline const Subset& subset() const {return all;}
45 
46  //! Apply the operator onto a source std::vector
47  /*! For this operator, the sign is ignored */
48  void operator() (T& chi, const T& psi, enum PlusMinus isign) const;
49 
50  protected:
51  //! Hide default constructor
53 
54  private:
58  };
59 
60 }
61 
62 
63 #endif
Class for counted reference semantics.
Definition: handle.h:33
Linear Operator to arrays.
Definition: linearop.h:61
Linear Operator.
Definition: linearop.h:27
Unpreconditioned projected DWF operator to 4D.
Handle< LinearOperatorArray< T > > D
const Subset & subset() const
Operator lives on the entire lattice.
UnprecDWF4DLinOp(Handle< LinearOperatorArray< T > > D_, Handle< LinearOperatorArray< T > > PV_, const SysSolverCGParams &invParam_)
Copy pointer (one more owner)
UnprecDWF4DLinOp(LinearOperatorArray< T > *D_, LinearOperatorArray< T > *PV_, const SysSolverCGParams &invParam_)
Initialize pointer with existing pointer.
int size() const
Length of internal 5D.
Handle< LinearOperatorArray< T > > PV
UnprecDWF4DLinOp()
Hide default constructor.
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
Class for counted reference semantics.
Linear Operators.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
LinOpSysSolverMGProtoClover::T T
multi1d< LatticeFermion > chi(Ncb)
LatticeFermion psi
Definition: mespbg5p_w.cc:35
Params for CG inverter.
Solve a CG1 system.