43 for (
int mu = 0; mu <
m_Nex; ++mu) {
44 for (
int site = 0; site <
m_Nvol; ++site) {
58 for (
int mu = 0; mu <
m_Nex; ++mu) {
59 for (
int site = 0; site <
m_Nvol; ++site) {
60 this->
mat(ut, site, mu);
73 for (
int mu = 0; mu <
m_Nex; ++mu) {
74 for (
int site = 0; site <
m_Nvol; ++site) {
85 const Field_G& u1,
const int ex1,
86 const Field_G& u2,
const int ex2)
89 assert(ex1 < u1.
nex());
90 assert(ex2 < u2.
nex());
94 const int Nvol = w.
nvol();
96 for (
int site = 0; site < Nvol; ++site) {
104 const Field_G& u1,
const int ex1,
105 const Field_G& u2,
const int ex2)
107 assert(ex < w.
nex());
108 assert(ex1 < u1.
nex());
109 assert(ex2 < u2.
nex());
113 const int Nvol = w.
nvol();
115 for (
int site = 0; site < Nvol; ++site) {
123 const Field_G& u1,
const int ex1,
124 const Field_G& u2,
const int ex2)
126 assert(ex < w.
nex());
127 assert(ex1 < u1.
nex());
128 assert(ex2 < u2.
nex());
132 const int Nvol = w.
nvol();
134 for (
int site = 0; site < Nvol; ++site) {
142 const Field_G& u1,
const int ex1,
143 const Field_G& u2,
const int ex2)
145 assert(ex < w.
nex());
146 assert(ex1 < u1.
nex());
147 assert(ex2 < u2.
nex());
151 const int Nvol = w.
nvol();
153 for (
int site = 0; site < Nvol; ++site) {
161 const Field_G& u1,
const int ex1,
162 const Field_G& u2,
const int ex2,
165 assert(ex < w.
nex());
166 assert(ex1 < u1.
nex());
167 assert(ex2 < u2.
nex());
171 const int Nvol = w.
nvol();
173 for (
int site = 0; site < Nvol; ++site) {
174 w.
add_mat(site, ex, u1.
mat(site, ex1) * u2.
mat(site, ex2) * ff);
181 const Field_G& u1,
const int ex1,
182 const Field_G& u2,
const int ex2,
185 assert(ex < w.
nex());
186 assert(ex1 < u1.
nex());
187 assert(ex2 < u2.
nex());
191 const int Nvol = w.
nvol();
193 for (
int site = 0; site < Nvol; ++site) {
201 const Field_G& u1,
const int ex1,
202 const Field_G& u2,
const int ex2,
205 assert(ex < w.
nex());
206 assert(ex1 < u1.
nex());
207 assert(ex2 < u2.
nex());
211 const int Nvol = w.
nvol();
213 for (
int site = 0; site < Nvol; ++site) {
221 const Field_G& u1,
const int ex1,
222 const Field_G& u2,
const int ex2,
225 assert(ex < w.
nex());
226 assert(ex1 < u1.
nex());
227 assert(ex2 < u2.
nex());
231 const int Nvol = w.
nvol();
233 for (
int site = 0; site < Nvol; ++site) {
242 assert(ex < w.
nex());
244 const int Nvol = w.
nvol();
246 for (
int site = 0; site < Nvol; ++site) {
255 assert(ex < w.
nex());
257 const int Nvol = w.
nvol();
259 for (
int site = 0; site < Nvol; ++site) {
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 check()
check of assumptions for performance implementation.
Mat_SU_N & at()
antihermitian traceless
virtual void gauss_lex_global(Field &)
gaussian random number defined on global lattice.
void set_random(RandomNumbers *rand)
void mult_Field_Gdd(Field_G &w, const int ex, const Field_G &u1, const int ex1, const Field_G &u2, const int ex2)
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 ah_Field_G(Field_G &w, const int ex)
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 mult_Field_Gnd(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)
Mat_SU_N & ah()
antihermitian
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_dag(const int site, const int mn=0) const
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 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)