com.numericalmethod.suanshu.analysis.differentiation.multivariate
Class BorderedHessian
java.lang.Object
com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixMathImpl<T>
com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixStorageImpl<SymmetricMatrix>
com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.triangle.SymmetricMatrix
com.numericalmethod.suanshu.analysis.differentiation.multivariate.BorderedHessian
- All Implemented Interfaces:
- DeepCopyable, AbelianGroup<Matrix>, Monoid<Matrix>, Ring<Matrix>, Matrix, MatrixAccessor, MatrixRing, Densifiable, MatrixDimension
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
|
| ∂g ∂g |
| 0 ----, ..., ---- |
| ∂x1 ∂xn |
| ∂g ∂f ∂f |
H(f,g) = |---- ----, ..., ---- |
| ∂x1 ∂x21 ∂x1∂xn |
| . . |
| . . |
| . . |
| ∂g ∂f ∂f |
|---- ----, ..., ---- |
| ∂xn ∂xn∂x1 ∂x2∂xn |
The bordered Hessian matrix is computed numerically using the finite difference method.
- See Also:
FiniteDifference,
Wikipedia: Bordered Hessian
| Fields inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.triangle.SymmetricMatrix |
dim |
|
Method Summary |
double |
discriminant()
Compute the determinant of the bordered Hessian at x. |
| Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.triangle.SymmetricMatrix |
add, deepCopy, equals, get, getColumn, getRow, hashCode, minus, ONE, scaled, set, t, toDense, toString, ZERO |
| Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixMathImpl |
add, call, getSample, minus, multiply, multiply, nCols, nRows, opposite, setColumn, setColumn, setRow, setRow |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
g
public final RealScalarFunction g
- the multivariate function
g, usually a constraint function
BorderedHessian
public BorderedHessian(RealScalarFunction f,
RealScalarFunction g,
double... x)
- Construct a bordered Hessian matrix for multivariate functions
f and g at point x.
The dimension is (n+1) x (n+1),
where n is the domain dimension of both f and g.
- Parameters:
f - a multivariate function, usually an objective functiong - a multivariate function, usually a constraint functionx - the point to evaluate the bordered Hessian at
discriminant
public double discriminant()
- Compute the determinant of the bordered Hessian at
x.
- Returns:
- the discriminant
Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.