ihessian
Hessian of a multivariate, scalarvalued function using the complexstep and central difference approximations.
Back to Numerical Differentiation Toolbox Contents.
Contents
Syntax
H = ihessian(f,x0) H = ihessian(f,x0,hi,hc)
Description
H = ihessian(f,x0) numerically evaluates the Hessian of with respect to at using a hybrid of complexstep and central difference approximations with default step sizes of (an absolute step size) and (a relative step size), respectively, where is the machine zero.
H = ihessian(f,x0,hi,hc) numerically evaluates the Hessian of with respect to at using a hybrid of complexstep and central difference approximations with userspecified step sizes and , respectively.
Input/Output Parameters
Variable  Symbol  Description  Format  
Input  f  multivariate, scalarvalued function ()  1×1 function_handle 

x0  evaluation point  n×1 double 

hi  (OPTIONAL) step size for complexstep approximation  1×1 double 

hc  (OPTIONAL) relative step size for central difference approximation  1×1 double 

Output  H  Hessian of with respect to , evaluated at  n×n double 
Note
 This function requires evaluations of .
Example
Approximate the Hessian of at using the ihessian function, and compare the result to the true result of
Approximating the Hessian,
f = @(x) x(1)^5*x(2)+x(1)*sin(x(2))^3; x0 = [5;8]; H = ihessian(f,x0)
H = 1.0e+04 * 2.0000 0.3125 0.3125 0.0014
Calculating the error,
error = H[20*5^3*8,5*5^4+3*sin(8)^2*cos(8);5*5^4+3*sin(8)^2*cos(8),...
6*5*sin(8)*cos(8)^23*5*sin(8)^3]
error = 1.0e05 * 0.1036 0.0011 0.0011 0.0049