CHROMA
asqtad_linop_s.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Unpreconditioned Asqtad linear operator
3  */
4 // NEW $Id: asqtad_linop.cc 2003/11/13 steve
5 
6 #include "chromabase.h"
8 
9 namespace Chroma
10 {
11  void AsqtadLinOp::evenOddLinOp(LatticeStaggeredFermion& chi,
12  const LatticeStaggeredFermion& psi,
13  enum PlusMinus isign) const
14  {
15  D.apply(chi, psi, isign, 0);
16  }
17 
18  void AsqtadLinOp::oddEvenLinOp(LatticeStaggeredFermion& chi,
19  const LatticeStaggeredFermion& psi,
20  enum PlusMinus isign) const
21  {
22  D.apply(chi, psi, isign, 1);
23  }
24 
25  //! Return flops performed by the operator()
26  unsigned long AsqtadLinOp::nFlops() const
27  {
28  unsigned long cbsite_flops = 1146; // I think this is correct... see flop count in asq_dsl_s.cc
29  return cbsite_flops*(Layout::sitesOnNode()/2);
30  }
31 
32 } // End Namespace Chroma
33 
Primary include file for CHROMA library code.
unsigned long nFlops() const
Return flops performed by the operator()
void oddEvenLinOp(LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
Apply the the odd-even block onto a source std::vector.
void evenOddLinOp(LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign) const
Apply the the even-odd block onto a source std::vector.
void apply(LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign, int cb) const
Definition: asq_dsl_s.cc:74
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
multi1d< LatticeFermion > chi(Ncb)
LatticeFermion psi
Definition: mespbg5p_w.cc:35