monolish
MONOlithic LInear equation Solvers for Highly-parallel architecture
|
Go to the documentation of this file.
28 template <
typename MATRIX,
typename Float>
40 throw std::runtime_error(
"this precond. is not impl.");
44 throw std::runtime_error(
"this precond. is not impl.");
54 [[nodiscard]] std::string
name()
const {
55 return "monolish::generalized_eigen::LOBPCG";
65 [[nodiscard]] std::string
solver_name()
const {
return "LOBPCG"; }
83 template <
typename MATRIX,
typename Float>
94 throw std::runtime_error(
"this precond. is not impl.");
98 throw std::runtime_error(
"this precond. is not impl.");
108 [[nodiscard]] std::string
name()
const {
109 return "monolish::generalized_eigen::DC";
int LAPACK_DC(MATRIX &A, MATRIX &B, vector< Float > &lambda, int itype)
std::string name() const
get solver name "monolish::generalized_eigen::LOBPCG"
handling eigenvalues and eigenvectors
std::string name() const
get solver name "monolish::generalized_eigen::DC"
Devide and Conquer solver.
std::string solver_name() const
get solver name "LOBPCG"
void create_precond(MATRIX &A)
std::string solver_name() const
get solver name "DC"
int solve(MATRIX &A, MATRIX &B, vector< Float > &lambda, int itype)
void create_precond(MATRIX &A)
int monolish_LOBPCG(MATRIX &A, MATRIX &B, vector< Float > &lambda, matrix::Dense< Float > &x, int itype)
int solve(MATRIX &A, MATRIX &B, vector< Float > &lambda, matrix::Dense< Float > &x, int itype)
void apply_precond(const vector< Float > &r, vector< Float > &z)
void apply_precond(const vector< Float > &r, vector< Float > &z)