# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.analysis.differentiation.multivariate

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

Wikipedia: Bordered Hessian
• ### Constructor Summary

Constructors
Constructor and Description
BorderedHessian(RealScalarFunction f, RealScalarFunction g, Vector x)
Construct the bordered Hessian matrix for multivariate functions f and g at point x.

• ### Methods inherited from class com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.dense.triangle.SymmetricMatrix

add, deepCopy, equals, get, getColumn, getRow, hashCode, minus, multiply, multiply, nCols, nRows, ONE, opposite, scaled, set, t, toDense, toString, ZERO
• ### Methods inherited from class java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
• ### 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