CHROMA
lDeltaLs_w.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Unpreconditioned Wilson linear operator
3  */
4 
5 #include "chromabase.h"
6 #include "lDeltaLs_w.h"
7 
8 using namespace QDP::Hints;
9 
10 namespace Chroma {
11 //! Apply unpreconditioned Wilson fermion linear operator
12 /*!
13  * \ingroup linop
14  *
15  * The operator acts on the entire lattice
16  *
17  * \param chi Pseudofermion field (Read)
18  * \param psi Pseudofermion field (Read)
19  * \param isign Flag ( PLUS | MINUS ) (Read)
20  */
21 void lDeltaLs::operator() (LatticeFermion& chi, const LatticeFermion& psi,
22  enum PlusMinus isign) const
23 {
24  START_CODE();
25 
26  int G5 = Ns*Ns-1;
27  LatticeFermion tmp1, tmp2, tmp3;
28  moveToFastMemoryHint(tmp1);
29  moveToFastMemoryHint(tmp2);
30  moveToFastMemoryHint(tmp3);
31 
32  // Construct eps(H)*psi
33  (*D)(tmp1, psi, PLUS);
34  tmp2 = GammaConst<Ns,Ns*Ns-1>()*(Real(2)*tmp1 - Real(1)*psi);
35 
36  // Construct eps(H)*eps(H)*psi
37  (*D)(tmp1, tmp2, PLUS);
38  tmp3 = GammaConst<Ns,Ns*Ns-1>()*(Real(2)*tmp1 - Real(1)*tmp2);
39 
40  // Construct (1/4)(1 - eps(H)*eps(H))*psi
41  chi = Real(0.25)*(psi - tmp3);
42 
43  END_CODE();
44 }
45 
46 }
Primary include file for CHROMA library code.
#define END_CODE()
Definition: chromabase.h:65
#define START_CODE()
Definition: chromabase.h:64
Double tmp2
Definition: mesq.cc:30
Double tmp3
Definition: mesq.cc:31
multi1d< Hadron2PtContraction_t > operator()(const multi1d< LatticeColorMatrix > &u)
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
int G5
Definition: pbg5p_w.cc:57
@ PLUS
Definition: chromabase.h:45
chi
Definition: pade_trln_w.cc:24
psi
Definition: pade_trln_w.cc:191