A bordered Hessian matrix consists of the Hessian of a multivariate function
f,
and the gradient of a multivariate function
g.
We assume that the function
f is continuous so that the bordered Hessian matrix is square and symmetric.
For scalar functions
f and
g, we have
\[
H(f,g) = \begin{bmatrix}
0 & \frac{\partial g}{\partial x_1} & \frac{\partial g}{\partial x_2} & \cdots & \frac{\partial g}{\partial x_n} \\ \\
\frac{\partial g}{\partial x_1} & \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\,\partial x_n} \\ \\
\frac{\partial g}{\partial x_2} & \frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2\,\partial x_n} \\ \\
\vdots & \vdots & \vdots & \ddots & \vdots \\ \\
\frac{\partial g}{\partial x_n} & \frac{\partial^2 f}{\partial x_n\,\partial x_1} & \frac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}
\]
This implementation computes the bordered Hessian matrix numerically using the finite difference method.