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

package org.apache.commons.math3.analysis.differentiation

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 differentiation 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 differentiate a simple `UnivariateFunction` and get a `UnivariateDifferentiableFunction`.

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

Related Packages
Package
Description
org.apache.commons.math3.analysis
Parent package for common numerical analysis procedures, including root finding, function interpolation and integration.
org.apache.commons.math3.analysis.function
The `function` package contains function objects that wrap the methods contained in `Math`, as well as common mathematical functions such as the gaussian and sinc functions.
org.apache.commons.math3.analysis.integration
Numerical integration (quadrature) algorithms for univariate real functions.
org.apache.commons.math3.analysis.interpolation
Univariate real functions interpolation algorithms.
org.apache.commons.math3.analysis.polynomials
Univariate real polynomials implementations, seen as differentiable univariate real functions.
org.apache.commons.math3.analysis.solvers
Root finding algorithms, for univariate real functions.
Class
Description
DerivativeStructure
Class representing both the value and the differentials of a function.
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.
MultivariateDifferentiableFunction
Extension of `MultivariateFunction` representing a multivariate differentiable real function.
MultivariateDifferentiableVectorFunction
Extension of `MultivariateVectorFunction` representing a multivariate differentiable vectorial function.
SparseGradient
First derivative computation with large number of variables.
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.