Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
field_G_imp_SU_N-inc.h
Go to the documentation of this file.
1 #define NC m_Nc
2 #define NCOL m_Nc
3 
4 //====================================================================
5 namespace {
6  void check_Nc()
7  {
9  "Field_G: implementation for general SU(N).\n");
10  }
11 
12 
13  double mult_Gnn_r(const double *g1, const double *g2, const int Nc)
14  {
15  double a = 0.0;
16 
17  for (int i = 0; i < Nc; ++i) {
18  a += g1[2 * i] * g2[2 * i * Nc] - g1[2 * i + 1] * g2[2 * i * Nc + 1];
19  }
20  return a;
21  }
22 
23 
24  double mult_Gnn_i(const double *g1, const double *g2, const int Nc)
25  {
26  double a = 0.0;
27 
28  for (int i = 0; i < Nc; ++i) {
29  a += g1[2 * i] * g2[2 * i * Nc + 1] + g1[2 * i + 1] * g2[2 * i * Nc];
30  }
31  return a;
32  }
33 
34 
35  double mult_Gdn_r(const double *g1, const double *g2, const int Nc)
36  {
37  double a = 0.0;
38 
39  for (int i = 0; i < Nc; ++i) {
40  a += g1[2 * i * Nc] * g2[2 * i * Nc] + g1[2 * i * Nc + 1] * g2[2 * i * Nc + 1];
41  }
42  return a;
43  }
44 
45 
46  double mult_Gdn_i(const double *g1, const double *g2, const int Nc)
47  {
48  double a = 0.0;
49 
50  for (int i = 0; i < Nc; ++i) {
51  a += g1[2 * i * Nc] * g2[2 * i * Nc + 1] - g1[2 * i * Nc + 1] * g2[2 * i * Nc];
52  }
53  return a;
54  }
55 
56 
57  double mult_Gnd_r(const double *g1, const double *g2, const int Nc)
58  {
59  double a = 0.0;
60 
61  for (int i = 0; i < Nc; ++i) {
62  a += g1[2 * i] * g2[2 * i] + g1[2 * i + 1] * g2[2 * i + 1];
63  }
64  return a;
65  }
66 
67 
68  double mult_Gnd_i(const double *g1, const double *g2, const int Nc)
69  {
70  double a = 0.0;
71 
72  for (int i = 0; i < Nc; ++i) {
73  a += -g1[2 * i] * g2[2 * i + 1] + g1[2 * i + 1] * g2[2 * i];
74  }
75  return a;
76  }
77 
78 
79  double mult_Gdd_r(const double *g1, const double *g2, const int Nc)
80  {
81  double a = 0.0;
82 
83  for (int i = 0; i < Nc; ++i) {
84  a += g1[2 * i * Nc] * g2[2 * i] - g1[2 * i * Nc + 1] * g2[2 * i + 1];
85  }
86  return a;
87  }
88 
89 
90  double mult_Gdd_i(const double *g1, const double *g2, const int Nc)
91  {
92  double a = 0.0;
93 
94  for (int i = 0; i < Nc; ++i) {
95  a += -g1[2 * i * Nc] * g2[2 * i + 1] - g1[2 * i * Nc + 1] * g2[2 * i];
96  }
97  return a;
98  }
99 } // end of nameless namespace
100 //====================================================================
101 //============================================================END=====
BridgeIO vout
Definition: bridgeIO.cpp:503
static Bridge::VerboseLevel Vlevel()
void paranoiac(const char *format,...)
Definition: bridgeIO.cpp:235