47 int NcA = Nc * Nc - 1;
52 valarray<Mat_SU_N *> iT(NcA);
53 for (
int i = 0; i < NcA; ++i) {
60 Field Hrand(NcA, Nvol, Nex);
63 for (
int ex = 0; ex < Nex; ++ex) {
64 for (
int site = 0; site < Nvol; ++site) {
66 for (
int i = 0; i < NcA; ++i) {
68 u_tmp2 *= 2.0 * Hrand.
cmp(i, site, ex);
76 for (
int i = 0; i < NcA; ++i) {
80 double iP2 = iP.
norm();
81 iP2 = 0.5 * iP2 * iP2;
98 int NcA = Nc * Nc - 1;
103 Field Hrand(NcA, Nvol, Nex);
107 double sq3r = 1.0 / sqrt(3.0);
108 double sq3r2 = 2.0 * sq3r;
110 for (
int ex = 0; ex < Nex; ++ex) {
111 for (
int site = 0; site < Nvol; ++site) {
114 double hc1 = Hrand.
cmp(0, site, ex);
115 double hc2 = Hrand.
cmp(1, site, ex);
116 double hc4 = Hrand.
cmp(2, site, ex);
117 double hc5 = Hrand.
cmp(3, site, ex);
118 double hc6 = Hrand.
cmp(4, site, ex);
119 double hc7 = Hrand.
cmp(5, site, ex);
120 double hc3 = Hrand.
cmp(6, site, ex);
121 double hc8 = Hrand.
cmp(7, site, ex);
123 iP.
set(0, site, ex, 0.0);
124 iP.
set(1, site, ex, hc3 + hc8 * sq3r);
125 iP.
set(2, site, ex, hc2);
126 iP.
set(3, site, ex, hc1);
127 iP.
set(4, site, ex, hc5);
128 iP.
set(5, site, ex, hc4);
129 iP.
set(6, site, ex, -hc2);
130 iP.
set(7, site, ex, hc1);
131 iP.
set(8, site, ex, 0.0);
132 iP.
set(9, site, ex, -hc3 + hc8 * sq3r);
133 iP.
set(10, site, ex, hc7);
134 iP.
set(11, site, ex, hc6);
135 iP.
set(12, site, ex, -hc5);
136 iP.
set(13, site, ex, hc4);
137 iP.
set(14, site, ex, -hc7);
138 iP.
set(15, site, ex, hc6);
139 iP.
set(16, site, ex, 0.0);
140 iP.
set(17, site, ex, -hc8 * sq3r2);
144 double iP2 = iP.
norm();
145 iP2 = 0.5 * iP2 * iP2;
157 int Nvol = iP.
nvol();
161 int NcA = Nc * Nc - 1;
166 Field Hrand(NcA, Nvol, Nex);
170 double sq3r = 1.0 / sqrt(3.0);
171 double sq3r2 = 2.0 * sq3r;
173 for (
int ex = 0; ex < Nex; ++ex) {
174 for (
int site = 0; site < Nvol; ++site) {
177 double hc1 = Hrand.
cmp(0, site, ex);
178 double hc2 = Hrand.
cmp(1, site, ex);
179 double hc3 = Hrand.
cmp(2, site, ex);
180 double hc4 = Hrand.
cmp(3, site, ex);
181 double hc5 = Hrand.
cmp(4, site, ex);
182 double hc6 = Hrand.
cmp(5, site, ex);
183 double hc7 = Hrand.
cmp(6, site, ex);
184 double hc8 = Hrand.
cmp(7, site, ex);
193 iP.
set(0, site, ex, 0.0);
194 iP.
set(1, site, ex, hc3 + hc8 * sq3r);
195 iP.
set(2, site, ex, hc2);
196 iP.
set(3, site, ex, hc1);
197 iP.
set(4, site, ex, hc5);
198 iP.
set(5, site, ex, hc4);
199 iP.
set(6, site, ex, -hc2);
200 iP.
set(7, site, ex, hc1);
201 iP.
set(8, site, ex, 0.0);
202 iP.
set(9, site, ex, -hc3 + hc8 * sq3r);
203 iP.
set(10, site, ex, hc7);
204 iP.
set(11, site, ex, hc6);
205 iP.
set(12, site, ex, -hc5);
206 iP.
set(13, site, ex, hc4);
207 iP.
set(14, site, ex, -hc7);
208 iP.
set(15, site, ex, hc6);
209 iP.
set(16, site, ex, 0.0);
210 iP.
set(17, site, ex, -hc8 * sq3r2);
214 double iP2 = iP.
norm();
215 iP2 = 0.5 * iP2 * iP2;
void set(const int jin, const int site, const int jex, double v)
void general(const char *format,...)
Container of Field-type object.
double set_iP_SU3_alt(Field_G &iP)
Alternative of set_iP_SU3() for checking set_iP_general_SU_N().
double set_iP(Field_G &iP)
Setting conjugate momenta and returns kinetic part of Hamiltonian.
double cmp(const int jin, const int site, const int jex) const
double set_iP_SU3(Field_G &iP)
Implementation for SU(3)
virtual void gauss_lex_global(Field &)
gaussian random number defined on global lattice.
double set_iP_general_SU_N(Field_G &iP)
Implementation for general value of Nc for SU(Nc) link variables.
Mat_SU_N get_generator(const int ica)
Bridge::VerboseLevel m_vl
void set_mat(const int site, const int mn, const Mat_SU_N &U)