## 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 *x*_{1}, ... ,*x*_{n}.
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

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.