monolish
MONOlithic LInear equation Solvers for Highly-parallel architecture
|
Go to the documentation of this file.
30 template <
typename MATRIX,
typename Float>
44 [[nodiscard]] std::string
name()
const {
return "monolish::equation::none"; }
53 [[nodiscard]] std::string
solver_name()
const {
return "none"; }
71 template <
typename MATRIX,
typename Float>
88 throw std::runtime_error(
"this precond. is not impl.");
92 throw std::runtime_error(
"this precond. is not impl.");
102 [[nodiscard]] std::string
name()
const {
return "monolish::equation::CG"; }
129 template <
typename MATRIX,
typename Float>
147 throw std::runtime_error(
"this precond. is not impl.");
151 throw std::runtime_error(
"this precond. is not impl.");
161 [[nodiscard]] std::string
name()
const {
162 return "monolish::equation::BiCGSTAB";
172 [[nodiscard]] std::string
solver_name()
const {
return "BiCGSTAB"; }
190 template <
typename MATRIX,
typename Float>
216 [[nodiscard]] std::string
name()
const {
217 return "monolish::equation::Jacobi";
227 [[nodiscard]] std::string
solver_name()
const {
return "Jacobi"; }
250 template <
typename MATRIX,
typename Float>
280 [[nodiscard]] std::string
name()
const {
return "monolish::equation::SOR"; }
307 template <
typename MATRIX,
typename Float>
320 throw std::runtime_error(
"this precond. is not impl.");
323 throw std::runtime_error(
"this precond. is not impl.");
333 [[nodiscard]] std::string
name()
const {
return "monolish::equation::LU"; }
360 template <
typename MATRIX,
typename Float>
374 throw std::runtime_error(
"this precond. is not impl.");
377 throw std::runtime_error(
"this precond. is not impl.");
387 [[nodiscard]] std::string
name()
const {
return "monolish::equation::QR"; }
414 template <
typename MATRIX,
typename Float>
431 throw std::runtime_error(
"this precond. is not impl.");
434 throw std::runtime_error(
"this precond. is not impl.");
444 [[nodiscard]] std::string
name()
const {
445 return "monolish::equation::Cholesky";
455 [[nodiscard]] std::string
solver_name()
const {
return "Cholesky"; }
int cusolver_LU(MATRIX &A, vector< double > &x, vector< double > &b)
int cusolver_QR(MATRIX &A, vector< double > &x, vector< double > &b)
void create_precond(MATRIX &A)
int monolish_SOR(MATRIX &A, vector< Float > &x, vector< Float > &b)
std::string solver_name() const
get solver name "BiCGSTAB"
void create_precond(MATRIX &A)
int monolish_BiCGSTAB(MATRIX &A, vector< Float > &x, vector< Float > &b)
std::string name() const
get solver name "monolish::equation::Jacobi"
std::string solver_name() const
get solver name "SOR"
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
solve Ax=b
int monolish_Jacobi(MATRIX &A, vector< Float > &x, vector< Float > &b)
void create_precond(MATRIX &A)
std::string name() const
get solver name "monolish::equation::Cholesky"
void apply_precond(const vector< Float > &r, vector< Float > &z)
int cusolver_Cholesky(MATRIX &A, vector< float > &x, vector< float > &b)
void create_precond(MATRIX &A)
void apply_precond(const vector< Float > &r, vector< Float > &z)
int monolish_CG(MATRIX &A, vector< Float > &x, vector< Float > &b)
void create_precond(MATRIX &A)
void apply_precond(const vector< Float > &r, vector< Float > &z)
std::string solver_name() const
get solver name "Jacobi"
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
solve Ax=b
int mumps_LU(MATRIX &A, vector< double > &x, vector< double > &b)
std::string solver_name() const
get solver name "Cholesky"
std::string name() const
get solver name "monolish::equation::CG"
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
solve Ax = b by jacobi method(lib=0: monolish)
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
solve Ax = b by BiCGSTAB method (lib=0: monolish)
void apply_precond(const vector< Float > &r, vector< Float > &z)
void apply_precond(const vector< Float > &r, vector< Float > &z)
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
solve Ax = b by SOR method(lib=0: monolish)
std::string solver_name() const
get solver name "QR"
std::string solver_name() const
get solver name "LU"
std::string name() const
get solver name "monolish::equation::BiCGSTAB"
Linear equation solvers for Dense and sparse matrix Scalar.
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
void apply_precond(const vector< Float > &r, vector< Float > &z)
std::string solver_name() const
get solver name "CG"
std::string name() const
get solver name "monolish::equation::LU"
void create_precond(MATRIX &A)
void apply_precond(const vector< Float > &r, vector< Float > &z)
std::string name() const
get solver name "monolish::equation::QR"
void create_precond(MATRIX &A)
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
solve Ax = b by BiCGSTAB method(lib=0: monolish)
none solver class(nothing to do)
std::string name() const
get solver name "monolish::equation::SOR"
Compressed Row Storage (CRS) format Matrix.
std::string name() const
get solver name "monolish::equation::none"
int solve(MATRIX &A, vector< Float > &x, vector< Float > &b)
void create_precond(matrix::CRS< Float > &A)
void apply_precond(const vector< Float > &r, vector< Float > &z)
std::string solver_name() const
get solver name "none"