linpack_d, a C code which can solve systems of linear equations for a variety of matrix types and storage modes, using double precision real arithmetic, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.
LINPACK has officially been superseded by the LAPACK library. The LAPACK library uses more modern algorithms and code structure. However, the LAPACK library can be extraordinarily complex; what is done in a single LINPACK routine may correspond to 10 or 20 utility routines in LAPACK. This is fine if you treat LAPACK as a black box. But if you wish to learn how the algorithm works, or to adapt it, or to convert the code to another language, this is a real drawback. This is one reason I still keep a copy of LINPACK around.
Versions of LINPACK in various arithmetic precisions are available through the NETLIB web site.
The computer code and data files described and made available on this web page are distributed under the MIT license
linpack_d is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
BLAS1_D, a C code which contains basic linear algebra routines for vector-vector operations, using double precision real arithmetic.
clapack_test, C codes which illustrate the use of the CLAPACK library, a translation of the FORTRAN77 BLAS and LAPACK linear algebra libraries, including single and double precision, real and complex arithmetic.
LINPACK_BENCH, a C code which measures the time taken by LINPACK to solve a particular linear system.
LINPACK_S, a C code which solves linear systems using single precision real arithmetic;
QR_SOLVE, a C code which computes the least squares solution of a linear system A*x=b.
SVD_DEMO, a C code which demonstrates the Singular Value Decomposition (SVD) for a simple example.
TEST_MAT, a C code which defines test matrices.
TOEPLITZ_CHOLESKY, a C code which computes the Cholesky factorization of a nonnegative definite symmetric Toeplitz matrix.
Original FORTRAN77 version by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart. C version by John Burkardt.