23 assert(Nvol == v1.
nvol());
24 assert(Nvol == v2.
nvol());
28 valarray<int> gmindex(Nd);
29 valarray<double> corr_r(Nd), corr_i(Nd);
31 for (
int i = 0; i < Nd; ++i) {
32 gmindex[i] = gm.
index(i);
37 for (
int z = 0; z < Nz; ++z) {
38 for (
int y = 0; y < Ny; ++y) {
39 for (
int x = 0; x < Nx; ++x) {
40 int site = index.
site(x, y, z, time);
42 for (
int s0 = 0; s0 < Nd; ++s0) {
45 for (
int c1 = 0; c1 < Nc; ++c1) {
46 corr_r[s0] += v1.
cmp_r(c1, s1, site) * v2.
cmp_r(c1, s0, site)
47 + v1.
cmp_i(c1, s1, site) * v2.
cmp_i(c1, s0, site);
49 corr_i[s0] += v1.
cmp_r(c1, s1, site) * v2.
cmp_i(c1, s0, site)
50 - v1.
cmp_i(c1, s1, site) * v2.
cmp_r(c1, s0, site);
57 corr = dcomplex(0.0, 0.0);
58 for (
int s0 = 0; s0 < Nd; ++s0) {
59 corr += gm.
value(s0) * dcomplex(corr_r[s0], corr_i[s0]);
78 assert(Nvol == v1.
nvol());
79 assert(Nvol == v2.
nvol());
80 assert(Nvol == v3.
nvol());
84 valarray<int> gmindex(Nd);
85 valarray<double> cr(Nd), ci(Nd);
87 for (
int i = 0; i < Nd; ++i) {
88 gmindex[i] = gm.
index(i);
93 for (
int z = 0; z < Nz; ++z) {
94 for (
int y = 0; y < Ny; ++y) {
95 for (
int x = 0; x < Nx; ++x) {
96 int site = index.
site(x, y, z, time);
98 for (
int d1 = 0; d1 < Nd; ++d1) {
159 corr = dcomplex(0.0, 0.0);
160 for (
int s0 = 0; s0 < Nd; ++s0) {
161 corr += gm.
value(s0) * dcomplex(cr[s0], ci[s0]);