| The NLP Procedure | 
 containing the second-order derivatives of the objective 
 function
 
 containing the second-order derivatives of the objective 
 function  with respect to
 with respect to  . 
 For more information, see the section "Derivatives".
. 
 For more information, see the section "Derivatives".
  variable names which correspond to the 
 elements
 variable names which correspond to the 
 elements  of the lower triangle of the symmetric 
 Hessian matrix listed by rows. 
 For example, the statements
 of the lower triangle of the symmetric 
 Hessian matrix listed by rows. 
 For example, the statements 
 
  
       min f; 
       decvar x1 - x3; 
       hessian g1-g6;
  
 correspond to the Hessian matrix 
   
 ![g = [ g1 & g2 & g4 \    g2 & g3 & g5 \    g4 & g5 & g6 \    ]    = [ \partial^2 f / ...   ... \partial^2 f / \partial x_3 \partial x_2 &    \partial^2 f / \partial x^2_3    ]](images/nlp_nlpeq153.gif)
 diagonal 
 elements must be listed in the HESSIAN statement. 
 The
 diagonal 
 elements must be listed in the HESSIAN statement. 
 The  rows and
 rows and  columns of the Hessian matrix
 columns of the Hessian matrix  must correspond 
 to the order of the
 must correspond 
 to the order of the  parameter names listed in the 
 DECVAR statement. 
 To specify the values of nonzero derivatives, 
 the variables specified in the HESSIAN statement must be defined 
 on the left-hand side of algebraic expressions in the 
 programming statements. 
 For example, consider the Rosenbrock function:
 parameter names listed in the 
 DECVAR statement. 
 To specify the values of nonzero derivatives, 
 the variables specified in the HESSIAN statement must be defined 
 on the left-hand side of algebraic expressions in the 
 programming statements. 
 For example, consider the Rosenbrock function: 
 
  
    proc nlp tech=nrridg; 
       min f; 
       decvar x1 x2; 
       gradient g1 g2; 
       hessian h1-h3; 
  
       f1 = 10 * (x2 - x1 * x1); 
       f2 = 1 - x1; 
  
       f = .5 * (f1 * f1 + f2 * f2); 
  
       g1 = -200 * x1 * (x2 - x1 * x1) - (1 - x1); 
       g2 = 100 * (x2 - x1 * x1); 
  
       h1 = -200 * (x2 - 3 * x1 * x1) + 1; 
       h2 = -200 * x1; 
       h3 = 100; 
    run;
 
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.