HESSIAN Statement
- HESSIAN variables ;
The HESSIAN statement defines the Hessian matrix G
containing the second-order derivatives of the objective
function f with respect to x1, ... ,xn.
For more information, see the section "Derivatives".
If the DIAHES option is not specified, the HESSIAN statement
lists n(n+1)/2 variable names which correspond to the
elements
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 / \partia...
...\partial^2 f / \partial x_3 \partial x_2 &
\partial^2 f / \partial x^2_3
] .](images/nlpeq52.gif)
If the DIAHES option is specified, only the n diagonal
elements must be listed in the HESSIAN statement.
The n rows and columns of the Hessian matrix G must correspond
to the order of the n parameter names listed in the DECVAR
statement.
To specify the values of nonzero derivatives,
the variables specified in the HESSIAN statement have to be defined in
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 © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.