Computer Programs
NESC0888 MINPACK1.
last modified: 25-APR-1984 | catalog | categories | new | search |

NESC0888 MINPACK1.

MINPACK-1, Subroutine Library for Nonlinear Equation System

top ]
1. NAME OR DESIGNATION OF PROGRAM:  MINPACK1.
top ]
2. COMPUTERS

To submit a request, click below on the link of the version you wish to order. Rules for end-users are available here.

Program name Package id Status Status date
MINPACK-1 NESC0888/02 Tested 25-APR-1984

Machines used:

Package ID Orig. computer Test computer
NESC0888/02 Many Computers Many Computers
top ]
3. DESCRIPTION OF PROBLEM OR FUNCTION

MINPACK1 is a package of FORTRAN subprograms for the numerical solution of systems of non- linear equations and nonlinear least-squares problems. The individu- al programs are:

IDENTIFICATION           DESCRIPTION

    CHKDER       Check gradients for consistency with functions

    DOGLEG       Determine combination of Gauss-Newton and gradient
                     directions

    DPMPAR       Provide double precision machine parameters

    ENORM        Calculate Euclidean norm of vector

    FDJAC1       Calculate difference approximation to Jacobian

                     (nonlinear equations)

    FDJAC2       Calculate difference approximation to Jacobian

                     (least squares)

    HYBRD        Solve system of nonlinear equations

                     (approximate Jacobian)

    HYBRD1       Easy-to-use driver for HYBRD

    HYBRJ        Solve system of nonlinear equations (analytic

                      Jacobian)

    HYBRJ1       Easy-to-use driver for HYBRJ

    LMDER        Solve nonlinear least squares problem

                     (analytic Jacobian)

    LMDER1       Easy-to-use driver for LMDER

    LMDIF        Solve nonlinear least squares problem (approximate
                      Jacobian)

    LMDIF1       Easy-to-use driver for LMDIF

    LMPAR        Determine Levenberg-Marquardt parameter

    LMSTR        Solve nonlinear least squares problem

                     (analytic Jacobian, storage conserving)

    LMSTR1       Easy-to-use driver for LMSTR

    QFORM        Accumulate orthogonal matrix from QR factorization
    QRFAC        Compute QR factorization of rectangular matrix

    QRSOLV       Complete solution of least squares problem

    RWUPDT       Update QR factorization after row addition

    R1MPYQ       Apply orthogonal transformations from QR

                      factorization

    R1UPDT       Update QR factorization after rank-1 addition

SPMPAR       Provide single precision machine parameters
top ]
4. METHOD OF SOLUTION

MINPACK1 uses the modified Powell hybrid method and the Levenberg-Marquardt algorithm.
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM:
top ]
6. TYPICAL RUNNING TIME

Running time depends on the number of func- tions and variables, the behavior of the functions, the requested accuracy, and the starting point. On the IBM3033, the CPU time mea-  sured for compilation, link edit, and execution of a test driver ranges from four to 26 seconds.
NESC0888/02
Following execution times were required by NEA-DB to              run the test cases on IBM 3081K:
                          single precision   double precision
             HYBRJ test:      4.52 CP sec       6.74 CP sec
             LMSTR test:      4.84 CP sec      11.78 CP sec
top ]
7. UNUSUAL FEATURES OF THE PROGRAM

These routines have been extensi-  vely tested on many machines and have performed well on a large number of test problems.
top ]
8. RELATED AND AUXILIARY PROGRAMS:
top ]
9. STATUS
Package ID Status date Status
NESC0888/02 25-APR-1984 Tested at NEADB
top ]
10. REFERENCES

- M.J.D. Powell,
  "A Hybrid Method for Nonlinear Equations",
  In Numerical Methods for Nonlinear Algebraic Equations,
  P. Rabinowitz, Editor, Gordon and Breach, 1970.
- J.J. More,
"The Levenberg-Marquardt Algorithm, Implementation and Theory", in    Numerical Analysis,
  G.A. Watson, Editor, Lecture Notes in Mathematics 630, Springer-
  Verlag, 1977.
NESC0888/02, included references:
- B.S. Garbow, K.E. Hillstrom and J.J. More:
  Implementation Guide for Minpack-1.  ANL-80-68  (July 1980)
- J.J. More, B.S. Garbow and K.E. Hillstrom:
  User Guide for Minpack-1.  ANL-80-74  (August 1980)
top ]
11. MACHINE REQUIREMENTS

The test executions require from 92K to 158K  bytes of storage.
NESC0888/02
Main storage requirements for the test cases on               IBM 3081K are as follows:
                       single precision  double precision
           HYBRJ test:   116K bytes         132K bytes
           LMSTR test:   124K bytes         148K bytes
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NESC0888/02 FORTRAN-IV
top ]
13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED:  OS/360 (IBM360),  OS/370 (IBM370).
NESC0888/02
MVS-SP.
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

Three

machine-dependent parameters are set by calls to subroutine SPMAR (single precision) or DPMPAR (double precision). For non IBM machines, this presumes prior user activation (removal of 'C' from column 1) of appropriate constants embedded in the program.

The testing aids include drivers, parameter initialization subroutines, function evaluation subroutines, Jacobian evaluation subroutines, and test data. Small changes may be required to the drivers, for example, to renumber the logical input and output units or to include a program card.

   Machines and locations used for MINPACK1 testing were -

     MACHINE                       LOCATION

  IBM360,370         Massachusetts Institute of Technology

                     Argonne National Laboratory

                     Federal Reserve Board

                     Oak Ridge National Laboratory

                     David Sarnoff Research Center

                     University of Illinois at Chicago Circle

                     University of Kentucky

  CDC6000-7000       University of Illinois at Urbana-Champaign

                     Kirtland Air Force Base

                     Lawrence Livermore National Laboratory

                     Sandia Laboratories, Albuquerque

                     Sandia Laboratories, Livermore

                     Oak Ridge National Laboratory

  UNIVAC 1100        University of Winsconsin

                     Naval Weapons Center, China Lake

  DEC-PDP 10         Oak Ridge National Laboratory

  HONEYWELL 6000     University of Waterloo

  BURROUGHS 6700     Data Resources Inc.

                     International Bank for Reconstruction

                       and Development

  CRAY-1             Oak Ridge National Laboratory

                     Lawrence Livermore National Laboratory

  Prime 400          Management Decision Systems Inc.

  Itel AS/6          Rice University

  ICL 2980           Numerical Algorithms Group, Ltd.
top ]
15. NAME AND ESTABLISHMENT OF AUTHOR

             Burton S. Garbow
             Mathematics and Computer Science Division
             Argonne National Laboratory
             9700 South Cass Avenue
             Argonne, Illinois 60439
  Contact
top ]
16. MATERIAL AVAILABLE
NESC0888/02
File name File description Records
NESC0888_02.003 MINPACK-1 INFORMATION FILE 188
NESC0888_02.004 MINPACK-1 SINGLE-PRECISION (CARD IMAGES) 4771
NESC0888_02.005 MINPACK-1 SINGLE-PRECISION (FOR IEBUPDTE) 4793
NESC0888_02.006 SPMPAR SOURCE 145
NESC0888_02.007 MINPACK-1 DOUBLE-PRECISION (CARD IMAGES) 4778
NESC0888_02.008 MINPACK-1 DOUBLE-PRECISION (FOR IEBUPDTE) 4800
NESC0888_02.009 DPMPAR SOURCE 192
NESC0888_02.010 DRIVER FOR SMCHAR TEST (SINGLE PRECISION) 283
NESC0888_02.011 DRIVER FOR HYBRD TEST (SINGLE PRECISION) 551
NESC0888_02.012 DRIVER FOR HYBRJ TEST (SINGLE PRECISION) 879
NESC0888_02.013 DRIVER FOR LMDER TEST (SINGLE PRECISION) 1022
NESC0888_02.014 DRIVER FOR LMSTR TEST (SINGLE PRECISION) 1033
NESC0888_02.015 DRIVER FOR LMDIF TEST (SINGLE PRECISION) 673
NESC0888_02.016 DRIVER FOR CHDER TEST (SINGLE PRECISION) 858
NESC0888_02.017 DRIVER FOR DMCHAR TEST (DOUBLE PRECISION) 284
NESC0888_02.018 DRIVER FOR HYBRD TEST (DOUBLE PRECISION) 552
NESC0888_02.019 DRIVER FOR HYBRJ TEST (DOUBLE PRECISION) 881
NESC0888_02.020 DRIVER FOR LMDER TEST (DOUBLE PRECISION) 1025
NESC0888_02.021 DRIVER FOR LMSTR TEST (DOUBLE PRECISION) 1036
NESC0888_02.022 DRIVER FOR LMDIF TEST (DOUBLE PRECISION) 675
NESC0888_02.023 DRIVER FOR CHKDER TEST (DOUBLE PRECISION) 860
NESC0888_02.024 JCL FOR TESTING 56
NESC0888_02.025 DATA FOR HYBRD AND HYBRJ TEST 23
NESC0888_02.026 DATA FOR LMDER AND LMSTR TEST 29
NESC0888_02.027 DATA FOR CHKDER TEST 15
NESC0888_02.028 OUTPUT OF HYBRJ TEST (SINGLE PRECISION) 1204
NESC0888_02.029 OUTPUT OF LMSTR TEST (SINGLE PRECISION) 1186
NESC0888_02.030 OUTPUT OF HYBRJ TEST (DOUBLE PRECISION) 1246
NESC0888_02.031 OUTPUT OF LMSTR TEST (DOUBLE PRECISION) 1191
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

Keywords: least square fit, nonlinear problems, nonlinear programming, numerical solution.