LAWSON is a FORTRAN77 library which can solve least squares problems.
The most common least squares problems considers an overdetermined M by N linear system A*X=B. A least squares solution X is sought which has the property that, although it generally is not a solution of the system, it is the best approximation to a solution, in the sense that it minimizes the L2 norm of the residual R=A*X-B.
In some cases, a unique solution to the system A*X=B will exist, and in that case the least squares solution will coincide with what is ordinarily meant by a solution.
In underdetermined cases, where multiple solutions exist, the least squares solution is usually taken to be that solution X which has minimum L2 norm, that is, which minimizes ||X||.
The original FORTRAN77 source code is available through NETLIB at
LAWSON is available in a FORTRAN77 version and a FORTRAN90 version.
BRENT, a FORTRAN77 library which contains Richard Brent's routines for finding the zero, local minimizer, or global minimizer of a scalar function of a scalar argument, without the use of derivative information.
BVLS, a FORTRAN90 library which applies least squares methods to solve a linear system for which lower and upper constraints may have been placed on every variable.
DQED, a FORTRAN77 library which solves constrained least squares problems.
NL2SOL, a FORTRAN77 library which implements an adaptive nonlinear least-squares algorithm.
PRAXIS, a FORTRAN77 library which minimizes a scalar function of several variables.
QR_SOLVE, a FORTRAN77 library which computes the least squares solution of a linear system A*x=b.
TEST_LS, a FORTRAN77 library which implements linear least squares test problems of the form A*x=b.
TOMS581, a FORTRAN77 library which implements an improved algorithm for computing the singular value decomposition (SVD) of a rectangular matrix; this is ACM TOMS algorithm 571, by Tony Chan.
TOMS611, a FORTRAN77 library which seeks the minimizer of a scalar functional of multiple variables.
LAWSON_PRB1 demonstrates algorithms HFTI and HS1 for solving least squares problems, and algorithm COV for computing the associated covariance matrix.
LAWSON_PRB2 demonstrates algorithms HFTI for solving least squares problems, and algorithm COV for computing the associated unscaled covariance matrix.
LAWSON_PRB3 demonstrates the use of routine SVDRS to compute the singular value decomposition of a matrix, and to solve a related least squares linear system.
LAWSON_PRB4 demonstrates singular value analysis with SVA.
LAWSON_PRB5 demonstrates the BNDACC and BNDSOL routines to handle least squares problems with a banded matrix.
LAWSON_PRB6 demonstrates the LDP routine.
You can go up one level to the FORTRAN77 source codes.