# Package org.apache.commons.math3.analysis.differentiation

This package holds the main interfaces and basic building block classes dealing with differentiation.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  MultivariateDifferentiableFunction | Extension of `MultivariateFunction` representing a multivariate differentiable real function.
  MultivariateDifferentiableVectorFunction | Extension of `MultivariateVectorFunction` representing a multivariate differentiable vectorial function.
  UnivariateDifferentiableFunction | Interface for univariate functions derivatives.
  UnivariateDifferentiableMatrixFunction | Extension of `UnivariateMatrixFunction` representing a univariate differentiable matrix function.
  UnivariateDifferentiableVectorFunction | Extension of `UnivariateVectorFunction` representing a univariate differentiable vectorial function.
  UnivariateFunctionDifferentiator | Interface defining the function differentiation operation.
  UnivariateMatrixFunctionDifferentiator | Interface defining the function differentiation operation.
  UnivariateVectorFunctionDifferentiator | Interface defining the function differentiation operation.

- Class Summary
  Class | Description
  --- | ---
  DerivativeStructure | Class representing both the value and the differentials of a function.
  DerivativeStructure.DataTransferObject | Internal class used only for serialization.
  DSCompiler | Class holding "compiled" computation rules for derivative structures.
  FiniteDifferencesDifferentiator | Univariate functions differentiator using finite differences.
  GradientFunction | Class representing the gradient of a multivariate function.
  JacobianFunction | Class representing the Jacobian of a multivariate vector function.

## Package org.apache.commons.math3.analysis.differentiation Description

This package holds the main interfaces and basic building block classes dealing with differentiation. The core class is `DerivativeStructure` which holds the value and the differentials of a function. This class handles some arbitrary number of free parameters and arbitrary derivation order. It is used both as the input and the output type for the `UnivariateDifferentiableFunction` interface. Any differentiable function should implement this interface.

The `UnivariateFunctionDifferentiator` interface defines a way to differentiation a simple `UnivariateFunction` and get a `UnivariateDifferentiableFunction`.

Similar interfaces also exist for multivariate functions and for vector or matrix valued functions.

Copyright (c) 2003-2013 Apache Software Foundation