Linear Solver for Double Dimensioned Arrays

**SOLVE**
is a MATLAB library which
solves a linear system of equations A*x=b using Gauss elimination.

In MATLAB, of course, one can simply type "x = A\b" and get an answer, even if the matrix is ill-conditioned, singular, complex, rectangular (over-determined or under-determined).

Nonetheless, this library is useful because:

- it shows the steps involved in a simple Gauss-elimination procedure;
- it can be used to count the number of operations in Gauss-elimination;
- it can be used as a guide for writing a corresponding program in a non-MATLAB environment;
- its performance can be compared to corresponding versions in C or Fortran;
- it can be used as a starting point for exploring band storage, sparse storage, iterative solutions and other topics in linear algebra.

The computer code and data files made available on this web page are distributed under the GNU LGPL license.

**SOLVE** is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.

LINPACK, a MATLAB library which solves linear systems for a variety of matrix storage schemes, real or complex arithmetic, and single or double precision. It includes a routine for computing the singular value decomposition (SVD) of a rectangular matrix. The original version of this library is by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

R8LIB, a MATLAB library which contains many utility routines using double precision real (R8) arithmetic.

- r8mat_fs.m, factors and solves a linear system.
- r8vec_print.m, prints an R8VEC.
- timestamp.m, prints the YMDHMS date as a timestamp.

- solve_test.m a sample calling program.
- solve_test01.m, sets up and solves a simple 3x3 linear system.
- solve_test_output.txt, the output file.

You can go up one level to the MATLAB source codes.