CHROMA
unprec_pdwf4d_linop_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Unpreconditioned projected DWF operator to 4D using prec 5D bits
4  */
5 
6 #ifndef __unprec_pdwf4d_linop_w_h__
7 #define __unprec_pdwf4d_linop_w_h__
8 
9 #include "linearop.h"
10 #include "eoprec_linop.h"
11 #include "handle.h"
13 
14 
15 namespace Chroma
16 {
17  //! Unpreconditioned projected DWF operator to 4D, using prec. 5D pieces
18  /*!
19  * \ingroup linop
20  */
21  template<typename T, typename P, typename Q>
23  {
24  public:
25  //! Initialize pointer with existing pointer
26  /*! Requires that the pointer p is a return value of new */
29  const SysSolverCGParams& invParam_) :
30  D(D_), PV(PV_), invParam(invParam_) {}
31 
32  //! Copy pointer (one more owner)
35  const SysSolverCGParams& invParam_) :
36  D(D_), PV(PV_), invParam(invParam_) {}
37 
38  //! Destructor
40 
41  //! Length of internal 5D
42  int size() const {return D->size();}
43 
44  //! Operator lives on the entire lattice
45  inline const Subset& subset() const {return all;}
46 
47  //! Apply the operator onto a source std::vector
48  /*! For this operator, the sign is ignored */
49  void operator() (T& chi, const T& psi, enum PlusMinus isign) const;
50 
51  protected:
52  //! Hide default constructor
54 
55  private:
59  };
60 
61 }
62 
63 
64 #endif
Even-odd preconditioned linear operator including derivatives for arrays.
Definition: eoprec_linop.h:312
Class for counted reference semantics.
Definition: handle.h:33
Linear Operator.
Definition: linearop.h:27
Unpreconditioned linear operator including derivatives.
Definition: linearop.h:203
Unpreconditioned projected DWF operator to 4D, using prec. 5D pieces.
Handle< EvenOddPrecLinearOperatorArray< T, P, Q > > D
const Subset & subset() const
Operator lives on the entire lattice.
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
int size() const
Length of internal 5D.
Handle< UnprecLinearOperatorArray< T, P, Q > > PV
UnprecPDWF4DLinOp(Handle< EvenOddPrecLinearOperatorArray< T, P, Q > > D_, Handle< UnprecLinearOperatorArray< T, P, Q > > PV_, const SysSolverCGParams &invParam_)
Copy pointer (one more owner)
UnprecPDWF4DLinOp()
Hide default constructor.
UnprecPDWF4DLinOp(EvenOddPrecLinearOperatorArray< T, P, Q > *D_, UnprecLinearOperatorArray< T, P, Q > *PV_, const SysSolverCGParams &invParam_)
Initialize pointer with existing pointer.
Base class for even-odd preconditioned 4D and 5D Linop.
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.