Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
projection_Stout_SU3.h
Go to the documentation of this file.
1 
15 #ifndef PROJECTION_STOUT_SU3_INCLUDED
16 #define PROJECTION_STOUT_SU3_INCLUDED
17 
18 #include <cassert>
19 #include <valarray>
20 #include "projection.h"
21 #include "bridge_complex.h"
22 #include "mat_SU_N.h"
23 //#include "libkek.h" //- only for BG/Q
24 
25 #include "bridgeIO.h"
26 using Bridge::vout;
27 
28 // The following implementation only valid for Nc = 3 case.
29 #define NC 3
30 
31 
33 
40 //- parameters class
42 {
43  public:
45 };
46 //-
47 
49 {
50  public:
51  static const std::string class_name;
52 
53  private:
54  unsigned long int m_flop;
55  double m_time;
56 
57  public:
58 
60  {
61  setup();
62  }
63 
65 
66  void set_parameters(const Parameters& param);
67 
69  void project(Field_G& U,
70  double alpha,
71  const Field_G& C, const Field_G& Uorg);
72 
74  void force_recursive(Field_G& Xi, Field_G& iTheta,
75  double alpha, const Field_G& Sigmap,
76  const Field_G& C, const Field_G& U);
77 
78  void print_stat();
79 
80  private:
81  void exp_iQ(Field_G& e_iQ, const Field_G& iQ);
82  void exp_iQ_bf(Field_G& e_iQ, const Field_G& iQ);
83 
84  void set_uw(double& u, double& w,
85  const Mat_SU_N& iQ1, const Mat_SU_N& iQ2);
86 
87  void set_fj(dcomplex& f0, dcomplex& f1, dcomplex& f2,
88  const double& u, const double& w);
89 
90  double func_xi0(double w);
91  double func_xi1(double w);
92 
93  void setup();
94 };
95 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
unsigned long int m_flop
void force_recursive(Field_G &Xi, Field_G &iTheta, double alpha, const Field_G &Sigmap, const Field_G &C, const Field_G &U)
determination of fields for force calculation
Stout(exponential)-type projection to SU(N) gauge group.
void set_uw(double &u, double &w, const Mat_SU_N &iQ1, const Mat_SU_N &iQ2)
Class for parameters.
Definition: parameters.h:40
void project(Field_G &U, double alpha, const Field_G &C, const Field_G &Uorg)
projection U = P[alpha, C, Uorg]
SU(N) gauge field.
Definition: field_G.h:36
void set_fj(dcomplex &f0, dcomplex &f1, dcomplex &f2, const double &u, const double &w)
base class for projection operator into gauge group.
Definition: projection.h:33
void set_parameters(const Parameters &param)
void exp_iQ(Field_G &e_iQ, const Field_G &iQ)
void exp_iQ_bf(Field_G &e_iQ, const Field_G &iQ)
static const std::string class_name