Class linear_solver (o2scl_linalg)

O2scl : Class List

template<class vec_t = boost::numeric::ublas::vector<double>, class mat_t = boost::numeric::ublas::matrix<double>>
class linear_solver

A generic solver for the linear system \( A x = b \) [abstract base].

A generic solver for dense linear systems.

Those writing production level code should consider calling LAPACK directly as described in the Linear Algebra section of the User’s Guide.

Idea for Future:

The test code uses a Hilbert matrix, which is known to be ill-conditioned, especially for the larger sizes. This should probably be changed.

Subclassed by o2scl_linalg::linear_solver_HH< boost::numeric::ublas::vector< double >, boost::numeric::ublas::matrix< double > >, o2scl_linalg::linear_solver_HH< vec_t, mat_t >, o2scl_linalg::linear_solver_LU< vec_t, mat_t >, o2scl_linalg::linear_solver_QR< vec_t, mat_t >

Public Functions

inline virtual ~linear_solver()
virtual void solve(size_t n, mat_t &a, vec_t &b, vec_t &x) = 0

Solve square linear system \( A x = b \) of size n.