Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr_Chebyshev.h
Go to the documentation of this file.
1 
15 #ifndef FOPR_CHEBYSHEV_INCLUDED
16 #define FOPR_CHEBYSHEV_INCLUDED
17 
18 #include "fopr.h"
19 #include "field_F.h"
20 #include "index_lex.h"
21 
22 #include "bridgeIO.h"
23 using Bridge::vout;
24 
26 
39 //- parameters class
40 class Parameters_Fopr_Chebyshev : virtual public Parameters
41 {
42  public:
44 };
45 //- end
46 
47 class Fopr_Chebyshev : public Fopr
48 {
49  public:
50  static const std::string class_name;
51 
52  private:
53  int m_Npcb;
54  double m_Fcb1, m_Fcb2;
56 
57  public:
58 
60  : Fopr(), m_fopr(fopr) {}
61 
62  void set_parameters(const Parameters& params);
63  void set_parameters(int Np, double v_thrs, double v_max);
64 
65  void set_config(Field *U)
66  {
67  m_fopr->set_config(U);
68  }
69 
70  const Field mult(const Field& f);
71 
72  void mult(Field& v, const Field& f)
73  {
74  v = mult(f);
75  }
76 
77  const Field mult_dag(const Field& f)
78  {
79  return mult(f);
80  }
81 
82  void mult_dag(Field& v, const Field& f)
83  {
84  v = mult_dag(f);
85  }
86 
88  double mult(double);
89 
90  int field_nvol() { return m_fopr->field_nvol(); }
91  int field_nin() { return m_fopr->field_nin(); }
92  int field_nex() { return m_fopr->field_nex(); }
93 };
94 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
const Field mult(const Field &f)
multiplies fermion operator to a given field and returns the resultant field.
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
Chebyshev polynomial of fermion operator.
const Field mult_dag(const Field &f)
hermitian conjugate of mult(const Field&).
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
Container of Field-type object.
Definition: field.h:37
Fopr_Chebyshev(Fopr *fopr)
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
Class for parameters.
Definition: parameters.h:40
int field_nvol()
returns the volume for which the fermion operator is defined.
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field (2nd argument)
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
void set_config(Field *U)
setting pointer to the gauge configuration.
void set_parameters(const Parameters &params)
static const std::string class_name
Base class of fermion operator family.
Definition: fopr.h:39
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.