33 #ifdef USE_TESTMANAGER_AUTOREGISTER
54 namespace Test_Spectrum_CRSMatrix {
57 const std::string filename_input =
"test_Spectrum_CRSMatrix_Domainwall.yaml";
58 const std::string filename_output =
"stdout";
60 class Parameters_Test_Spectrum_CRSMatrix :
public Parameters {
62 Parameters_Test_Spectrum_CRSMatrix()
64 Register_string(
"gauge_config_type_input",
"NULL");
65 Register_string(
"config_filename_input",
"NULL");
67 Register_string(
"matrix_output",
"NULL");
68 Register_string(
"source_output",
"NULL");
69 Register_string(
"solution_output",
"NULL");
71 Register_string(
"verbose_level",
"NULL");
73 Register_double(
"expected_result", 0.0);
82 const string& solution,
89 #ifdef USE_TESTMANAGER_AUTOREGISTER
112 Parameters_Test_Spectrum_CRSMatrix params_test;
119 params_manager.
read_params(filename_input, ¶ms_all);
121 const string str_gconf_read = params_test.get_string(
"gauge_config_type_input");
122 const string readfile = params_test.get_string(
"config_filename_input");
123 const string matrix_file = params_test.get_string(
"matrix_output");
124 const string source_file = params_test.get_string(
"source_output");
125 const string solution_file = params_test.get_string(
"solution_output");
126 const string str_vlevel = params_test.get_string(
"verbose_level");
128 const double expected_result = params_test.get_double(
"expected_result");
134 vout.
general(vl,
" gconf_read = %s\n", str_gconf_read.c_str());
135 vout.
general(vl,
" readfile = %s\n", readfile.c_str());
136 vout.
general(vl,
" matrix_output = %s\n", matrix_file.c_str());
137 vout.
general(vl,
" source_output = %s\n", source_file.c_str());
138 vout.
general(vl,
" solution_output = %s\n", solution_file.c_str());
139 vout.
general(vl,
" vlevel = %s\n", str_vlevel.c_str());
151 vout.
crucial(vl,
"Test_Spectrum_CRSMatrix: Input parameters have not been set.\n");
169 valarray<int> boundary(Ndim);
181 valarray<int> source_position(Ndim);
182 source_position[0] = 0;
183 source_position[1] = 0;
184 source_position[2] = 0;
185 source_position[3] = 0;
191 double Stop_cond = 1.0e-28;
200 int Nin = 2 * Nc * Nd;
203 Field bt(Nin, Nvol, 1);
204 Field xt(Nin, Nvol, 1), xt2(Nin, Nvol, 1);
206 Field b_5d(Nin, Nvol, Nex), bt_5d(Nin, Nvol, Nex);
207 Field xq_5d(Nin, Nvol, Nex);
221 source->
set(b, icolor, ispin);
236 b_5d = fopr_dw->
mult(bt_5d);
238 vout.
general(vl,
" b_5d norm2 = %14.6e\n", b_5d.norm2());
242 solver->
solve(xq_5d, b_5d, Nconv, diff);
244 vout.
general(vl,
" Nconv = %d, diff = %16.8e\n", Nconv, diff);
254 CRSsolver(solution_file, matrix_file, source_file, result);