TEST_LS
Linear Least Squares Test Problems
TEST_LS
is a C++ library which
defines a number of linear least squares problems of the form A*x=b,
where A is an M by N matrix.
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.
TEST_LS requires access to a compiled copy of the R8LIB library.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
TEST_LS is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
LLSQ,
a C++ 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 C++ library which
solves systems of nonlinear equations, or the least squares minimization of the
residual of a set of linear or nonlinear equations.
QR_SOLVE,
a C++ library which
computes the least squares solution of a linear system A*x=b.
R8LIB,
a C++ library which
contains many utility routines using double precision real (R8) arithmetic.
Reference:
-
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
Source Code:
Examples and Tests:
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 C++ source codes.
Last revised on 04 October 2012.