Hessian matrix: hessian

### 6.21.3 Hessian matrix: hessian

Recall, the Hessian of a function F of n variables x1,…,xn is the matrix of second order derivatives:

⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ |
∂2 F
∂ x12
| ⋯ |
∂2 F
∂ x1∂ xn
⋮ | ⋮ | ⋮
∂2 F
∂ xn ∂ x1
| ⋯ |
∂2 F
∂ xn2
| ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

The hessian command computes the Hessian of a function.

- hessian takes two arguments:
  - expr, an expression involving several variables.
  - vars, a list of the variable names.
- hessian(expr,vars) returns the Hessian of the expression.

Examples.

- Find the Hessian matrix of F(x,y,z)=2x2y−xz3.
  Input:
  hessian(2*x^2*y-x*z^3 , [x,y,z])
  Output:

  ⎡ ⎢ ⎢ ⎣ |
  4 y | 4 x | −3 z2
  2· 2 x | 0 | 0
  −3 z2 | 0 | −2· 3 x z
  | ⎤ ⎥ ⎥ ⎦

- To get the Hessian matrix at the critical points:
  Input:
  solve(derive(2*x^2*y-x*z^3,[x,y,z]),[x,y,z])
  Output (the critical points):

  ⎡ ⎣ | ⎡ ⎣ | 0,y,0 | ⎤ ⎦ | ⎤ ⎦

  Input (to evaluate the Hessian at these points):
  subst([[4*y,4*x,-(3*z^2)],[2*2*x,0,0], [-(3*z^2),0,6*x*z]],[x,y,z],[0,y,0])
  Output:

  ⎡ ⎢ ⎢ ⎣ |
  4 y | 0 | 0
  0 | 0 | 0
  0 | 0 | 0
  | ⎤ ⎥ ⎥ ⎦