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, x is a numpy vector with float (a_double) elements and size 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, w is a numpy vector with float (a_double) elements and size m . It specifies the vector w in the definition of @(@ g(x) @)@ above.

H
The result is a numpy matrix with float (a_double) elements, n rows and n columns. For i between zero and n-1 and j between zero and n-1 , @[@ H [ i, j ] = \frac{ \partial^2 g }{ \partial x_i \partial x_j } (x) @]@

Example
fun_hessian_xam.py
Input File: lib/python/fun_hessian.py