Bridge++  Version 1.4.4
 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 "projection.h"
20 #include "bridge_complex.h"
21 #include "Tools/mat_SU_N.h"
22 //#include "libkek.h" //- only for BG/Q
23 
24 #include "IO/bridgeIO.h"
25 using Bridge::vout;
26 
27 // The following implementation only valid for Nc = 3 case.
28 #define NC 3
29 
30 
32 
40 {
41  public:
42  static const std::string class_name;
43 
44  private:
45  unsigned long int m_flop;
46  double m_time;
47 
48  public:
49 
51  {
52  setup();
53  }
54 
56 
57  void set_parameters(const Parameters& param);
58 
60  void project(Field_G& U,
61  double alpha,
62  const Field_G& C, const Field_G& Uorg);
63 
65  void force_recursive(Field_G& Xi, Field_G& iTheta,
66  double alpha, const Field_G& Sigmap,
67  const Field_G& C, const Field_G& U);
68 
69  void print_stat();
70 
71  private:
72  void exp_iQ(Field_G& e_iQ, const Field_G& iQ);
73  void exp_iQ_bf(Field_G& e_iQ, const Field_G& iQ);
74 
75  void set_uw(double& u, double& w,
76  const Mat_SU_N& iQ1, const Mat_SU_N& iQ2);
77 
78  void set_fj(dcomplex& f0, dcomplex& f1, dcomplex& f2,
79  const double& u, const double& w);
80 
81  double func_xi0(double w);
82  double func_xi1(double w);
83 
84  void setup();
85 };
86 #endif
BridgeIO vout
Definition: bridgeIO.cpp:495
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
void set_uw(double &u, double &w, const Mat_SU_N &iQ1, const Mat_SU_N &iQ2)
Class for parameters.
Definition: parameters.h:46
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
Stout(exponential)-type projection to SU(N) gauge group.