14 #ifndef EIGENSOLVER_IRLANCZOS_INCLUDED
15 #define EIGENSOLVER_IRLANCZOS_INCLUDED
67 void set_parameters(
int Nk,
int Np,
int Niter_eigen,
double Enorm_eigen,
70 void solve(std::valarray<double>& TDa, std::valarray<Field>& vk,
71 int& Nsbt,
int& Nconv,
const Field& b);
75 void step(
int Nm,
int k,
76 std::valarray<double>& TDa,
77 std::valarray<double>& TDb,
78 std::valarray<Field>& vk,
Field& f);
80 void qrtrf(std::valarray<double>& TDa, std::valarray<double>& TDb,
81 int Nk,
int Nm, std::valarray<double>& Qt,
82 double Dsh,
int kmin,
int kmax);
84 void tqri(std::valarray<double>& TDa, std::valarray<double>& TDb,
85 int Nk,
int Nm, std::valarray<double>& Qt);
87 void setUnit_Qt(
int Nm, std::valarray<double>& Qt);
Eigenvalue solver with Implicitly Restarted Lanczos algorithm.
void schmidt_orthogonalization(Field &w, std::valarray< Field > &vk, int k)
Container of Field-type object.
static const std::string class_name
void setUnit_Qt(int Nm, std::valarray< double > &Qt)
Eigensolver_IRLanczos(Fopr *fopr, SortField *sort)
Parameters_Eigensolver_IRLanczos()
void set_parameters(const Parameters ¶ms)
void solve(std::valarray< double > &TDa, std::valarray< Field > &vk, int &Nsbt, int &Nconv, const Field &b)
Eigensolver class for abstract base class of eigen solvers.
void tqri(std::valarray< double > &TDa, std::valarray< double > &TDb, int Nk, int Nm, std::valarray< double > &Qt)
Base class for sorting pair instances (value,field).
Base class of fermion operator family.
void qrtrf(std::valarray< double > &TDa, std::valarray< double > &TDb, int Nk, int Nm, std::valarray< double > &Qt, double Dsh, int kmin, int kmax)
void step(int Nm, int k, std::valarray< double > &TDa, std::valarray< double > &TDb, std::valarray< Field > &vk, Field &f)