Prev Next

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Hessian of an AD Function

Syntax
H = f.hessian(xw)

f
This is either a d_fun or a_fun function object. Upon return, the zero order Taylor coefficients in f correspond to the value of x . The other Taylor coefficients in f are unspecified.

f(x)
We use the notation @(@ f: \B{R}^n \rightarrow \B{R}^m @)@ for the function corresponding to f . Note that n is the size of ax and m is the size of ay in to the constructor for f .

g(x)
We use the notation @(@ g: \B{R}^n \rightarrow \B{R} @)@ for the function defined by @[@ g(x) = \sum_{i=0}^{n-1} w_i f_i (x) @]@

x
If f is a d_fun or a_fun, this argument has prototype
     const vec_double&   
x
     const vec_a_double& 
x
and its size must be n . It specifies the argument value at we are computing the Hessian @(@ g^{(2)}(x) @)@.

w
If f is a d_fun or a_fun, this argument has prototype
     const vec_double&   
w
     const vec_a_double& 
w
and its size must be m . It specifies the vector w in the definition of @(@ g(x) @)@ above.

H
If f is a d_fun or a_fun, the result has prototype
     vec_double   
H
     vec_a_double 
H
and its size is n*n . For i between zero and n-1 and j between zero and n-1 , @[@ H [ i * n + j ] = \frac{ \partial^2 g }{ \partial x_i \partial x_j } (x) @]@

Example
fun_hessian_xam.cpp
Input File: lib/cplusplus/fun.cpp