14 #ifndef EIGENSOLVER_IRLANCZOS_INCLUDED
15 #define EIGENSOLVER_IRLANCZOS_INCLUDED
66 void set_parameters(
const int Nk,
const int Np,
const int Niter_eigen,
const double Enorm_eigen,
67 const double Vthreshold);
69 const int Nk,
const int Np,
const int Niter_eigen,
const double Enorm_eigen,
70 const double Vthreshold);
72 void solve(std::vector<double>& TDa, std::vector<Field>& vk,
73 int& Nsbt,
int& Nconv,
const Field& b);
76 void step(
const int Nm,
const int k,
77 std::vector<double>& TDa,
78 std::vector<double>& TDb,
79 std::vector<Field>& vk,
Field& f);
81 void qrtrf(std::vector<double>& TDa, std::vector<double>& TDb,
82 const int Nk,
const int Nm, std::vector<double>& Qt,
83 const double Dsh,
const int kmin,
const int kmax);
85 void tqri(std::vector<double>& TDa, std::vector<double>& TDb,
86 const int Nk,
const int Nm, std::vector<double>& Qt);
88 void setUnit_Qt(
const int Nm, std::vector<double>& Qt);
void setUnit_Qt(const int Nm, std::vector< double > &Qt)
Eigenvalue solver with Implicitly Restarted Lanczos algorithm.
Container of Field-type object.
void solve(std::vector< double > &TDa, std::vector< Field > &vk, int &Nsbt, int &Nconv, const Field &b)
Eigensolver_IRLanczos(Fopr *fopr)
static const std::string class_name
void set_parameters(const Parameters ¶ms)
Eigensolver_IRLanczos(unique_ptr< Fopr > &fopr)
void qrtrf(std::vector< double > &TDa, std::vector< double > &TDb, const int Nk, const int Nm, std::vector< double > &Qt, const double Dsh, const int kmin, const int kmax)
Eigensolver class for abstract base class of eigen solvers.
void step(const int Nm, const int k, std::vector< double > &TDa, std::vector< double > &TDb, std::vector< Field > &vk, Field &f)
void tqri(std::vector< double > &TDa, std::vector< double > &TDb, const int Nk, const int Nm, std::vector< double > &Qt)
Base class of fermion operator family.
void schmidt_orthogonalization(Field &w, const std::vector< Field > &vk, const int k)