Prev | Next |
hes = f.Hessian(x, w)
hes = f.Hessian(x, l)
f
.
The syntax above sets
hes
to the Hessian
The syntax above sets
h
to the Hessian
@[@
hes = \dpow{2}{x} \sum_{i=1}^m w_i F_i (x)
@]@
The routine sparse_hessian
may be faster in the case
where the Hessian is sparse.
f
has prototype
ADFun<Base> f
Note that the ADFun
object
f
is not const
(see Hessian Uses Forward
below).
x
has prototype
const Vector &x
(see Vector
below)
and its size
must be equal to
n
, the dimension of the
domain
space for
f
.
It specifies
that point at which to evaluate the Hessian.
l
is present, it has prototype
size_t l
and is less than
m
, the dimension of the
range
space for
f
.
It specifies the component of
F
for which we are evaluating the Hessian.
To be specific, in the case where the argument
l
is present,
@[@
w_i = \left\{ \begin{array}{ll}
1 & i = l \\
0 & {\rm otherwise}
\end{array} \right.
@]@
w
is present, it has prototype
const Vector &w
and size @(@
m
@)@.
It specifies the value of @(@
w_i
@)@ in the expression
for
h
.
hes
has prototype
Vector hes
(see Vector
below)
and its size is @(@
n * n
@)@.
For @(@
j = 0 , \ldots , n - 1
@)@
and @(@
\ell = 0 , \ldots , n - 1
@)@
@[@
hes [ j * n + \ell ] = \DD{ w^{\rm T} F }{ x_j }{ x_\ell } ( x )
@]@
Vector
must be a SimpleVector
class with
elements of type
Base
.
The routine CheckSimpleVector
will generate an error message
if this is not the case.
f
contains the corresponding
Taylor coefficients
.
After a call to Hessian
,
the zero order Taylor coefficients correspond to
f.Forward(0, x)
and the other coefficients are unspecified.
Hessian
.
They return true
, if they succeed and false
otherwise.