# SOLVE Linear Solver for Double Dimensioned Arrays

SOLVE is a FORTRAN77 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.

### 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 FORTRAN77 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 FORTRAN77 library which computes the linear least squares (LLS) solution of a rectangular linear system A*x=b.

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

### Source Code:

• solve.f, the source code.
• solve.sh, BASH commands to compile the source code.

### 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 FORTRAN77source codes.

Last revised on 29 May 2014.