# SOLVE Linear Solver for Double Dimensioned Arrays

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

There are many automatic ways to solve linear systems, as in MATLAB, and sophisticated packages such as LAPACK. However, this simpler set of routines may have some uses for students, beginners and those who need a quick and simple solver that can be replaced later if it turns out to be inadequate.

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 another language;
• 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.

### Licensing:

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

### Languages:

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

### Related Data and Programs:

LINPACK, a FORTRAN90 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.

QR_SOLVE, a FORTRAN90 library which computes the linear least squares (LLS) solution of a rectangular linear system A*x=b.

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

### List of Routines:

• R8MAT_FS factors and solves a linear system with one right hand side.
• R8MAT_PRINT prints an R8MAT.
• R8MAT_PRINT_SOME prints some of an R8MAT.
• R8VEC_PRINT prints an R8VEC.
• TIMESTAMP prints the current YMDHMS date as a time stamp.

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

Last revised on Thu May 29 10:01:48 2014