# TEST_LLS Linear Least Squares Test Problems

TEST_LLS is a FORTRAN90 library which implements linear least squares (LLS) test problems which seek a vector x which minimizes the error in the rectangular linear system A*x=b.

Some linear least squares problems include constraints on the data, such as requiring that every entry of X be positive. This library only contains unconstrained problems. For such problems, the task is typically to find a vector X which minimizes the Euclidean norm of the residual r=Ax-b, or, in cases where multiple minimizers exist, to find the minimizer of minimal Euclidean norm.

### Languages:

TEST_LLS 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 library 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.

DQED, a FORTRAN90 library which solves constrained least squares problems, by Richard Hanson and Fred Krogh.

GEQP3, a FORTRAN90 library which contains the portion of the LAPACK library that carries out the QR factorization, with column pivoting, of an M by N rectangular matrix, with N <= M.

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

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

MINPACK, a FORTRAN90 library 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 library 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 (FFT).

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

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

### Reference:

1. Cleve Moler,
Numerical Computing with MATLAB,
SIAM, 2004,
ISBN13: 978-0-898716-60-3,
LC: QA297.M625,
ebook: http://www.mathworks.com/moler/chapters.html

### List of Routines:

• P00_A returns the matrix A for any least squares problem.
• P00_B returns the right hand side B for any least squares problem.
• P00_M returns the number of equations M for any least squares problem.
• P00_N returns the number of variables N for any least squares problem.
• P00_PROB_NUM returns the number of least squares problems.
• P00_X returns the least squares solution X for any least squares problem.
• P01_A returns the matrix A for problem 1.
• P01_B returns the right hand side B for problem 1.
• P01_M returns the number of equations M for problem 1.
• P01_N returns the number of variables N for problem 1.
• P01_X returns the least squares solution X for problem 1.
• P02_A returns the matrix A for problem 2.
• P02_B returns the right hand side B for problem 2.
• P02_M returns the number of equations M for problem 2.
• P02_N returns the number of variables N for problem 2.
• P02_X returns the least squares solution X for problem 2.
• P03_A returns the matrix A for problem 3.
• P03_B returns the right hand side B for problem 3.
• P03_M returns the number of equations M for problem 3.
• P03_N returns the number of variables N for problem 3.
• P03_X returns the least squares solution X for problem 3.
• P04_A returns the matrix A for problem 4.
• P04_B returns the right hand side B for problem 4.
• P04_M returns the number of equations M for problem 4.
• P04_N returns the number of variables N for problem 4.
• P04_X returns the least squares solution X for problem 4.
• P05_A returns the matrix A for problem 5.
• P05_B returns the right hand side B for problem 5.
• P05_M returns the number of equations M for problem 5.
• P05_N returns the number of variables N for problem 5.
• P05_X returns the least squares solution X for problem 5.
• P06_A returns the matrix A for problem 6.
• P06_B returns the right hand side B for problem 6.
• P06_M returns the number of equations M for problem 6.
• P06_N returns the number of variables N for problem 6.
• P06_X returns the least squares solution X for problem 6.

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

Last revised on 04 October 2012.