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 invalid input: '&' \frac{\partial g}{\partial x_1} invalid input: '&' \frac{\partial g}{\partial x_2} invalid input: '&' \cdots invalid input: '&' \frac{\partial g}{\partial x_n} \\ \\ \frac{\partial g}{\partial x_1} invalid input: '&' \frac{\partial^2 f}{\partial x_1^2} invalid input: '&' \frac{\partial^2 f}{\partial x_1\,\partial x_2} invalid input: '&' \cdots invalid input: '&' \frac{\partial^2 f}{\partial x_1\,\partial x_n} \\ \\ \frac{\partial g}{\partial x_2} invalid input: '&' \frac{\partial^2 f}{\partial x_2\,\partial x_1} invalid input: '&' \frac{\partial^2 f}{\partial x_2^2} invalid input: '&' \cdots invalid input: '&' \frac{\partial^2 f}{\partial x_2\,\partial x_n} \\ \\ \vdots invalid input: '&' \vdots invalid input: '&' \vdots invalid input: '&' \ddots invalid input: '&' \vdots \\ \\ \frac{\partial g}{\partial x_n} invalid input: '&' \frac{\partial^2 f}{\partial x_n\,\partial x_1} invalid input: '&' \frac{\partial^2 f}{\partial x_n\,\partial x_2} invalid input: '&' \cdots invalid input: '&' \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:
  • Constructor Details

    • 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.
      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