SuanShu, a Java numerical and statistical library



com.numericalmethod.suanshu.analysis.differentiation.multivariate
Class BorderedHessian

java.lang.Object
  extended by com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.dense.triangle.SymmetricMatrix
      extended by com.numericalmethod.suanshu.analysis.differentiation.multivariate.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 Summary
BorderedHessian(RealScalarFunction f, RealScalarFunction g, Vector x)
          Construct the bordered Hessian matrix for multivariate functions f and g at point x.
 
Method Summary
 
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


Copyright © 2010-2014 Numerical Method Incorporation Limited. All Rights Reserved.