16 #ifdef USE_PARAMETERS_FACTORY
35 #ifdef USE_PARAMETERS_FACTORY
48 const string str_vlevel = params.
get_string(
"verbose_level");
62 vout.
crucial(
m_vl,
"Fopr_CloverTerm_eo: fetch error, input parameter not found.\n");
73 const std::valarray<int> bc)
79 for (
int mu = 0; mu <
m_Ndim; ++mu) {
85 assert(bc.size() ==
m_Ndim);
90 assert(bc.size() ==
m_Ndim);
91 for (
int mu = 0; mu <
m_Ndim; ++mu) {
153 for (
int ispin = 0; ispin < m_Nd / 2; ++ispin) {
154 for (
int icolor = 0; icolor <
m_Nc; ++icolor) {
155 int ics = icolor + ispin *
m_Nc;
156 for (
int jspin = 0; jspin <
m_Nd; ++jspin) {
157 int js2 = (jspin + m_Nd / 2) % m_Nd;
158 for (
int jcolor = 0; jcolor <
m_Nc; ++jcolor) {
159 int cs1 = jcolor + m_Nc * (jspin + m_Nd * ics);
160 int cs2 = jcolor + m_Nc * (jspin + m_Nd * (ics + m_Nc * m_Nd / 2));
161 int cc = jcolor + icolor *
m_Nc;
162 int ss1 = jspin + ispin *
m_Nd;
163 int ss2 = js2 + ispin *
m_Nd;
165 matrix[2 * cs1] =
m_T.
cmp_r(cc, site, ss1);
166 matrix[2 * cs1 + 1] =
m_T.
cmp_i(cc, site, ss1);
168 matrix[2 * cs2] =
m_T.
cmp_r(cc, site, ss2);
169 matrix[2 * cs2 + 1] =
m_T.
cmp_i(cc, site, ss2);
193 for (
int iex = 0; iex < n_ex; ++iex) {
194 for (
int isite = 0; isite <
m_Nvol2; ++isite) {
195 for (
int ispin = 0; ispin <
m_Nd / 2; ++ispin) {
198 for (
int jspin = 0; jspin <
m_Nd; ++jspin) {
199 int u_spin = jspin + ispin *
m_Nd;
201 * ff.vec(jspin, isite, iex);
202 int d_spin = (jspin + m_Nd / 2) % m_Nd + ispin * m_Nd;
204 * ff.vec(jspin, isite, iex);
206 vf.set_vec(ispin, isite, iex, u_vec);
207 vf.set_vec(ispin + m_Nd / 2, isite, iex, d_vec);
218 const int mu,
const int nu)
269 for (
int ispin = 0; ispin <
m_Nd / 2; ++ispin) {
270 int spin_diag = ispin +
m_Nd * ispin;
271 for (
int isite = 0; isite <
m_Nvol; ++isite) {
272 for (
int icolor = 0; icolor <
m_Nc; ++icolor) {
273 int cc2 = 2 * (icolor * m_Nc + icolor);
274 m_T.
add(cc2, isite, spin_diag, 1.0);
283 const int mu,
const int nu)
295 for (
int site = 0; site <
m_Nvol; ++site) {
296 w.set_mat(site, 0, Umu.
mat(site) * Cup.mat_dag(site));
299 for (
int site = 0; site <
m_Nvol; ++site) {
305 for (
int site = 0; site <
m_Nvol; ++site) {
306 v.set_mat(site, 0, Cup.mat_dag(site) * Umu.
mat(site));
309 for (
int site = 0; site <
m_Nvol; ++site) {
319 for (
int site = 0; site <
m_Nvol; ++site) {
320 Fst.
set_mat(site, 0, w.mat(site).ah());