Go to the documentation of this file.
14 #ifndef AEIGENSOLVER_IRLANCZOS_INCLUDED
15 #define AEIGENSOLVER_IRLANCZOS_INCLUDED
43 template<
typename FIELD,
typename FOPR>
73 std::vector<FIELD>
m_B;
90 void set_parameters(
int Nk,
int Np,
int Niter_eigen,
double Enorm_eigen,
93 int Nk,
int Np,
int Niter_eigen,
double Enorm_eigen,
98 void solve(std::vector<real_t>& TDa, std::vector<FIELD>& vk,
99 int& Nsbt,
int& Nconv,
const FIELD& b);
101 void solve(std::vector<complex_t>& TDa, std::vector<FIELD>& vk,
102 int& Nsbt,
int& Nconv,
const FIELD& b);
106 void step(
int Nm,
int k,
107 std::vector<real_t>& TDa,
108 std::vector<real_t>& TDb,
109 std::vector<FIELD>& vk, FIELD& f);
111 void qrtrf(std::vector<real_t>& TDa, std::vector<real_t>& TDb,
112 int Nk,
int Nm, std::vector<real_t>& Qt,
113 real_t Dsh,
int kmin,
int kmax);
115 void tqri(std::vector<real_t>& TDa, std::vector<real_t>& TDb,
116 int Nk,
int Nm, std::vector<real_t>& Qt,
int& nconv);
118 void setUnit_Qt(
int Nm, std::vector<real_t>& Qt);
131 static bool register_factory()
void qrtrf(std::vector< real_t > &TDa, std::vector< real_t > &TDb, int Nk, int Nm, std::vector< real_t > &Qt, real_t Dsh, int kmin, int kmax)
void setUnit_Qt(int Nm, std::vector< real_t > &Qt)
Common parameter class: provides parameters as singleton.
std::vector< real_t > m_TDb2
ComplexTraits< real_t >::complex_t complex_t
std::vector< int > m_Iconv
~AEigensolver_IRLanczos()
AEigensolver_IRLanczos(FOPR *fopr, const Parameters ¶ms)
std::vector< real_t > m_TDb
static const std::string class_name
Sorter< real_t > * m_sorter
void step(int Nm, int k, std::vector< real_t > &TDa, std::vector< real_t > &TDb, std::vector< FIELD > &vk, FIELD &f)
std::vector< real_t > m_Qt
AEigensolver_IRLanczos(FOPR *fopr)
std::vector< real_t > m_TDa2
Eigenvalue solver with Implicitly Restarted Lanczos algorithm.
void tqri(std::vector< real_t > &TDa, std::vector< real_t > &TDb, int Nk, int Nm, std::vector< real_t > &Qt, int &nconv)
void schmidt_orthogonalization(FIELD &w, std::vector< FIELD > &vk, int k)
Bridge::VerboseLevel m_vl
void get_parameters(Parameters ¶ms) const
void set_parameters(const Parameters ¶ms)
void solve(std::vector< real_t > &TDa, std::vector< FIELD > &vk, int &Nsbt, int &Nconv, const FIELD &b)
Eigensolver class for abstract base class of eigen solvers.