test_con, a MATLAB code which defines test functions for continuation codes.

A simple continuation code is an algorithm for producing a sequence of solutions of the system of equations F(X) = 0, where there are fewer equations F than variables X. Commonly, there is one more variable than equation, resulting in one degree of freedom. The set of solutions will then generally describe a curve.

A continuation code might carry out the following steps:

  1. choose a problem by picking an index number.
  2. for problems with several options, pick an option index.
  3. find out the number of variables.
  4. get a starting point X0.
  5. get a suggested stepsize H.
  6. get the tangent vector T at X0.
  7. use the estimate X1=X0+H*T as a starting point for a new point on the curve; use Newton method to refine the estimate.
  8. If the Newton iteration failed, reduce H and try again.
  9. If the new point was computed "easily", increase H.
  10. Go back to step 6 if another point is desired.

TEST_CON includes routines to

The list of problems includes:

  1. The Freudenstein-Roth function
  2. The Boggs function
  3. The Powell function
  4. The Broyden function
  5. The Wacker function
  6. The Aircraft stability function
  7. The Cell kinetic function
  8. The Riks mechanical problem
  9. The Oden mechanical problem
  10. Torsion of a square rod, finite difference solution
  11. Torsion of a square rod, finite element solution
  12. The materially nonlinear problem
  13. Simpson's mildly nonlinear boundary value problem
  14. Keller's boundary value problem
  15. The Trigger Circuit
  16. The Moore-Spence Chemical Reaction Integral Equation
  17. The Bremermann Propane Combustion System
  18. The semiconductor problem
  19. The Nitric acid absorption flash
  20. The Buckling Spring


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


test_con is available in a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

continuation, a MATLAB code which implements the continuation method for a simple 2D problem, which involves finding a point on the unit circle, and then finding a sequence of nearby points which trace out the full curve, using only the information available in the implicit definition of the curve from the function f(x,y)=x^2+y^2-1.

test_con, a dataset directory which contains sequences of points that lie on multidimensional curves defined by sets of nonlinear equations;



  1. Ivo Babuska, Werner Rheinboldt,
    Reliable Error Estimations and Mesh Adaptation for the Finite Element Method,
    in International Conference on Computational Methods in Nonlinear Mechanics,
    edited by John Oden,
    Elsevier, 1980,
    ISBN: 0444853820,
    LC: QA808.I57.
  2. Paul Boggs,
    The Solution of Nonlinear Systems by A-stable Integration Techniques,
    SIAM Journal on Numerical Analysis,
    Volume 8, Number 4, December 1971, pages 767-785.
  3. Hans Bremermann,
    Calculation of Equilibrium Points for Models of Ecological and Chemical Systems,
    in Proceedings of a Conference on the Applications of Undergraduate Mathematics in the Engineering, Life, Managerial and Social Sciences,
    Georgia Institute of Technology, June 1973, pages 198-217.
  4. Charles Broyden,
    A New Method of Solving Nonlinear Simultaneous Equations,
    The Computer Journal,
    Volume 12, 1969, pages 94-99.
  5. Tama Copeman,
    Air Products and Chemicals, Inc.
    Box 538,
    Allentown, Pennsylvania, 18105.
  6. Cor denHeijer, Werner Rheinboldt,
    On Steplength Algorithms for a Class of Continuation Methods,
    SIAM Journal on Numerical Analysis,
    Volume 18, Number 5, October 1981, pages 925-947.
  7. Ferdinand Freudenstein, Bernhard Roth,
    Numerical Solutions of Nonlinear Equations,
    Journal of the ACM,
    Volume 10, Number 4, October 1963, pages 550-556.
  8. Kathie Hiebert,
    A Comparison of Software Which Solves Systems of Nonlinear Equations,
    Technical Report SAND-80-0181,
    Sandia National Laboratory, 1980.
  9. Herbert Keller,
    Numerical Methods for Two-point Boundary Value Problems,
    Dover, 1992,
    ISBN: 0486669254,
    LC: QA372.K42.
  10. Raman Mehra, William Kessel, James Carroll,
    Global stability and contral analysis of aircraft at high angles of attack,
    Technical Report CR-215-248-1, -2, -3,
    Office of Naval Research, June 1977.
  11. Rami Melhem, Werner Rheinboldt,
    A Comparison of Methods for Determining Turning Points of Nonlinear Equations,
    Volume 29, Number 3, September 1982, pages 201-226.
  12. Gerald Moore, Alastair Spence,
    The Calculation of Turning Points of Nonlinear Equations,
    SIAM Journal on Numerical Analysis,
    Volume 17, Number 4, August 1980, pages 567-576.
  13. John Oden,
    Finite Elements of Nonlinear Continua,
    Dover, 2006,
    ISBN: 0486449734,
    LC: QA808.2.O33.
  14. Gerd Poenisch, Hubert Schwetlick,
    Computing Turning Points of Curves Implicitly Defined by Nonlinear Equations Depending on a Parameter,
    Volume 26, Number 2, June 1981, pages 107-121.
  15. SJ Polak, A Wachten, H Vaes, A deBeer, Cor denHeijer,
    A Continuation Method for the Calculation of Electrostatic Potentials in Semiconductors,
    Technical Report ISA-TIS/CARD,
    NV Philips Gloeilampen-Fabrieken, 1979.
  16. Tim Poston, Ian Stewart,
    Catastrophe Theory and its Applications,
    Dover, 1996,
    ISBN13: 978-0486692715,
    LC: QA614.58.P66.
  17. Michael Powell,
    A Fortran Subroutine for Solving Systems of Nonlinear Algebraic Equations,
    in Numerical Methods for Nonlinear Algebraic Equations,
    edited by Philip Rabinowitz,
    Gordon and Breach, 1970,
    ISBN13: 978-0677142302,
    LC: QA218.N85.
  18. Werner Rheinboldt,
    Computation of Critical Boundaries on Equilibrium Manifolds,
    SIAM Journal on Numerical analysis,
    Volume 19, Number 3, June 1982, pages 653-669.
  19. Werner Rheinboldt, John Burkardt,
    A Locally Parameterized Continuation Process,
    ACM Transactions on Mathematical Software,
    Volume 9, Number 2, June 1983, pages 215-235.
  20. Werner Rheinboldt, John Burkardt,
    Algorithm 596: A Program for a Locally Parameterized Continuation Process,
    ACM Transactions on Mathematical Software,
    Volume 9, Number 2, June 1983, pages 236-241.
  21. Werner Rheinboldt,
    Numerical Analysis of Parameterized Nonlinear Equations,
    Wiley, 1986,
    ISBN: 0-471-88814-1,
    LC: QA372.R54.
  22. Werner Rheinboldt,
    Sample Problems for Continuation Processes,
    Technical Report ICMA-80-?,
    Institute for Computational Mathematics and Applications,
    Department of Mathematics,
    University of Pittsburgh, November 1980.
  23. Werner Rheinboldt,
    Solution Fields of Nonlinear Equations and Continuation Methods,
    SIAM Journal on Numerical Analysis,
    Volume 17, Number 2, April 1980, pages 221-237.
  24. Werner Rheinboldt,
    On the Solution of Some Nonlinear Equations Arising in the Application of Finite Element Methods,
    in The Mathematics of Finite Elements and Applications II,
    edited by John Whiteman,
    Academic Press, 1976,
    LC: TA347.F5.M37.
  25. E Riks,
    The Application of Newton's Method to the Problem of Elastic Stability,
    Transactions of the ASME, Journal of Applied Mechanics,
    December 1972, pages 1060-1065.
  26. Albert Schy, Margery Hannah,
    Prediction of Jump Phenomena in Roll-coupled Maneuvers of Airplanes,
    Journal of Aircraft,
    Volume 14, Number 4, 1977, pages 375-382.
  27. Bruce Simpson,
    A Method for the Numerical Determination of Bifurcation States of Nonlinear Systems of Equations,
    SIAM Journal on Numerical Analysis,
    Volume 12, Number 3, June 1975, pages 439-451.
  28. Hans-Joerg Wacker, Erich Zarzer, Werner Zulehner,
    Optimal Stepsize Control for the Globalized Newton Method,
    in Continuation Methods,
    edited by Hans-Joerg Wacker,
    Academic Press, 1978,
    ISBN: 0127292500,
    LC: QA1.S899.
  29. John Young, Albert Schy, Katherine Johnson,
    Prediction of Jump Phenomena in Aircraft Maneuvers, Including Nonlinear Aerodynamic Effects,
    Journal of Guidance and Control,
    Volume 1, Number 1, 1978, pages 26-31.

Source Code:

Last revised on 28 March 2019.