TEST_NLS 
 Nonlinear least squares test problems
    
    
    
      TEST_NLS
      is a FORTRAN90 library which
      defines test problems for
      least squares minimization.
    
    
      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 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 computer code and data files described and made available on this web page
      are distributed under
      the GNU LGPL license.
    
    
      Languages:
    
    
      TEST_NLS is available in
      a FORTRAN90 version.
    
    
      Related Data and Programs:
    
    
      
      DQED,
      a FORTRAN90 library which
      seeks the solution of bounded or constrained minimization problems.
    
    
      
      MINPACK,
      a FORTRAN90 library which
      seeks the solution of nonlinear equations, or the least squares minimization
      of the residual.
    
    
      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:
    
    
      
    
    
      Examples and Tests:
    
    
      
    
    
      List of Routines:
    
    
      
        - 
          P00_F evaluates the M nonlinear functions for any problem.
        
- 
          P00_G evaluates the least squares gradient for any problem.
        
- 
          P00_J evaluates the jacobian for any problem.
        
- 
          P00_MN reports the default sizes M and N for the least squares problems.
        
- 
          P00_MPROB returns the number of problems available.
        
- 
          P00_SOL returns the solution of the problem, if known.
        
- 
          P00_START sets a starting point for any problem.
        
- 
          P00_title sets the title of any problem.
        
- 
          P01_F evaluates the M nonlinear functions for problem 1.
        
- 
          P01_J evaluates the jacobian for problem 1.
        
- 
          P01_SOL returns the solution of problem 1.
        
- 
          P01_START sets a starting point for problem 1.
        
- 
          P01_title specifies the title for problem 1.
        
- 
          P02_F evaluates the M nonlinear functions for problem 2.
        
- 
          P02_J evaluates the jacobian for problem 2.
        
- 
          P02_SOL returns the solution of problem 2.
        
- 
          P02_START sets a starting point for problem 2.
        
- 
          P02_title specifies the title for problem 2.
        
- 
          P03_F evaluates the M nonlinear functions for problem 3.
        
- 
          P03_J evaluates the jacobian for problem 3.
        
- 
          P03_START sets a starting point for problem 3.
        
- 
          P03_SOL returns the solution of problem 3.
        
- 
          P03_title specifies the title for problem 3.
        
- 
          P04_F evaluates the M nonlinear functions for problem 4.
        
- 
          P04_J evaluates the jacobian for problem 4.
        
- 
          P04_SOL returns the solution of problem 4.
        
- 
          P04_START sets a starting point for problem 4.
        
- 
          P04_title specifies the title for problem 4.
        
- 
          P05_F evaluates the M nonlinear functions for problem 5.
        
- 
          P05_J evaluates the jacobian for problem 5.
        
- 
          P05_SOL returns the solution of problem 5.
        
- 
          P05_START sets a starting point for problem 5.
        
- 
          P05_title specifies the title for problem 5.
        
- 
          P06_F evaluates the M nonlinear functions for problem 6.
        
- 
          P06_J evaluates the jacobian for problem 6.
        
- 
          P06_SOL returns the solution of problem 6.
        
- 
          P06_START sets a starting point for problem 6.
        
- 
          P06_title specifies the title for problem 6.
        
- 
          P07_F evaluates the M nonlinear functions for problem 7.
        
- 
          P07_J evaluates the jacobian for problem 7.
        
- 
          P07_SOL returns the solution of problem 7.
        
- 
          P07_START sets a starting point for problem 7.
        
- 
          P07_title specifies the title for problem 7.
        
- 
          P08_F evaluates the M nonlinear functions for problem 8.
        
- 
          P08_J evaluates the jacobian for problem 8.
        
- 
          P08_SOL returns the solution of problem 8.
        
- 
          P08_START sets a starting point for problem 8.
        
- 
          P08_title specifies the title for problem 8.
        
- 
          P09_F evaluates the M nonlinear functions for problem 9.
        
- 
          P09_J evaluates the jacobian for problem 9.
        
- 
          P09_SOL returns the solution of problem 9.
        
- 
          P09_START sets a starting point for problem 9.
        
- 
          P09_title specifies the title for problem 9.
        
- 
          P10_F evaluates the M nonlinear functions for problem 10.
        
- 
          P09_J evaluates the jacobian for problem 9.
        
- 
          P10_SOL returns the solution of problem 10.
        
- 
          P10_START sets a starting point for problem 10.
        
- 
          P10_title specifies the title for problem 10.
        
- 
          P11_F evaluates the M nonlinear functions for problem 11.
        
- 
          P11_J evaluates the jacobian for problem 11.
        
- 
          P11_SOL returns the solution of problem 11.
        
- 
          P11_START sets a starting point for problem 11.
        
- 
          P11_title specifies the title for problem 11.
        
- 
          P12_F evaluates the M nonlinear functions for problem 12.
        
- 
          P12_J evaluates the jacobian for problem 12.
        
- 
          P12_SOL returns the solution of problem 12.
        
- 
          P12_START sets a starting point for problem 12.
        
- 
          P12_title specifies the title for problem 12.
        
- 
          P13_F evaluates the M nonlinear functions for problem 13.
        
- 
          P13_J evaluates the jacobian for problem 13.
        
- 
          P13_SOL returns the solution of problem 13.
        
- 
          P13_START sets a starting point for problem 13.
        
- 
          P13_title specifies the title for problem 13.
        
- 
          P14_F evaluates the M nonlinear functions for problem 14.
        
- 
          P14_J evaluates the jacobian for problem 14.
        
- 
          P14_SOL returns the solution of problem 14.
        
- 
          P14_START sets a starting point for problem 14.
        
- 
          P14_title specifies the title for problem 14.
        
- 
          P15_F evaluates the M nonlinear functions for problem 15.
        
- 
          P15_J evaluates the jacobian for problem 15.
        
- 
          P15_SOL returns the solution of problem 15.
        
- 
          P15_START sets a starting point for problem 15.
        
- 
          P15_title specifies the title for problem 15.
        
- 
          P16_F evaluates the M nonlinear functions for problem 16.
        
- 
          P16_J evaluates the jacobian for problem 16.
        
- 
          P16_SOL returns the solution of problem 16.
        
- 
          P16_START sets a starting point for problem 16.
        
- 
          P16_title specifies the title for problem 16.
        
- 
          P17_F evaluates the M nonlinear functions for problem 17.
        
- 
          P17_J evaluates the jacobian for problem 17.
        
- 
          P17_SOL returns the solution of problem 17.
        
- 
          P17_START sets a starting point for problem 17.
        
- 
          P17_title specifies the title for problem 17.
        
- 
          P18_F evaluates the M nonlinear functions for problem 18.
        
- 
          P18_J evaluates the jacobian for problem 18.
        
- 
          P18_SOL returns the solution of problem 18.
        
- 
          P18_START sets a starting point for problem 18.
        
- 
          P18_title specifies the title for problem 18.
        
- 
          P19_F evaluates the M nonlinear functions for problem 19.
        
- 
          P19_J evaluates the jacobian for problem 19.
        
- 
          P19_SOL returns the solution of problem 19.
        
- 
          P19_START sets a starting point for problem 19.
        
- 
          P19_title specifies the title for problem 19.
        
- 
          P20_F evaluates the M nonlinear functions for problem 20.
        
- 
          P20_J evaluates the jacobian for problem 20.
        
- 
          P20_SOL returns the solution of problem 20.
        
- 
          P20_START sets a starting point for problem 20.
        
- 
          P20_title specifies the title for problem 20.
        
- 
          P21_F evaluates the M nonlinear functions for problem 21.
        
- 
          P21_J evaluates the jacobian for problem 21.
        
- 
          P21_SOL returns the solution of problem 21.
        
- 
          P21_START sets a starting point for problem 21.
        
- 
          P21_title specifies the title for problem 21.
        
- 
          P22_F evaluates the M nonlinear functions for problem 22.
        
- 
          P22_J evaluates the jacobian for problem 22.
        
- 
          P22_SOL returns the solution of problem 22.
        
- 
          P22_START sets a starting point for problem 22.
        
- 
          P22_title specifies the title for problem 22.
        
- 
          P23_F evaluates the M nonlinear functions for problem 23.
        
- 
          P23_J evaluates the jacobian for problem 23.
        
- 
          P23_SOL returns the solution of problem 23.
        
- 
          P23_START sets a starting point for problem 23.
        
- 
          P23_title specifies the title for problem 23.
        
- 
          P24_F evaluates the M nonlinear functions for problem 24.
        
- 
          P24_J evaluates the jacobian for problem 24.
        
- 
          P24_SOL returns the solution of problem 24.
        
- 
          P24_START sets a starting point for problem 24.
        
- 
          P24_title specifies the title for problem 24.
        
- 
          P25_F evaluates the M nonlinear functions for problem 25.
        
- 
          P25_J evaluates the jacobian for problem 25.
        
- 
          P25_SOL returns the solution of problem 25.
        
- 
          P25_START sets a starting point for problem 25.
        
- 
          P25_title specifies the title for problem 25.
        
- 
          P26_F evaluates the M nonlinear functions for problem 26.
        
- 
          P26_J evaluates the jacobian for problem 26.
        
- 
          P26_SOL returns the solution of problem 26.
        
- 
          P26_START sets a starting point for problem 26.
        
- 
          P26_title specifies the title for problem 26.
        
- 
          R_PI returns the value of pi.
        
- 
          RMAT_PRINT prints a real matrix.
        
- 
          RVEC_PRINT prints a real vector.
        
- 
          TIMESTAMP prints the current YMDHMS date as a time stamp.
        
      You can go up one level to 
      the FORTRAN90 source codes.
    
    
    
      Last revised on 30 August 2005.