22                    "Field_G: implementation for general SU(N).\n");
 
   26   double mult_Gnn_r(
const double *g1, 
const double *g2, 
const int Nc)
 
   30     for (
int i = 0; i < Nc; ++i) {
 
   31       a += g1[2 * i] * g2[2 * i * Nc] - g1[2 * i + 1] * g2[2 * i * Nc + 1];
 
   37   double mult_Gnn_i(
const double *g1, 
const double *g2, 
const int Nc)
 
   41     for (
int i = 0; i < Nc; ++i) {
 
   42       a += g1[2 * i] * g2[2 * i * Nc + 1] + g1[2 * i + 1] * g2[2 * i * Nc];
 
   48   double mult_Gdn_r(
const double *g1, 
const double *g2, 
const int Nc)
 
   52     for (
int i = 0; i < Nc; ++i) {
 
   53       a += g1[2 * i * Nc] * g2[2 * i * Nc] + g1[2 * i * Nc + 1] * g2[2 * i * Nc + 1];
 
   59   double mult_Gdn_i(
const double *g1, 
const double *g2, 
const int Nc)
 
   63     for (
int i = 0; i < Nc; ++i) {
 
   64       a += g1[2 * i * Nc] * g2[2 * i * Nc + 1] - g1[2 * i * Nc + 1] * g2[2 * i * Nc];
 
   70   double mult_Gnd_r(
const double *g1, 
const double *g2, 
const int Nc)
 
   74     for (
int i = 0; i < Nc; ++i) {
 
   75       a += g1[2 * i] * g2[2 * i] + g1[2 * i + 1] * g2[2 * i + 1];
 
   81   double mult_Gnd_i(
const double *g1, 
const double *g2, 
const int Nc)
 
   85     for (
int i = 0; i < Nc; ++i) {
 
   86       a += -g1[2 * i] * g2[2 * i + 1] + g1[2 * i + 1] * g2[2 * i];
 
   92   double mult_Gdd_r(
const double *g1, 
const double *g2, 
const int Nc)
 
   96     for (
int i = 0; i < Nc; ++i) {
 
   97       a += g1[2 * i * Nc] * g2[2 * i] - g1[2 * i * Nc + 1] * g2[2 * i + 1];
 
  103   double mult_Gdd_i(
const double *g1, 
const double *g2, 
const int Nc)
 
  107     for (
int i = 0; i < Nc; ++i) {
 
  108       a += -g1[2 * i * Nc] * g2[2 * i + 1] - g1[2 * i * Nc + 1] * g2[2 * i];