After the
handle has been initialized (e.g.,
e04raf has been called),
and a nonlinear objective function
$f\left(x\right)$ and/or
the
$i$th (
$1\le i\le {m}_{g}$)
nonlinear constraint function
${g}_{i}\left(x\right)$ has been registered with
e04rgf and
e04rkf,
then
e04rlf may be used to define the sparsity structure (pattern) of the Hessians
of those functions or of their Lagrangian function. Define:

${\nabla}^{2}f\left(x\right)\equiv \left(\begin{array}{cccc}\frac{{\partial}^{2}f\left(x\right)}{{\partial}^{2}{x}_{1}}& \frac{{\partial}^{2}f\left(x\right)}{\partial {x}_{2}\partial {x}_{1}}& \dots & \frac{{\partial}^{2}f\left(x\right)}{\partial {x}_{n}\partial {x}_{1}}\\ \frac{{\partial}^{2}f\left(x\right)}{\partial {x}_{1}\partial {x}_{2}}& \frac{{\partial}^{2}f\left(x\right)}{{\partial}^{2}{x}_{2}}& \dots & \frac{{\partial}^{2}f\left(x\right)}{\partial {x}_{n}\partial {x}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{{\partial}^{2}f\left(x\right)}{\partial {x}_{1}\partial {x}_{n}}& \frac{{\partial}^{2}f\left(x\right)}{\partial {x}_{2}\partial {x}_{n}}& \dots & \frac{{\partial}^{2}f\left(x\right)}{{\partial}^{2}{x}_{n}}\end{array}\right)$, and
${\nabla}^{2}{g}_{i}\left(x\right)\equiv \left(\begin{array}{cccc}\frac{{\partial}^{2}{g}_{i}\left(x\right)}{{\partial}^{2}{x}_{1}}& \frac{{\partial}^{2}{g}_{i}\left(x\right)}{\partial {x}_{2}\partial {x}_{1}}& \dots & \frac{{\partial}^{2}{g}_{i}\left(x\right)}{\partial {x}_{n}\partial {x}_{1}}\\ \frac{{\partial}^{2}{g}_{i}\left(x\right)}{\partial {x}_{1}\partial {x}_{2}}& \frac{{\partial}^{2}{g}_{i}\left(x\right)}{{\partial}^{2}{x}_{2}}& \dots & \frac{{\partial}^{2}{g}_{i}\left(x\right)}{\partial {x}_{n}\partial {x}_{2}}\\ \vdots & \vdots & \ddots & \vdots \\ \frac{{\partial}^{2}{g}_{i}\left(x\right)}{\partial {x}_{1}\partial {x}_{n}}& \frac{{\partial}^{2}{g}_{i}\left(x\right)}{\partial {x}_{2}\partial {x}_{n}}& \dots & \frac{{\partial}^{2}{g}_{i}\left(x\right)}{{\partial}^{2}{x}_{n}}\end{array}\right)$ for $1\le i\le {m}_{g}$
 e04rlf can be used to define the following sparsity structures:
 the Hessian of the Lagrangian function $\sigma {\nabla}^{2}f\left(x\right)+{\displaystyle \sum _{i=1}^{{m}_{g}}}{\lambda}_{i}{\nabla}^{2}{g}_{i}\left(x\right)$,
 the Hessian of the objective function ${\nabla}^{2}f\left(x\right)$, or
 the Hessian of the $i$th constraint function ${\nabla}^{2}{g}_{i}\left(x\right)$
with
$1\le i\le {m}_{g}$.
In general, each of the symmetric
$n\times n$ Hessian matrices will have its own sparsity structure. These structures can be given in separate
e04rlf calls, or merged together in the Lagrangian and given in one call. The nonzero values of the Hessians at particular points will be communicated to the NLP solver by usersupplied functions (e.g.,
hess for
e04stf). The values will need to be provided in the order matching the sparsity pattern.
Note that the Hessians are automatically deleted whenever the underlying functions change. For example, if
e04rkf is called to redefine the nonlinear constraints, all individual constraints Hessians or Hessian of the Lagrangian would be deleted. If a nonlinear objective function was changed to linear, the Hessian of the objective function or of the Lagrangian would be deleted.
e04rlf can work either with individual Hessians or with the Hessian of the Lagrangian but not both. Therefore, if the Hessian of the Lagrangian was defined and
e04rlf was called to define an individual Hessian of the constraint, the Hessian of the Lagrangian would be removed, and vice versa. Hessians can be redefined by multiple calls of
e04rlf.
See
Section 3.1 in the
E04 Chapter Introduction for more details about the NAG optimization modelling suite.
None.
If on entry
${\mathbf{ifail}}=0$ or
$\mathrm{1}$, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
Not applicable.
Background information to multithreading can be found in the
Multithreading documentation.
Internal changes have been made to this routine as follows:
 At Mark 27.1: Previously, it was not possible to modify the Hessians once they were set or to edit the model once a solver had been called. These limitations have been removed and the associated error codes were removed.
For details of all known issues which have been reported for the NAG Library please refer to the
Known Issues.