Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr_Wilson.h
Go to the documentation of this file.
1 
14 #ifndef FOPR_WILSON_INCLUDED
15 #define FOPR_WILSON_INCLUDED
16 
17 #include <valarray>
18 #include <string>
19 #include <cassert>
20 
21 #include "fopr.h"
22 #include "field_F.h"
23 
24 #include "bridgeIO.h"
25 using Bridge::vout;
26 
28 
45 //- parameters class
46 class Parameters_Fopr_Wilson : virtual public Parameters
47 {
48  public:
50 };
51 //- end
52 
53 class Fopr_Wilson : public Fopr
54 {
55  public:
56  // interface definitions
57 
58  Fopr_Wilson();
59  Fopr_Wilson(std::string repr);
60 
61  ~Fopr_Wilson();
62 
63  void set_parameters(const Parameters& params);
64  void set_parameters(const double kappa, const std::valarray<int> bc);
65 
66  void set_config(Field *U);
67 
68  void set_mode(std::string mode);
69 
70  std::string get_mode() const;
71 
72  inline const Field mult(const Field& f)
73  {
74  Field v(f.nin(), f.nvol(), f.nex());
75 
76  mult(v, f);
77  return v;
78  }
79 
80  inline const Field mult_dag(const Field& f)
81  {
82  Field v(f.nin(), f.nvol(), f.nex());
83 
84  mult_dag(v, f);
85  return v;
86  }
87 
88  inline const Field mult_gm5(const Field& f)
89  {
90  Field v(f.nin(), f.nvol(), f.nex());
91 
92  mult_gm5(v, f);
93  return v;
94  }
95 
96  void mult(Field& v, const Field& f);
97  void mult_dag(Field& v, const Field& f);
98  void mult_gm5(Field& w, const Field& v);
99  void D(Field& w, const Field& v);
100  void Ddag(Field& w, const Field& v);
101  void DdagD(Field& w, const Field& v);
102  void H(Field& w, const Field& v);
103 
104  const Field_F mult_gm5p(int mu, const Field_F& w);
105 
107  void mult_up(int mu, Field& w, const Field& v);
108  void mult_dn(int mu, Field& w, const Field& v);
109 
110  void fprop_normalize(Field& v);
111  void fopr_normalize(Field& v);
112 
114  { return CommonParameters::Nvol(); }
115  int field_nin()
116  { return 2 * CommonParameters::Nc() * CommonParameters::Nd(); }
117  int field_nex()
118  { return 1; }
119 
120  private:
121  // pimple prescription for Fopr_Wilson class implementation.
123 
125 };
126 #endif