SuanShu, a Java numerical and statistical library

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

java.lang.Object
  extended by com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixMathImpl<T>
      extended by com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixStorageImpl<DenseMatrix>
          extended by com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.DenseMatrix
              extended by com.numericalmethod.suanshu.analysis.differentiation.multivariate.Jacobian
All Implemented Interfaces:
DeepCopyable, AbelianGroup<Matrix>, Monoid<Matrix>, Ring<Matrix>, Matrix, MatrixAccessor, MatrixRing, Densifiable, MatrixDimension

public class Jacobian
extends DenseMatrix

The Jacobian matrix is the matrix of all first-order partial derivatives of a vector-valued function.

For a Rn->Rm function, we have

      |∂y1         ∂y1  |
      |----, ..., ----  |
      |∂x1         ∂xn  |
      |  .              |
 J =  |  .              |
      |  .              |
      |∂ym         ∂ym  |
      |----, ..., ----  |
      |∂x1         ∂xn  |
 

The Jacobian matrix is computed numerically using the finite difference method.

See Also:
FiniteDifference, Wikipedia: Jacobian matrix and determinant

Constructor Summary
Jacobian(RealVectorFunction f, double... x)
          Construct an m x n Jacobian matrix for a multivariate function f at point x, where m is the dimension of the function range, and n the dimension of the function domain.
 
Method Summary
 double determinant()
          Compute the Jacobian determinant or simply the "Jacobian".
 
Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.DenseMatrix
add, deepCopy, getColumn, getColumn, getMatrixData, getRow, getRow, getSample, minus, multiply, multiply, ONE, overwrite, scaled, t, toDense, ZERO
 
Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixStorageImpl
equals, get, hashCode, set, setMatrixData
 
Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixMathImpl
add, call, minus, multiply, nCols, nRows, opposite, setColumn, setColumn, setRow, setRow, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Jacobian

public Jacobian(RealVectorFunction f,
                double... x)
Construct an m x n Jacobian matrix for a multivariate function f at point x, where m is the dimension of the function range, and n the dimension of the function domain.

Parameters:
f - a multivariate function
x - the point to compute the Jacobian matrix at
Method Detail

determinant

public double determinant()
Compute the Jacobian determinant or simply the "Jacobian".

Returns:
the Jacobian determinant

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.