test_nonlin
test_nonlin,
a FORTRAN90 code which
defines a set of test problems for nonlinear
equation system solvers.
A few of the problems are small (2, 3, or 4 equations in 4
unknowns), but most of the problems may be set to any size whatsoever.
The software includes routines defining the initial approximation to the
solution of the system, the N function values at any point, and the N by
N jacobian matrix at any point.
The list of problems includes:

Generalized Rosenbrock function, 1 < N.

Powell singular function, N = 4.

Powell badly scaled function, N = 2.

Wood function, N = 4.

Helical valley function, N = 3.

Watson function, 1 < N.

Chebyquad function, N arbitrary.

Brown almost linear function, N arbitrary.

Discrete boundary value function, N arbitrary.

Discrete integral equation function, N arbitrary.

Trigonometric function, N arbitrary.

Variably dimensioned function, N arbitrary.

Broyden tridiagonal function, N arbitrary.

Broyden banded function, N arbitrary.

Hammarling 2 by 2 matrix square root problem, N = 4.

Hammarling 3 by 3 matrix square root problem, N = 9.

Dennis and Schnabel example, N = 2.

Sample problem 18, N = 2.

Sample problem 19, N = 2.

Scalar problem, N = 1.

FreudensteinRoth function, N = 2.

Boggs function, N = 2.

Chandrasekhar function, N arbitrary.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
test_nonlin is available in
a FORTRAN90 version and
a MATLAB version and
an Octave version and
a Python version.
Related Data and Programs:
fsolve,
a FORTRAN90 code which
solves systems of nonlinear equations,
inspired by the fsolve() function in MATLAB, and based on
the minpack() minimization package.
minpack,
a FORTRAN90 code which
is a minimization
package for which most of these problems were used as tests,
as part of ACM TOMS algorithm 566.
test_nonlin_test
Reference:

Subramanyan Chandrasekhar,
Radiative Transfer,
Dover, 1960,
ISBN13: 9780486605906,
LC: QB461.C46.

John Dennis, David Gay, Phuong Vu,
A new nonlinear equations test problem,
Technical Report 8316,
Mathematical Sciences Department,
Rice University, 1983.

John Dennis, Robert Schnabel,
Numerical Methods for Unconstrained Optimization
and Nonlinear Equations,
SIAM, 1996,
ISBN13: 9780898713640,
LC: QA402.5.D44.

Noel deVilliers, David Glasser,
A continuation method for nonlinear regression,
SIAM Journal on Numerical Analysis,
Volume 18, Number 6, December 1981, pages 11391154.

Chris Fraley,
Solution of nonlinear leastsquares problems,
Technical Report STANCS1165,
Computer Science Department,
Stanford University, 1987.

Chris Fraley,
Software performance on nonlinear leastsquares problems,
Technical Report SOL 8817,
Systems Optimization Laboratory,
Department of Operations Research,
Stanford University, 1988.

JJ McKeown,
Specialized versus generalpurpose algorithms for functions
that are sums of squared terms,
Mathematical Programming,
Volume 9, 1975, pages 5768.

JJ McKeown,
On algorithms for sums of squares problems,
in Towards Global Optimisation,
edited by Laurence Dixon, Gabor Szego,
NorthHolland, 1975, pages 229257,
ISBN: 0444109552,
LC: QA402.5.T7.

Jorge More, Burton Garbow, Kenneth Hillstrom,
Testing unconstrained optimization software,
ACM Transactions on Mathematical Software,
Volume 7, Number 1, March 1981, pages 1741.

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 136140.

James Ortega, Werner Rheinboldt
Iterative Solution of Nonlinear Equations in Several Variables,
SIAM, 1987,
ISBN13: 9780898714616,
LC: QA297.8.O77.

Werner Rheinboldt,
Methods for Solving Systems of Nonlinear Equations,
SIAM, 1998,
ISBN: 089871415X,
LC: QA214.R44.

Douglas Salane,
A continuation approach for solving large residual nonlinear
least squares problems,
SIAM Journal on Scientific and Statistical Computing,
Volume 8, Number 4, July 1987, pages 655671.
Source Code:
Last revised on 04 September 2020.