# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.analysis.differentiation.multivariate

## Class Hessian

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

public class Hessian
extends SymmetricMatrix
The Hessian matrix is the square matrix of the second-order partial derivatives of a multivariate function. Mathematically, the Hessian of a scalar function is an $$n \times n$$ matrix, where n is the domain dimension of f. For a scalar function f, we have $H(f) = \begin{bmatrix} \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^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 & \ddots & \vdots \\ \\ \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 Hessian matrix numerically using the finite difference method. We assume that the function f is continuous so the Hessian matrix is square and symmetric.

Wikipedia: Hessian matrix
• ### Constructor Summary

Constructors
Constructor and Description
Hessian(RealScalarFunction f, Vector x)
Construct the Hessian matrix for a multivariate function f 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

• #### Hessian

public Hessian(RealScalarFunction f,
Vector x)
Construct the Hessian matrix for a multivariate function f at point x.
Parameters:
f - a multivariate function
x - the point to evaluate the Hessian of f at