Linear Regression

REGRESSION is a FORTRAN90 library which handles problems in linear regression.

These routines were collected and described by Helmut Spaeth. The most common task for such routines is to solve an overdetermined system of linear equations.

In particular, many routines will produce a least-squares solution. That is, given an M by N matrix A, and an M vector B, the routines will seek an N vector X so which minimizes the L2 norm (square root of the sum of the squares of the components) of the residual

        R = A * X - B

The code is in a very provisional state. Many routines have not been carefully proofread or debugged or tested yet.


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


REGRESSION is available in a FORTRAN90 version.

Related Data and Programs:

REGRESSION, a dataset directory which contains datasets for testing linear regression;


  1. I Barrodale, C Phillips,
    Algorithm 495: Solution of an Overdetermined System of Linear Equations in the Chebyshev Norm,
    ACM Transactions on Mathematical Software,
    Volume 1, pages 264-270, 1975.
  2. I Barrodale, F Roberts,
    Algorithm 552: Solution of the Constrained L1 Linear Approximation Problem,
    ACM Transactions on Mathematical Software,
    Volume 6, pages 231-235, 1980.
  3. Golub, Van Loan,
    Matrix Computations,
    The Johns Hopkins University Press, 1983.
  4. Richard Gunst, Robert Mason,
    Regression Analysis and Its Applications: a data-oriented approach,
    Dekker, 1980,
    ISBN: 0824769937,
    LC: QA278.2.G85.
  5. Charles Lawson and Richard Hanson,
    Solving Least Squares Problems,
    Prentice-Hall, 1974,
    Revised edition, SIAM, 1995.
  6. Reinsch, Golub,
    Singular Value Decomposition and Least Squares Solutions,
    Numerische Mathematik,
    Volume 14, 1970.
  7. Helmuth Spaeth,
    Mathematical Algorithms for Linear Regression,
    Academic Press, 1991,
    ISBN 0-12-656460-4.

Source Code:

Examples and Tests:

List of Routines:

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

Last revised on 08 November 2010.