25 const string str_vlevel = params.
get_string(
"verbose_level");
44 int Nsize = w.
size() / 2;
50 for (
int j = 0; j < Nsize; ++j) {
59 for (
int i = 0; i < Ncolumn; ++i) {
62 double wr = w.
cmp(2 * k);
63 double wi = w.
cmp(2 * k + 1);
76 int Nsize = w.
size() / 2;
84 for (
int j = 0; j < Nsize; ++j) {
91 double wr = w.
cmp(2 * j);
92 double wi = w.
cmp(2 * j + 1);
94 for (
int i = 0; i < Ncolumn; ++i) {
100 v.
add(2 * k + 1, vi);
123 valarray<int> index_nz1(
m_Nsize);
124 valarray<double> elem_nz1(2 *
m_Nsize);
136 for (
int ex = 0; ex <
m_Nex; ++ex) {
138 w.set(in, site, ex, 1.0);
157 for (
int ex = 0; ex <
m_Nex; ++ex) {
159 for (
int site = 0; site <
m_Nvol; ++site) {
160 for (
int in2 = 0; in2 < (
m_Nin / 2); ++in2) {
161 int j = in2 + (
m_Nin / 2) * (site + m_Nvol * ex);
164 w.set(2 * in2, site, ex, 1.0);
167 if (Nnz_tot + Nnz1 >
m_Nnz) {
173 for (
int i = 0; i < Nnz1; ++i) {
175 m_elem_nz[2 * (Nnz_tot + i)] = elem_nz1[2 * i];
176 m_elem_nz[2 * (Nnz_tot + i) + 1] = elem_nz1[2 * i + 1];
191 valarray<double>& elem_nz,
Field& v)
196 int Nsize = v.
size() / 2;
200 for (
int i = 0; i < Nsize; ++i) {
201 if ((v.
cmp(2 * i) != 0.0) || (v.
cmp(2 * i + 1) != 0.0)) {
203 elem_nz[2 * j] = v.
cmp(2 * i);
204 elem_nz[2 * j + 1] = -v.
cmp(2 * i + 1);
217 config.open(fname.c_str(), std::ios::in);
218 if (!config.is_open()) {
236 for (
int j = 0; j <
m_Nsize; ++j) {
241 for (
int j = 0; j <
m_Nnz; ++j) {
246 for (
int j = 0; j <
m_Nnz; ++j) {
248 config >> m_elem_nz[2 * j + 1];
262 config.open(fname.c_str(), std::ios::out);
263 if (!config.is_open()) {
271 config << m_Nin << std::endl;
272 config << m_Nvol << std::endl;
273 config << m_Nex << std::endl;
274 config << m_Nsize << std::endl;
275 config << m_Nnz << std::endl;
277 for (
int j = 0; j <
m_Nsize; ++j) {
281 for (
int j = 0; j <
m_Nnz; ++j) {
285 config.setf(std::ios_base::scientific, std::ios_base::floatfield);
286 config.precision(14);
288 for (
int j = 0; j <
m_Nnz; ++j) {
290 config <<
m_elem_nz[2 * j + 1] << std::endl;