Public Member Functions | List of all members
o2scl_linalg::linear_solver< vec_t, mat_t > Class Template Referenceabstract

A generic solver for the linear system $ A x = b $ [abstract base]. More...

#include <linear_solver.h>

Inheritance diagram for o2scl_linalg::linear_solver< vec_t, mat_t >:
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 Member Functions

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.

Detailed Description

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

A generic solver for dense linear systems.

Those writing production level code should consider calling LAPACK directly using O2scl objects 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.

Definition at line 53 of file linear_solver.h.

The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).