test_nls
test_nls,
a MATLAB code which
defines a set of nonlinear least square (NLS) test problems, involving
n-vector arguments x for m-dimensional objective functions f(x), for
which it is desired to find the argument x* which minimizes the L2
norm of f(x*).
The typical problem comprises M functions in N variables,
and it is desired to minimize the sum of squares of the values of
the functions. Each problem is specified by a starting point, a
function, gradient, and jacobian routines.
The problems include:
-
Linear function, full rank
-
Linear function, rank 1.
-
Linear function, rank 1, zero columns and rows.
-
Rosenbrock function.
-
Helical valley function.
-
Powell singular function.
-
Freudenstein/Roth function.
-
Bard function.
-
Kowalik and Osborne function.
-
Meyer function.
-
Watson function.
-
Box 3-dimensional function.
-
Jennrich and Sampson function.
-
Brown and Dennis function.
-
Chebyquad function.
-
Brown almost-linear function.
-
Osborne function 1.
-
Osborne function 2.
-
Hanson function 1
-
Hanson function 2
-
McKeown function 1
-
McKeown function 2
-
McKeown function 3
-
Devilliers and Glasser function 1
-
Devilliers and Glasser function 2
-
Madsen example
Licensing:
The information on this web page is distributed under the MIT license.
Languages:
test_nls is available in
a Fortran90 version and
a MATLAB version.
Related Data and Programs:
test_nls_test
theodolite,
a MATLAB code which
presents the problem of estimating the location of an event
which occurs in the sky, atmosphere, or the heavens, using nothing
but the reported angle of observation from several stations;
a nonlinear least squares (NLS) solver is needed.
Reference:
-
John Dennis, David Gay, and Phuong Vu,
A new nonlinear equations test problem,
Technical Report 83-16,
Mathematical Sciences Department,
Rice University, (1983 - revised 1985).
-
N. de Villiers and D. Glasser,
A continuation method for nonlinear regression,
SIAM Journal of Numerical Analysis,
Volume 18, pages 1139-1154, 1981.
-
C. Fraley,
Solution of nonlinear least-squares problems,
Technical Report STAN-CS-1165,
Computer Science Department,
Stanford University, 1987.
-
C. Fraley,
Software performance on nonlinear least-squares problems,
Technical Report SOL 88-17,
Systems Optimization Laboratory,
Department of Operations Research,
Stanford University, 1988.
-
JJ McKeown,
Specialized versus general-purpose algorithms for functions that
are sums of squared terms,
Math. Prog.,
Volume 9, pages 57-68, 1975.
-
JJ McKeown,
On algorithms for sums of squares problems,
in Towards Global Optimization,
L. C. W. Dixon and G. Szego (editors),
North-Holland, pages 229-257, 1975.
-
Jorge More, Burton Garbow, Kenneth Hillstrom,
Testing unconstrained optimization software,
ACM Transactions on Mathematical Software,
Volume 7, Number 1, March 1981, pages 17-41.
-
Jorge More, Burton Garbow, Kenneth Hillstrom,
Algorithm 566:
Fortran Subroutines for Testing unconstrained optimization software,
ACM Transactions on Mathematical Software,
Volume 7, Number 1, March 1981, pages 136-140.
-
Douglas Salane,
A continuation approach for solving large residual nonlinear
least squares problems,
SIAM Journal of Scientific and Statistical Computing,
Volume 8, pages 655-671, 1987.
Source Code:
Generic functions:
-
p00_f.m, evaluates a given function.
-
p00_g.m, estimates the least squares
gradient vector g=2*(J*f)';
-
p00_j.m, evaluates a given jacobian.
-
p00_mn.m, returns M and N for a given test.
-
p00_sol.m, returns the solution of a given test.
-
p00_start.m, returns a starting estimate
for the solution of a given test.
-
p00_test_num.m,
returns the number of tests.
-
p00_title.m,
returns a title for the given test.
Last revised on 04 March 2026.