Class BorderedHessian

  • All Implemented Interfaces:
    Matrix, MatrixAccess, MatrixRing, MatrixTable, Densifiable, AbelianGroup<Matrix>, Monoid<Matrix>, Ring<Matrix>, Table, DeepCopyable

    public class BorderedHessian
    extends SymmetricMatrix
    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.

    See Also:
    Wikipedia: Bordered Hessian
    • Constructor Detail

      • BorderedHessian

        public BorderedHessian​(RealScalarFunction f,
                               RealScalarFunction g,
                               Vector x)
        Construct the bordered Hessian matrix for multivariate functions f and g at point x. The dimension is \((n+1) \times (n+1)\), where n is the domain dimension of both f and g.
        Parameters:
        f - a multivariate function, usually an objective function
        g - a multivariate function, usually a constraint function
        x - the point to evaluate the bordered Hessian at