Bridge++  Ver. 1.3.x
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 "projection.h"
20 #include "bridge_complex.h"
21 #include "mat_SU_N.h"
22 //#include "libkek.h" //- only for BG/Q
23 
24 #include "bridgeIO.h"
25 using Bridge::vout;
26 
27 // The following implementation only valid for Nc = 3 case.
28 #define NC 3
29 
30 
32 
39 //- parameters class
41 {
42  public:
44 };
45 //-
46 
48 {
49  public:
50  static const std::string class_name;
51 
52  private:
53  unsigned long int m_flop;
54  double m_time;
55 
56  public:
57 
59  {
60  setup();
61  }
62 
64 
65  void set_parameters(const Parameters& param);
66 
68  void project(Field_G& U,
69  double alpha,
70  const Field_G& C, const Field_G& Uorg);
71 
73  void force_recursive(Field_G& Xi, Field_G& iTheta,
74  double alpha, const Field_G& Sigmap,
75  const Field_G& C, const Field_G& U);
76 
77  void print_stat();
78 
79  private:
80  void exp_iQ(Field_G& e_iQ, const Field_G& iQ);
81  void exp_iQ_bf(Field_G& e_iQ, const Field_G& iQ);
82 
83  void set_uw(double& u, double& w,
84  const Mat_SU_N& iQ1, const Mat_SU_N& iQ2);
85 
86  void set_fj(dcomplex& f0, dcomplex& f1, dcomplex& f2,
87  const double& u, const double& w);
88 
89  double func_xi0(double w);
90  double func_xi1(double w);
91 
92  void setup();
93 };
94 #endif
BridgeIO vout
Definition: bridgeIO.cpp:278
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:38
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:38
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:31
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