llsq, a FORTRAN90 code which solves the simple linear least squares (LLS) problem of finding the formula of a straight line y=a*x or y=a*x+b which minimizes the root-mean-square error to a set of N data points.


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


llsq is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

BVLS, a FORTRAN90 code which applies least squares methods to solve a linear system for which lower and upper constraints may have been placed on every variable, by Charles Lawson and Richard Hanson.

LAWSON, a FORTRAN90 code which contains routines for solving least squares problems and singular value decompositions (SVD), by Charles Lawson, Richard Hanson.


MINPACK, a FORTRAN90 code which solves systems of nonlinear equations, or the least squares minimization of the residual of a set of linear or nonlinear equations.

NMS, a FORTRAN90 code which includes a wide variety of numerical software, including solvers for linear systems of equations, interpolation of data, numerical quadrature, linear least squares data fitting, the solution of nonlinear equations, ordinary differential equations, optimization and nonlinear least squares, simulation and random numbers, trigonometric approximation and Fast Fourier Transforms.

QR_SOLVE, a FORTRAN90 code which computes the least squares solution of a linear system A*x=b.

TEST_APPROX, a FORTRAN90 code which defines test problems for approximation, provided as a set of (x,y) data.

test_lls, a FORTRAN90 code which implements linear least squares (LLS) test problems which are given A and b, and seek a vector x which minimizes the L2 norm of the error ||Ax-b||.


  1. David Kahaner, Cleve Moler, Steven Nash,
    Numerical Methods and Software,
    Prentice Hall, 1989,
    ISBN: 0-13-627258-4,
    LC: TA345.K34.

Source Code:

Last revised on 28 July 2020.