37 for (
int mu = 0; mu <
m_Nex; ++mu) {
38 for (
int site = 0; site <
m_Nvol; ++site) {
52 for (
int mu = 0; mu <
m_Nex; ++mu) {
53 for (
int site = 0; site <
m_Nvol; ++site) {
54 this->
mat(ut, site, mu);
74 for (
int mu = 0; mu <
m_Nex; ++mu) {
75 for (
int site = 0; site <
m_Nvol; ++site) {
86 const Field_G& U1,
const int ex1,
87 const Field_G& U2,
const int ex2)
90 assert(ex1 < U1.
nex());
91 assert(ex2 < U2.
nex());
95 const int Nvol = W.
nvol();
97 for (
int site = 0; site < Nvol; ++site) {
105 const Field_G& U1,
const int ex1,
106 const Field_G& U2,
const int ex2)
108 assert(ex < W.
nex());
109 assert(ex1 < U1.
nex());
110 assert(ex2 < U2.
nex());
114 const int Nvol = W.
nvol();
116 for (
int site = 0; site < Nvol; ++site) {
124 const Field_G& U1,
const int ex1,
125 const Field_G& U2,
const int ex2)
127 assert(ex < W.
nex());
128 assert(ex1 < U1.
nex());
129 assert(ex2 < U2.
nex());
133 const int Nvol = W.
nvol();
135 for (
int site = 0; site < Nvol; ++site) {
143 const Field_G& U1,
const int ex1,
144 const Field_G& U2,
const int ex2)
146 assert(ex < W.
nex());
147 assert(ex1 < U1.
nex());
148 assert(ex2 < U2.
nex());
152 const int Nvol = W.
nvol();
154 for (
int site = 0; site < Nvol; ++site) {
162 const Field_G& U1,
const int ex1,
163 const Field_G& U2,
const int ex2,
166 assert(ex < W.
nex());
167 assert(ex1 < U1.
nex());
168 assert(ex2 < U2.
nex());
172 const int Nvol = W.
nvol();
174 for (
int site = 0; site < Nvol; ++site) {
175 W.
add_mat(site, ex, U1.
mat(site, ex1) * U2.
mat(site, ex2) * ff);
182 const Field_G& U1,
const int ex1,
183 const Field_G& U2,
const int ex2,
186 assert(ex < W.
nex());
187 assert(ex1 < U1.
nex());
188 assert(ex2 < U2.
nex());
192 const int Nvol = W.
nvol();
194 for (
int site = 0; site < Nvol; ++site) {
202 const Field_G& U1,
const int ex1,
203 const Field_G& U2,
const int ex2,
206 assert(ex < W.
nex());
207 assert(ex1 < U1.
nex());
208 assert(ex2 < U2.
nex());
212 const int Nvol = W.
nvol();
214 for (
int site = 0; site < Nvol; ++site) {
222 const Field_G& U1,
const int ex1,
223 const Field_G& U2,
const int ex2,
226 assert(ex < W.
nex());
227 assert(ex1 < U1.
nex());
228 assert(ex2 < U2.
nex());
232 const int Nvol = W.
nvol();
234 for (
int site = 0; site < Nvol; ++site) {
243 assert(ex < W.
nex());
245 const int Nvol = W.
nvol();
247 for (
int site = 0; site < Nvol; ++site) {
256 assert(ex < W.
nex());
258 const int Nvol = W.
nvol();
260 for (
int site = 0; site < Nvol; ++site) {
268 const double alpha,
const Field_G& iP,
const Field_G& U,
const int Nprec)
272 const int Nvol = U.
nvol();
273 const int Nex = U.
nex();
278 for (
int ex = 0; ex < Nex; ++ex) {
279 for (
int site = 0; site < Nvol; ++site) {
280 u0 = U.
mat(site, ex);
281 v0 = iP.
mat(site, ex);
void ah_Field_G(Field_G &W, const int ex)
void mult_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
void multadd_Field_Gnn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
void mult_Field_Gdn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
void mult_Field_Gnn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
void mult_exp_Field_G(Field_G &W, const double alpha, const Field_G &iP, const Field_G &U, const int Nprec)
void multadd_Field_Gdd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
void check()
check of assumptions for performance implementation.
Mat_SU_N & at()
antihermitian traceless
void mult_Field_Gdd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
virtual void gauss_lex_global(Field &)
gaussian random number defined on global lattice.
void set_random(RandomNumbers *rand)
Mat_SU_N & ah()
antihermitian
void multadd_Field_Gdn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
void multadd_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
void at_Field_G(Field_G &W, const int ex)
Base class of random number generators.
Mat_SU_N mat_exp(const double alpha, const Mat_SU_N &iv, const Mat_SU_N &u, const int Nprec)
Mat_SU_N mat_dag(const int site, const int mn=0) const
void set_mat(const int site, const int mn, const Mat_SU_N &U)
Mat_SU_N mat(const int site, const int mn=0) const
void add_mat(const int site, const int mn, const Mat_SU_N &U)