12 namespace generalized_eigen {
39 template <
typename MATRIX,
typename Float>
51 throw std::runtime_error(
"this precond. is not impl.");
55 throw std::runtime_error(
"this precond. is not impl.");
65 [[nodiscard]] std::string
name()
const {
66 return "monolish::generalized_eigen::LOBPCG";
76 [[nodiscard]] std::string
solver_name()
const {
return "LOBPCG"; }
100 template <
typename MATRIX,
typename Float>
111 throw std::runtime_error(
"this precond. is not impl.");
115 throw std::runtime_error(
"this precond. is not impl.");
125 [[nodiscard]] std::string
name()
const {
126 return "monolish::generalized_eigen::DC";
Devide and Conquer solver.
void apply_precond(const vector< Float > &r, vector< Float > &z)
int solve(MATRIX &A, MATRIX &B, vector< Float > &lambda, matrix::Dense< Float > &x, int itype)
std::string name() const
get solver name "monolish::generalized_eigen::DC"
std::string name() const
get solver name "monolish::generalized_eigen::LOBPCG"
void create_precond(MATRIX &A)
int monolish_LOBPCG(MATRIX &A, MATRIX &B, vector< Float > &lambda, matrix::Dense< Float > &x, int itype)
void create_precond(MATRIX &A)
std::string solver_name() const
get solver name "LOBPCG"
void apply_precond(const vector< Float > &r, vector< Float > &z)
int solve(MATRIX &A, MATRIX &B, vector< Float > &lambda, int itype)
int LAPACK_DC(MATRIX &A, MATRIX &B, vector< Float > &lambda, int itype)
std::string solver_name() const
get solver name "DC"