44 namespace Test_Eigensolver {
 
   45   const std::string 
test_name = 
"Eigensolver.Solve_SF";
 
   49     const std::string filename_input  = 
"test_Eigensolver_SF.yaml";
 
   50     const std::string filename_output = 
"stdout";
 
   52     class Parameters_Test_Eigensolver : 
public Parameters {
 
   54       Parameters_Test_Eigensolver()
 
   56         Register_string(
"gauge_config_status", 
"NULL");
 
   57         Register_string(
"gauge_config_type_input", 
"NULL");
 
   58         Register_string(
"config_filename_input", 
"NULL");
 
   60         Register_string(
"verbose_level", 
"NULL");
 
   62         Register_double(
"expected_result", 0.0);
 
   70 #ifdef USE_TESTMANAGER_AUTOREGISTER 
   72 #if defined(USE_GROUP_SU2) 
   91     Parameters *params_test      = 
new Parameters_Test_Eigensolver;
 
  107     params_manager.
read_params(filename_input, params_all);
 
  109     const string str_gconf_status = params_test->
get_string(
"gauge_config_status");
 
  110     const string str_gconf_read   = params_test->
get_string(
"gauge_config_type_input");
 
  111     const string readfile         = params_test->
get_string(
"config_filename_input");
 
  112     const string str_vlevel       = params_test->
get_string(
"verbose_level");
 
  114     const bool   do_check        = params_test->
is_set(
"expected_result");
 
  115     const double expected_result = do_check ? params_test->
get_double(
"expected_result") : 0.0;
 
  117     const string str_gmset_type     = params_clover->
get_string(
"gamma_matrix_type");
 
  118     const string str_proj_type      = params_proj->
get_string(
"projection_type");
 
  119     const string str_smear_type     = params_smear->
get_string(
"smear_type");
 
  120     const string str_sortfield_type = params_irlanczos->
get_string(
"eigensolver_mode");
 
  121     const int    Nk = params_irlanczos->
get_int(
"number_of_wanted_eigenvectors");
 
  122     const int    Np = params_irlanczos->
get_int(
"number_of_working_eigenvectors");
 
  127     vout.
general(vl, 
"  gconf_status   = %s\n", str_gconf_status.c_str());
 
  128     vout.
general(vl, 
"  gconf_read     = %s\n", str_gconf_read.c_str());
 
  129     vout.
general(vl, 
"  readfile       = %s\n", readfile.c_str());
 
  130     vout.
general(vl, 
"  vlevel         = %s\n", str_vlevel.c_str());
 
  131     vout.
general(vl, 
"  gmset_type     = %s\n", str_gmset_type.c_str());
 
  132     vout.
general(vl, 
"  proj_type      = %s\n", str_proj_type.c_str());
 
  133     vout.
general(vl, 
"  smear_type     = %s\n", str_smear_type.c_str());
 
  134     vout.
general(vl, 
"  sortfield_type = %s\n", str_sortfield_type.c_str());
 
  151     if (str_gconf_status == 
"Continue") {
 
  153     } 
else if (str_gconf_status == 
"Cold_start") {
 
  155     } 
else if (str_gconf_status == 
"Hot_start") {
 
  159       vout.
crucial(vl, 
"%s: unsupported gconf status \"%s\".\n", 
test_name.c_str(), str_gconf_status.c_str());
 
  163     Projection *proj  = Projection::New(str_proj_type);
 
  164     Smear      *smear = Smear::New(str_smear_type, proj);
 
  178     Fopr         *fopr       = fopr_smear;
 
  182     SortField *sort = SortField::New(str_sortfield_type);
 
  194     valarray<double> TDa(Nm);
 
  195     valarray<Field>  vk(Nm);
 
  199     int     NFvol = b2.
nvol();
 
  201     for (
int k = 0; k < Nm; ++k) {
 
  202       vk[k].reset(NFin, NFvol, NFex);
 
  207     eigen->
solve(TDa, vk, Nsbt, Nconv, (
Field)b2);
 
  210     v.
reset(NFin, NFvol, NFex);
 
  213     for (
int i = 0; i < Nsbt + 1; ++i) {
 
  214       v  = fopr->
mult(vk[i]);
 
  218       vout.
general(vl, 
"Eigenvalues: %4d %20.14f %20.15e \n", i, TDa[i], vv);
 
  221     double result = TDa[0];
 
  228     delete params_clover;
 
  231     delete params_dr_smear;
 
  232     delete params_irlanczos;
 
  255       vout.
detailed(vl, 
"check skipped: expected_result not set.\n\n");
 
Random number generator base on M-series. 
 
Eigenvalue solver with Implicitly Restarted Lanczos algorithm. 
 
void read_params(const std::string ¶ms_file, Parameters *params)
read parameters from file. 
 
void detailed(const char *format,...)
 
virtual const Field mult(const Field &)=0
multiplies fermion operator to a given field and returns the resultant field. 
 
void general(const char *format,...)
 
const std::string test_name
 
virtual void set_config(Field *)=0
setting pointer to the gauge configuration. 
 
Container of Field-type object. 
 
virtual void set_parameters(const Parameters &)=0
 
int get_int(const string &key) const 
 
static Parameters * New(const std::string &realm)
 
void set_random(RandomNumbers *rand)
 
Wilson-type fermion field. 
 
smeared fermion operator. 
 
static bool RegisterTest(const std::string &key, const Test_function func)
 
void set_parameters(const Parameters ¶ms)
 
bool is_set(const string &) const 
 
double get_double(const string &key) const 
 
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=COMPLEX)
 
int non_NULL(const std::string v)
 
void crucial(const char *format,...)
 
void Register_Parameters(const string &, Parameters *const)
 
base class for projection operator into gauge group. 
 
void solve(std::valarray< double > &TDa, std::valarray< Field > &vk, int &Nsbt, int &Nconv, const Field &b)
 
Manager of smeared configurations. 
 
void set_parameters(const Parameters ¶ms)
set paramters, must be called before set_config 
 
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
 
Base class for sorting pair instances (value,field). 
 
base class for smearing of link variables. 
 
Parameter manager with YAML parser. 
 
GaugeConfig class for file I/O of gauge configuration. 
 
Base class of fermion operator family. 
 
int verify(const double expected, const double result)
 
void read_file(Field *u, const string &filename)
 
string get_string(const string &key) const 
 
void report(const Bridge::VerboseLevel vl=Bridge::GENERAL)
 
static VerboseLevel set_verbose_level(const std::string &str)
 
void set_parameters(const Parameters ¶ms)