Update userguide.
Some links are still broken (due to the refactoring).
This commit is contained in:
parent
a368d71847
commit
ffcdf39f8f
|
@ -88,13 +88,13 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="4.3 Root-finding" href="rootfinding">
|
<subsection name="4.3 Root-finding" href="rootfinding">
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/solvers/UnivariateSolver.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/UnivariateSolver.html">
|
||||||
UnivariateSolver</a>, <a href="../apidocs/org/apache/commons/math4/analysis/solvers/UnivariateDifferentiableSolver.html">
|
UnivariateSolver</a>, <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/UnivariateDifferentiableSolver.html">
|
||||||
UnivariateDifferentiableSolver</a> and <a href="../apidocs/org/apache/commons/math4/analysis/solvers/PolynomialSolver.html">
|
UnivariateDifferentiableSolver</a> and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/PolynomialSolver.html">
|
||||||
PolynomialSolver</a> provide means to find roots of
|
PolynomialSolver</a> provide means to find roots of
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a>,
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiable.html">differentiable univariate real-valued functions</a>,
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiable.html">differentiable univariate real-valued functions</a>,
|
||||||
and <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.html">polynomial functions</a> respectively.
|
and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.html">polynomial functions</a> respectively.
|
||||||
A root is the value where the function takes the value 0. Commons-Math
|
A root is the value where the function takes the value 0. Commons-Math
|
||||||
includes implementations of the several root-finding algorithms:
|
includes implementations of the several root-finding algorithms:
|
||||||
</p>
|
</p>
|
||||||
|
@ -102,85 +102,85 @@
|
||||||
<tr BGCOLOR="#CCCCFF"><td colspan="5"><font size="+1">Root solvers</font></td></tr>
|
<tr BGCOLOR="#CCCCFF"><td colspan="5"><font size="+1">Root solvers</font></td></tr>
|
||||||
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Function type</td><td>Convergence</td><td>Needs initial bracketing</td><td>Bracket side selection</td></font></tr>
|
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Function type</td><td>Convergence</td><td>Needs initial bracketing</td><td>Bracket side selection</td></font></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/BisectionSolver.html">Bisection</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BisectionSolver.html">Bisection</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>linear, guaranteed</td>
|
<td>linear, guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/BrentSolver.html">Brent-Dekker</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BrentSolver.html">Brent-Dekker</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>super-linear, guaranteed</td>
|
<td>super-linear, guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing n<sup>th</sup> order Brent</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing n<sup>th</sup> order Brent</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>variable order, guaranteed</td>
|
<td>variable order, guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/IllinoisSolver.html">Illinois Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/IllinoisSolver.html">Illinois Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>super-linear, guaranteed</td>
|
<td>super-linear, guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/LaguerreSolver.html">Laguerre's Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/LaguerreSolver.html">Laguerre's Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.html">polynomial functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.html">polynomial functions</a></td>
|
||||||
<td>cubic for simple root, linear for multiple root</td>
|
<td>cubic for simple root, linear for multiple root</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/MullerSolver.html">Muller's Method</a> using bracketing to deal with real-valued functions</td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/MullerSolver.html">Muller's Method</a> using bracketing to deal with real-valued functions</td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>quadratic close to roots</td>
|
<td>quadratic close to roots</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/MullerSolver2.html">Muller's Method</a> using modulus to deal with real-valued functions</td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/MullerSolver2.html">Muller's Method</a> using modulus to deal with real-valued functions</td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>quadratic close to root</td>
|
<td>quadratic close to root</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">differentiable univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">differentiable univariate real-valued functions</a></td>
|
||||||
<td>quadratic, non-guaranteed</td>
|
<td>quadratic, non-guaranteed</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/PegasusSolver.html">Pegasus Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/PegasusSolver.html">Pegasus Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>super-linear, guaranteed</td>
|
<td>super-linear, guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/RegulaFalsiSolver.html">Regula Falsi (false position) Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/RegulaFalsiSolver.html">Regula Falsi (false position) Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>linear, guaranteed</td>
|
<td>linear, guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/RiddersSolver.html">Ridder's Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/RiddersSolver.html">Ridder's Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>super-linear</td>
|
<td>super-linear</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/SecantSolver.html">Secant Method</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/SecantSolver.html">Secant Method</a></td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
|
||||||
<td>super-linear, non-guaranteed</td>
|
<td>super-linear, non-guaranteed</td>
|
||||||
<td>yes</td>
|
<td>yes</td>
|
||||||
<td>no</td>
|
<td>no</td>
|
||||||
|
@ -236,9 +236,9 @@
|
||||||
ill-conditioned problems is to be solved, this number can be decreased in order
|
ill-conditioned problems is to be solved, this number can be decreased in order
|
||||||
to avoid wasting time.
|
to avoid wasting time.
|
||||||
<a
|
<a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/solvers/BracketedUnivariateSolver.html">Bracketed
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BracketedUnivariateSolver.html">Bracketed
|
||||||
solvers</a> also take an <a
|
solvers</a> also take an <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/solvers/AllowedSolution.html">allowed solution</a>
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/AllowedSolution.html">allowed solution</a>
|
||||||
enum parameter to specify which side of the final convergence interval should be
|
enum parameter to specify which side of the final convergence interval should be
|
||||||
selected as the root. It can be <code>ANY_SIDE</code>, <code>LEFT_SIDE</code>, <code>RIGHT_SIDE</code>,
|
selected as the root. It can be <code>ANY_SIDE</code>, <code>LEFT_SIDE</code>, <code>RIGHT_SIDE</code>,
|
||||||
<code>BELOW_SIDE</code> or <code>ABOVE_SIDE</code>. Left and right are used to specify the root along
|
<code>BELOW_SIDE</code> or <code>ABOVE_SIDE</code>. Left and right are used to specify the root along
|
||||||
|
@ -372,13 +372,13 @@ double c = UnivariateSolverUtils.forceSide(100, function,
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="4.4 Interpolation" href="interpolation">
|
<subsection name="4.4 Interpolation" href="interpolation">
|
||||||
<p>
|
<p>
|
||||||
A <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/UnivariateInterpolator.html">
|
A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/UnivariateInterpolator.html">
|
||||||
UnivariateInterpolator</a> is used to find a univariate real-valued
|
UnivariateInterpolator</a> is used to find a univariate real-valued
|
||||||
function <code>f</code> which for a given set of ordered pairs
|
function <code>f</code> which for a given set of ordered pairs
|
||||||
(<code>x<sub>i</sub></code>,<code>y<sub>i</sub></code>) yields
|
(<code>x<sub>i</sub></code>,<code>y<sub>i</sub></code>) yields
|
||||||
<code>f(x<sub>i</sub>)=y<sub>i</sub></code> to the best accuracy possible. The result
|
<code>f(x<sub>i</sub>)=y<sub>i</sub></code> to the best accuracy possible. The result
|
||||||
is provided as an object implementing the <a
|
is provided as an object implementing the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">
|
||||||
UnivariateFunction</a> interface. It can therefore be evaluated at any point,
|
UnivariateFunction</a> interface. It can therefore be evaluated at any point,
|
||||||
including point not belonging to the original set.
|
including point not belonging to the original set.
|
||||||
Currently, only an interpolator for generating natural cubic splines and a polynomial
|
Currently, only an interpolator for generating natural cubic splines and a polynomial
|
||||||
|
@ -435,7 +435,7 @@ System.out println("f(" + interpolationX + ") = " + interpolatedY);</source>
|
||||||
<p>
|
<p>
|
||||||
<a href="http://en.wikipedia.org/wiki/Hermite_interpolation">Hermite interpolation</a>
|
<a href="http://en.wikipedia.org/wiki/Hermite_interpolation">Hermite interpolation</a>
|
||||||
is an interpolation method that can use derivatives in addition to function values at sample points. The <a
|
is an interpolation method that can use derivatives in addition to function values at sample points. The <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/interpolation/HermiteInterpolator.html">HermiteInterpolator</a>
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/HermiteInterpolator.html">HermiteInterpolator</a>
|
||||||
class implements this method for vector-valued functions. The sampling points can have any spacing (there are
|
class implements this method for vector-valued functions. The sampling points can have any spacing (there are
|
||||||
no requirements for a regular grid) and some points may provide derivatives while others don't provide them
|
no requirements for a regular grid) and some points may provide derivatives while others don't provide them
|
||||||
(or provide derivatives to a smaller order). Points are added one at a time, as shown in the following example:
|
(or provide derivatives to a smaller order). Points are added one at a time, as shown in the following example:
|
||||||
|
@ -454,13 +454,13 @@ System.out.println("derivative at x = 0.5: " + interpolator.derivative(0.5)[0]);
|
||||||
// should print "interpolation polynomial: 1 + 2 x + 4 x^2 - 4 x^3 + x^4"
|
// should print "interpolation polynomial: 1 + 2 x + 4 x^2 - 4 x^3 + x^4"
|
||||||
System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[0]);</source>
|
System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[0]);</source>
|
||||||
<p>
|
<p>
|
||||||
A <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/BivariateGridInterpolator.html">
|
A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/BivariateGridInterpolator.html">
|
||||||
BivariateGridInterpolator</a> is used to find a bivariate real-valued
|
BivariateGridInterpolator</a> is used to find a bivariate real-valued
|
||||||
function <code>f</code> which for a given set of tuples
|
function <code>f</code> which for a given set of tuples
|
||||||
(<code>x<sub>i</sub></code>,<code>y<sub>j</sub></code>,<code>f<sub>ij</sub></code>)
|
(<code>x<sub>i</sub></code>,<code>y<sub>j</sub></code>,<code>f<sub>ij</sub></code>)
|
||||||
yields <code>f(x<sub>i</sub>,y<sub>j</sub>)=f<sub>ij</sub></code> to the best accuracy
|
yields <code>f(x<sub>i</sub>,y<sub>j</sub>)=f<sub>ij</sub></code> to the best accuracy
|
||||||
possible. The result is provided as an object implementing the
|
possible. The result is provided as an object implementing the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/BivariateFunction.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/BivariateFunction.html">
|
||||||
BivariateFunction</a> interface. It can therefore be evaluated at any point,
|
BivariateFunction</a> interface. It can therefore be evaluated at any point,
|
||||||
including a point not belonging to the original set.
|
including a point not belonging to the original set.
|
||||||
The arrays <code>x<sub>i</sub></code> and <code>y<sub>j</sub></code> must be
|
The arrays <code>x<sub>i</sub></code> and <code>y<sub>j</sub></code> must be
|
||||||
|
@ -472,25 +472,25 @@ System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[
|
||||||
are computed from the function values sampled on a grid, as well as the values of the
|
are computed from the function values sampled on a grid, as well as the values of the
|
||||||
partial derivatives of the function at those grid points.
|
partial derivatives of the function at those grid points.
|
||||||
From two-dimensional data sampled on a grid, the
|
From two-dimensional data sampled on a grid, the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/interpolation/BicubicSplineInterpolator.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/BicubicSplineInterpolator.html">
|
||||||
BicubicSplineInterpolator</a> computes a
|
BicubicSplineInterpolator</a> computes a
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/interpolation/BicubicSplineInterpolatingFunction.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/BicubicSplineInterpolatingFunction.html">
|
||||||
bicubic interpolating function</a>.
|
bicubic interpolating function</a>.
|
||||||
Prior to computing an interpolating function, the
|
Prior to computing an interpolating function, the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/interpolation/SmoothingPolynomialBicubicSplineInterpolator.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/SmoothingPolynomialBicubicSplineInterpolator.html">
|
||||||
SmoothingPolynomialBicubicSplineInterpolator</a> class performs smoothing of
|
SmoothingPolynomialBicubicSplineInterpolator</a> class performs smoothing of
|
||||||
the data by computing the polynomial that best fits each of the one-dimensional
|
the data by computing the polynomial that best fits each of the one-dimensional
|
||||||
curves along each of the coordinate axes.
|
curves along each of the coordinate axes.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
A <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/TrivariateGridInterpolator.html">
|
A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/TrivariateGridInterpolator.html">
|
||||||
TrivariateGridInterpolator</a> is used to find a trivariate real-valued
|
TrivariateGridInterpolator</a> is used to find a trivariate real-valued
|
||||||
function <code>f</code> which for a given set of tuples
|
function <code>f</code> which for a given set of tuples
|
||||||
(<code>x<sub>i</sub></code>,<code>y<sub>j</sub></code>,<code>z<sub>k</sub></code>,
|
(<code>x<sub>i</sub></code>,<code>y<sub>j</sub></code>,<code>z<sub>k</sub></code>,
|
||||||
<code>f<sub>ijk</sub></code>)
|
<code>f<sub>ijk</sub></code>)
|
||||||
yields <code>f(x<sub>i</sub>,y<sub>j</sub>,z<sub>k</sub>)=f<sub>ijk</sub></code>
|
yields <code>f(x<sub>i</sub>,y<sub>j</sub>,z<sub>k</sub>)=f<sub>ijk</sub></code>
|
||||||
to the best accuracy possible. The result is provided as an object implementing the
|
to the best accuracy possible. The result is provided as an object implementing the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/TrivariateFunction.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/TrivariateFunction.html">
|
||||||
TrivariateFunction</a> interface. It can therefore be evaluated at any point,
|
TrivariateFunction</a> interface. It can therefore be evaluated at any point,
|
||||||
including a point not belonging to the original set.
|
including a point not belonging to the original set.
|
||||||
The arrays <code>x<sub>i</sub></code>, <code>y<sub>j</sub></code> and
|
The arrays <code>x<sub>i</sub></code>, <code>y<sub>j</sub></code> and
|
||||||
|
@ -503,41 +503,41 @@ System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[
|
||||||
are computed from the function values sampled on a grid, as well as the values of the
|
are computed from the function values sampled on a grid, as well as the values of the
|
||||||
partial derivatives of the function at those grid points.
|
partial derivatives of the function at those grid points.
|
||||||
From three-dimensional data sampled on a grid, the
|
From three-dimensional data sampled on a grid, the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/interpolation/TricubicSplineInterpolator.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/TricubicSplineInterpolator.html">
|
||||||
TricubicSplineInterpolator</a> computes a
|
TricubicSplineInterpolator</a> computes a
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/interpolation/TricubicSplineInterpolatingFunction.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/TricubicSplineInterpolatingFunction.html">
|
||||||
tricubic interpolating function</a>.
|
tricubic interpolating function</a>.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="4.5 Integration" href="integration">
|
<subsection name="4.5 Integration" href="integration">
|
||||||
<p>
|
<p>
|
||||||
A <a href="../apidocs/org/apache/commons/math4/analysis/integration/UnivariateIntegrator.html">
|
A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/UnivariateIntegrator.html">
|
||||||
UnivariateIntegrator</a> provides the means to numerically integrate
|
UnivariateIntegrator</a> provides the means to numerically integrate
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">
|
||||||
univariate real-valued functions</a>.
|
univariate real-valued functions</a>.
|
||||||
Commons-Math includes implementations of the following integration algorithms: <ul>
|
Commons-Math includes implementations of the following integration algorithms: <ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/analysis/integration/RombergIntegrator.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/RombergIntegrator.html">
|
||||||
Romberg's method</a></li>
|
Romberg's method</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/analysis/integration/SimpsonIntegrator.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/SimpsonIntegrator.html">
|
||||||
Simpson's method</a></li>
|
Simpson's method</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/analysis/integration/TrapezoidIntegrator.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/TrapezoidIntegrator.html">
|
||||||
trapezoid method</a></li>
|
trapezoid method</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/analysis/integration/LegendreGaussIntegrator.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/LegendreGaussIntegrator.html">
|
||||||
Legendre-Gauss method</a></li>
|
Legendre-Gauss method</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="4.6 Polynomials" href="polynomials">
|
<subsection name="4.6 Polynomials" href="polynomials">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/package-summary.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/package-summary.html">
|
||||||
org.apache.commons.math4.analysis.polynomials</a> package provides real
|
org.apache.commons.math4.analysis.polynomials</a> package provides real
|
||||||
coefficients polynomials.
|
coefficients polynomials.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.html">
|
||||||
PolynomialFunction</a> class is the most general one, using traditional
|
PolynomialFunction</a> class is the most general one, using traditional
|
||||||
coefficients arrays. The
|
coefficients arrays. The
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialsUtils.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialsUtils.html">
|
||||||
PolynomialsUtils</a> utility class provides static factory methods to build
|
PolynomialsUtils</a> utility class provides static factory methods to build
|
||||||
Chebyshev, Hermite, Jacobi, Laguerre and Legendre polynomials. Coefficients are
|
Chebyshev, Hermite, Jacobi, Laguerre and Legendre polynomials. Coefficients are
|
||||||
computed using exact fractions so these factory methods can build polynomials
|
computed using exact fractions so these factory methods can build polynomials
|
||||||
|
@ -546,21 +546,21 @@ System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="4.7 Differentiation" href="differentiation">
|
<subsection name="4.7 Differentiation" href="differentiation">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/package-summary.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/package-summary.html">
|
||||||
org.apache.commons.math4.analysis.differentiation</a> package provides a general-purpose
|
org.apache.commons.math4.analysis.differentiation</a> package provides a general-purpose
|
||||||
differentiation framework.
|
differentiation framework.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The core class is <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
|
The core class is <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
|
||||||
DerivativeStructure</a> which holds the value and the differentials of a function. This class
|
DerivativeStructure</a> 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
|
handles some arbitrary number of free parameters and arbitrary derivation order. It is used
|
||||||
both as the input and the output type for the <a
|
both as the input and the output type for the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">
|
||||||
UnivariateDifferentiableFunction</a> interface. Any differentiable function should implement this
|
UnivariateDifferentiableFunction</a> interface. Any differentiable function should implement this
|
||||||
interface.
|
interface.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The main idea behind the <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
|
The main idea behind the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
|
||||||
DerivativeStructure</a> class is that it can be used almost as a number (i.e. it can be added,
|
DerivativeStructure</a> class is that it can be used almost as a number (i.e. it can be added,
|
||||||
multiplied, its square root can be extracted or its cosine computed... However, in addition to
|
multiplied, its square root can be extracted or its cosine computed... However, in addition to
|
||||||
computed the value itself when doing these computations, the partial derivatives are also computed
|
computed the value itself when doing these computations, the partial derivatives are also computed
|
||||||
|
@ -577,7 +577,7 @@ System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[
|
||||||
<p>
|
<p>
|
||||||
The workflow of computation of a derivatives of an expression <code>y=f(x)</code> is the following
|
The workflow of computation of a derivatives of an expression <code>y=f(x)</code> is the following
|
||||||
one. First we configure an input parameter <code>x</code> of type <a
|
one. First we configure an input parameter <code>x</code> of type <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
|
||||||
DerivativeStructure</a> so it will drive the function to compute all derivatives up to order 3 for
|
DerivativeStructure</a> so it will drive the function to compute all derivatives up to order 3 for
|
||||||
example. Then we compute <code>y=f(x)</code> normally by passing this parameter to the f function.At
|
example. Then we compute <code>y=f(x)</code> normally by passing this parameter to the f function.At
|
||||||
the end, we extract from <code>y</code> the value and the derivatives we want. As we have specified
|
the end, we extract from <code>y</code> the value and the derivatives we want. As we have specified
|
||||||
|
@ -667,28 +667,28 @@ System.out.println("d2g/dxdy = " + g.getPartialDerivative(1, 1);
|
||||||
System.out.println("d2g/dy2 = " + g.getPartialDerivative(0, 2);</source>
|
System.out.println("d2g/dy2 = " + g.getPartialDerivative(0, 2);</source>
|
||||||
<p>
|
<p>
|
||||||
There are several ways a user can create an implementation of the <a
|
There are several ways a user can create an implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">
|
||||||
UnivariateDifferentiableFunction</a> interface. The first method is to simply write it directly using
|
UnivariateDifferentiableFunction</a> interface. The first method is to simply write it directly using
|
||||||
the appropriate methods from <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
|
the appropriate methods from <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
|
||||||
DerivativeStructure</a> to compute addition, subtraction, sine, cosine... This is often quite
|
DerivativeStructure</a> to compute addition, subtraction, sine, cosine... This is often quite
|
||||||
straigthforward and there is no need to remember the rules for differentiation: the user code only
|
straigthforward and there is no need to remember the rules for differentiation: the user code only
|
||||||
represent the function itself, the differentials will be computed automatically under the hood. The
|
represent the function itself, the differentials will be computed automatically under the hood. The
|
||||||
second method is to write a classical <a
|
second method is to write a classical <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">UnivariateFunction</a> and to
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">UnivariateFunction</a> and to
|
||||||
pass it to an existing implementation of the <a
|
pass it to an existing implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateFunctionDifferentiator.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateFunctionDifferentiator.html">
|
||||||
UnivariateFunctionDifferentiator</a> interface to retrieve a differentiated version of the same function.
|
UnivariateFunctionDifferentiator</a> interface to retrieve a differentiated version of the same function.
|
||||||
The first method is more suited to small functions for which user already control all the underlying code.
|
The first method is more suited to small functions for which user already control all the underlying code.
|
||||||
The second method is more suited to either large functions that would be cumbersome to write using the
|
The second method is more suited to either large functions that would be cumbersome to write using the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
|
||||||
DerivativeStructure</a> API, or functions for which user does not have control to the full underlying code
|
DerivativeStructure</a> API, or functions for which user does not have control to the full underlying code
|
||||||
(for example functions that call external libraries).
|
(for example functions that call external libraries).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Apache Commons Math provides one implementation of the <a
|
Apache Commons Math provides one implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateFunctionDifferentiator.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateFunctionDifferentiator.html">
|
||||||
UnivariateFunctionDifferentiator</a> interface: <a
|
UnivariateFunctionDifferentiator</a> interface: <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/FiniteDifferencesDifferentiator.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/FiniteDifferencesDifferentiator.html">
|
||||||
FiniteDifferencesDifferentiator</a>. This class creates a wrapper that will call the user-provided function
|
FiniteDifferencesDifferentiator</a>. This class creates a wrapper that will call the user-provided function
|
||||||
on a grid sample and will use finite differences to compute the derivatives. It takes care of boundaries
|
on a grid sample and will use finite differences to compute the derivatives. It takes care of boundaries
|
||||||
if the variable is not defined on the whole real line. It is possible to use more points than strictly
|
if the variable is not defined on the whole real line. It is possible to use more points than strictly
|
||||||
|
@ -726,22 +726,22 @@ for (double x = -10; x < 10; x += 0.1) {
|
||||||
}</source>
|
}</source>
|
||||||
<p>
|
<p>
|
||||||
Note that using <a
|
Note that using <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/FiniteDifferencesDifferentiator.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/FiniteDifferencesDifferentiator.html">
|
||||||
FiniteDifferencesDifferentiator</a>a> in order to have a <a
|
FiniteDifferencesDifferentiator</a>a> in order to have a <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">
|
||||||
UnivariateDifferentiableFunction</a> that can be provided to a <a href="../apidocs/org/apache/commons/math4/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a>
|
UnivariateDifferentiableFunction</a> that can be provided to a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a>
|
||||||
solver is a very bad idea. The reason is that finite differences are not really accurate and needs lots
|
solver is a very bad idea. The reason is that finite differences are not really accurate and needs lots
|
||||||
of additional calls to the basic underlying function. If user initially have only the basic function
|
of additional calls to the basic underlying function. If user initially have only the basic function
|
||||||
available and needs to find its roots, it is <em>much</em> more accurate and <em>much</em> more
|
available and needs to find its roots, it is <em>much</em> more accurate and <em>much</em> more
|
||||||
efficient to use a solver that only requires the function values and not the derivatives. A good choice is
|
efficient to use a solver that only requires the function values and not the derivatives. A good choice is
|
||||||
to use <a href="../apidocs/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing
|
to use <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing
|
||||||
n<sup>th</sup> order Brent</a> method, which in fact converges faster than <a
|
n<sup>th</sup> order Brent</a> method, which in fact converges faster than <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a> and
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a> and
|
||||||
can be configured to a highere order (typically 5) than Newton-Raphson which is an order 2 method.
|
can be configured to a highere order (typically 5) than Newton-Raphson which is an order 2 method.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Another implementation of the <a
|
Another implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateFunctionDifferentiator.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateFunctionDifferentiator.html">
|
||||||
UnivariateFunctionDifferentiator</a> interface is under development in the related project
|
UnivariateFunctionDifferentiator</a> interface is under development in the related project
|
||||||
<a href="http://commons.apache.org/sandbox/nabla/">Apache Commons Nabla</a>. This implementation uses
|
<a href="http://commons.apache.org/sandbox/nabla/">Apache Commons Nabla</a>. This implementation uses
|
||||||
automatic code analysis and generation at binary level. However, at time of writing
|
automatic code analysis and generation at binary level. However, at time of writing
|
||||||
|
|
|
@ -33,12 +33,12 @@
|
||||||
Commons Math provides
|
Commons Math provides
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
an <a href="../apidocs/org/apache/commons/math4/legacy/distribution/EnumeratedDistribution.html">
|
an <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/distribution/EnumeratedDistribution.html">
|
||||||
EnumeratedDistribution</a> class that represents discrete distributions of a finite,
|
EnumeratedDistribution</a> class that represents discrete distributions of a finite,
|
||||||
enumerated set of values.
|
enumerated set of values.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
a <a href="../apidocs/org/apache/commons/math4/legacy/distribution/MultiVariateNormalDistribution.html">
|
a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/distribution/MultiVariateNormalDistribution.html">
|
||||||
MultivariateNormalDistribution</a> interface that represents multivariate Gaussian
|
MultivariateNormalDistribution</a> interface that represents multivariate Gaussian
|
||||||
distributions.
|
distributions.
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -53,28 +53,28 @@
|
||||||
<li>
|
<li>
|
||||||
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html">
|
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html">
|
||||||
<code>IllegalArgumentException</code></a>:
|
<code>IllegalArgumentException</code></a>:
|
||||||
A <a href="../apidocs/org/apache/commons/math4/exception/MathIllegalArgumentException.html">
|
A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalArgumentException.html">
|
||||||
<code>MathIllegalArgumentException</code></a> is thrown when some input
|
<code>MathIllegalArgumentException</code></a> is thrown when some input
|
||||||
parameter fails a precondition check.
|
parameter fails a precondition check.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html">
|
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html">
|
||||||
<code>IllegalStateException</code></a>:
|
<code>IllegalStateException</code></a>:
|
||||||
A <a href="../apidocs/org/apache/commons/math4/exception/MathIllegalStateException.html">
|
A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalStateException.html">
|
||||||
<code>MathIllegalStateException</code></a> is thrown when some inconsistency
|
<code>MathIllegalStateException</code></a> is thrown when some inconsistency
|
||||||
has been detected.
|
has been detected.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/MathArithmeticException.html">
|
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/MathArithmeticException.html">
|
||||||
<code>ArithmeticException</code></a>:
|
<code>ArithmeticException</code></a>:
|
||||||
A <a href="../apidocs/org/apache/commons/math4/exception/MathArithmeticException.html">
|
A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathArithmeticException.html">
|
||||||
<code>MathArithmeticException</code></a> is thrown when conditions such as
|
<code>MathArithmeticException</code></a> is thrown when conditions such as
|
||||||
"division by zero" or "overflow" are encountered.
|
"division by zero" or "overflow" are encountered.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/MathUnsupportedOperationException.html">
|
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/MathUnsupportedOperationException.html">
|
||||||
<code>UnsupportedOperationException</code></a>:
|
<code>UnsupportedOperationException</code></a>:
|
||||||
A <a href="../apidocs/org/apache/commons/math4/exception/MathUnsupportedOperationException.html">
|
A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathUnsupportedOperationException.html">
|
||||||
<code>MathUnsupportedOperationException</code></a> indicates that a feature
|
<code>MathUnsupportedOperationException</code></a> indicates that a feature
|
||||||
is missing or does not make sense in the given context.
|
is missing or does not make sense in the given context.
|
||||||
</li>
|
</li>
|
||||||
|
@ -101,11 +101,11 @@
|
||||||
<li>Exception "context"
|
<li>Exception "context"
|
||||||
<p>
|
<p>
|
||||||
Every exception generated by Commons Math implements the
|
Every exception generated by Commons Math implements the
|
||||||
<a href="../apidocs/org/apache/commons/math4/exception/util/ExceptionContextProvider.html">
|
<a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/util/ExceptionContextProvider.html">
|
||||||
ExceptionContextProvider</a> interface. A call to the
|
ExceptionContextProvider</a> interface. A call to the
|
||||||
<a href="../apidocs/org/apache/commons/math4/exception/util/ExceptionContextProvider.html#getContext()">
|
<a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/util/ExceptionContextProvider.html#getContext()">
|
||||||
getContext</a> method will return the
|
getContext</a> method will return the
|
||||||
<a href="../apidocs/org/apache/commons/math4/exception/util/ExceptionContext.html">
|
<a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/util/ExceptionContext.html">
|
||||||
ExceptionContext</a> instance stored in the exception, which the
|
ExceptionContext</a> instance stored in the exception, which the
|
||||||
user can further customize by adding messages and/or any object.
|
user can further customize by adding messages and/or any object.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -30,12 +30,12 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="17.2 Kalman Filter" href="kalman">
|
<subsection name="17.2 Kalman Filter" href="kalman">
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/filter/KalmanFilter.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/filter/KalmanFilter.html">
|
||||||
KalmanFilter</a> provides a discrete-time filter to estimate
|
KalmanFilter</a> provides a discrete-time filter to estimate
|
||||||
a stochastic linear process.</p>
|
a stochastic linear process.</p>
|
||||||
|
|
||||||
<p>A Kalman filter is initialized with a <a href="../apidocs/org/apache/commons/math4/filter/ProcessModel.html">
|
<p>A Kalman filter is initialized with a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/filter/ProcessModel.html">
|
||||||
ProcessModel</a> and a <a href="../apidocs/org/apache/commons/math4/filter/MeasurementModel.html">
|
ProcessModel</a> and a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/filter/MeasurementModel.html">
|
||||||
MeasurementModel</a>, which contain the corresponding transformation and noise covariance matrices.
|
MeasurementModel</a>, which contain the corresponding transformation and noise covariance matrices.
|
||||||
The parameter names used in the respective models correspond to the following names commonly used
|
The parameter names used in the respective models correspond to the following names commonly used
|
||||||
in the mathematical literature:
|
in the mathematical literature:
|
||||||
|
|
|
@ -46,15 +46,15 @@
|
||||||
appropriate class,
|
appropriate class,
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
call the <a href="../apidocs/org/apache/commons/math4/fitting/AbstractCurveFitter">fit</a>
|
call the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/AbstractCurveFitter">fit</a>
|
||||||
with a <code>Collection</code> of <a href="../apidocs/org/apache/commons/math4/fitting/WeightedObservedPoint.html">
|
with a <code>Collection</code> of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/WeightedObservedPoint.html">
|
||||||
observed data points</a> as argument, which will return an array with the parameters that
|
observed data points</a> as argument, which will return an array with the parameters that
|
||||||
best fit the given data points.
|
best fit the given data points.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
The list of observed data points to be passed to <code>fit</code> can be built by incrementally
|
The list of observed data points to be passed to <code>fit</code> can be built by incrementally
|
||||||
adding instances to an instance of <a href="../apidocs/org/apache/commons/math4/fitting/WeightedObservedPoints.html">WeightedObservedPoints</a>,
|
adding instances to an instance of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/WeightedObservedPoints.html">WeightedObservedPoints</a>,
|
||||||
and then retrieve the list of <code>WeightedObservedPoint</code> by calling the <code>toList</code>
|
and then retrieve the list of <code>WeightedObservedPoint</code> by calling the <code>toList</code>
|
||||||
method on that container.
|
method on that container.
|
||||||
A weight can be associated with each observed point; it allows to take into account uncertainty
|
A weight can be associated with each observed point; it allows to take into account uncertainty
|
||||||
|
@ -81,25 +81,25 @@
|
||||||
Fitting of specific functions are provided through the following classes:
|
Fitting of specific functions are provided through the following classes:
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/PolynomialCurveFitter.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/PolynomialCurveFitter.html">
|
||||||
PolynomialFitter</a> fits a
|
PolynomialFitter</a> fits a
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.Parametric.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.Parametric.html">
|
||||||
polynomial</a> function.
|
polynomial</a> function.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/HarmonicCurveFitter.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/HarmonicCurveFitter.html">
|
||||||
HarmonicFitter</a> fits a
|
HarmonicFitter</a> fits a
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/function/HarmonicOscillator.Parametric.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/function/HarmonicOscillator.Parametric.html">
|
||||||
harmonic</a> function.
|
harmonic</a> function.
|
||||||
An instance of the inner class <a href="../apidocs/org/apache/commons/math4/fitting/HarmonicCurveFitter.ParameterGuesser.html">
|
An instance of the inner class <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/HarmonicCurveFitter.ParameterGuesser.html">
|
||||||
ParameterGuesser</a> can be used to retrieve initial values for the fitting procedure.
|
ParameterGuesser</a> can be used to retrieve initial values for the fitting procedure.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/GaussianCurveFitter.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/GaussianCurveFitter.html">
|
||||||
GaussianFitter</a> fits a
|
GaussianFitter</a> fits a
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/function/Gaussian.Parametric.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/function/Gaussian.Parametric.html">
|
||||||
Gaussian</a> function.
|
Gaussian</a> function.
|
||||||
An instance of the inner class <a href="../apidocs/org/apache/commons/math4/fitting/GaussianCurveFitter.ParameterGuesser.html">
|
An instance of the inner class <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/GaussianCurveFitter.ParameterGuesser.html">
|
||||||
ParameterGuesser</a> can be used to retrieve initial values for the fitting procedure.
|
ParameterGuesser</a> can be used to retrieve initial values for the fitting procedure.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -129,11 +129,11 @@ final double[] coeff = fitter.fit(obs.toList());
|
||||||
|
|
||||||
<subsection name="13.3 General Case" href="general">
|
<subsection name="13.3 General Case" href="general">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/fitting/AbstractCurveFitter.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/AbstractCurveFitter.html">
|
||||||
AbstractCurveFitter</a> class provides the basic functionality for implementing other
|
AbstractCurveFitter</a> class provides the basic functionality for implementing other
|
||||||
curve fitting classes.
|
curve fitting classes.
|
||||||
Users must provide their own implementation of the curve template as a class that implements
|
Users must provide their own implementation of the curve template as a class that implements
|
||||||
the <a href="../apidocs/org/apache/commons/math4/analysis/ParametricUnivariateFunction.html">
|
the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/ParametricUnivariateFunction.html">
|
||||||
ParametricUnivariateFunction</a> interface.
|
ParametricUnivariateFunction</a> interface.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
|
@ -31,15 +31,15 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="16.2 GA Framework">
|
<subsection name="16.2 GA Framework">
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/genetics/GeneticAlgorithm.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/GeneticAlgorithm.html">
|
||||||
GeneticAlgorithm</a> provides an execution framework for Genetic Algorithms (GA).
|
GeneticAlgorithm</a> provides an execution framework for Genetic Algorithms (GA).
|
||||||
<a href="../apidocs/org/apache/commons/math4/genetics/Population.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/Population.html">
|
||||||
Populations,</a> consisting of <a href="../apidocs/org/apache/commons/math4/genetics/Chromosome.html">
|
Populations,</a> consisting of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/Chromosome.html">
|
||||||
Chromosomes</a> are evolved by the <code>GeneticAlgorithm</code> until a
|
Chromosomes</a> are evolved by the <code>GeneticAlgorithm</code> until a
|
||||||
<a href="../apidocs/org/apache/commons/math4/genetics/StoppingCondition.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/StoppingCondition.html">
|
||||||
StoppingCondition</a> is reached. Evolution is determined by <a href="../apidocs/org/apache/commons/math4/genetics/SelectionPolicy.html">
|
StoppingCondition</a> is reached. Evolution is determined by <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/SelectionPolicy.html">
|
||||||
SelectionPolicy</a>, <a href="../apidocs/org/apache/commons/math4/genetics/MutationPolicy.html">
|
SelectionPolicy</a>, <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/MutationPolicy.html">
|
||||||
MutationPolicy</a> and <a href="../apidocs/org/apache/commons/math4/genetics/Fitness.html">
|
MutationPolicy</a> and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/Fitness.html">
|
||||||
Fitness</a>.
|
Fitness</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -62,10 +62,10 @@
|
||||||
<ul><li>Apply configured <code>SelectionPolicy</code> to select a pair of parents
|
<ul><li>Apply configured <code>SelectionPolicy</code> to select a pair of parents
|
||||||
from <code>current</code></li>
|
from <code>current</code></li>
|
||||||
<li>With probability =
|
<li>With probability =
|
||||||
<a href="../apidocs/org/apache/commons/math4/genetics/GeneticAlgorithm.html#getCrossoverRate()">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/GeneticAlgorithm.html#getCrossoverRate()">
|
||||||
getCrossoverRate()</a>, apply configured <code>CrossoverPolicy</code> to parents</li>
|
getCrossoverRate()</a>, apply configured <code>CrossoverPolicy</code> to parents</li>
|
||||||
<li>With probability =
|
<li>With probability =
|
||||||
<a href="../apidocs/org/apache/commons/math4/genetics/GeneticAlgorithm.html#getMutationRate()">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/GeneticAlgorithm.html#getMutationRate()">
|
||||||
getMutationRate()</a>,
|
getMutationRate()</a>,
|
||||||
apply configured <code>MutationPolicy</code> to each of the offspring</li>
|
apply configured <code>MutationPolicy</code> to each of the offspring</li>
|
||||||
<li>Add offspring individually to nextGeneration,
|
<li>Add offspring individually to nextGeneration,
|
||||||
|
@ -104,27 +104,27 @@ Chromosome bestFinal = finalPopulation.getFittestChromosome();
|
||||||
<table>
|
<table>
|
||||||
<tr><th>Parameter</th><th>value in example</th><th>meaning</th></tr>
|
<tr><th>Parameter</th><th>value in example</th><th>meaning</th></tr>
|
||||||
<tr><td>crossoverPolicy</td>
|
<tr><td>crossoverPolicy</td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/genetics/OnePointCrossover.html">OnePointCrossover</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/OnePointCrossover.html">OnePointCrossover</a></td>
|
||||||
<td>A random crossover point is selected and the first part from each parent is copied to the corresponding
|
<td>A random crossover point is selected and the first part from each parent is copied to the corresponding
|
||||||
child, and the second parts are copied crosswise.</td></tr>
|
child, and the second parts are copied crosswise.</td></tr>
|
||||||
<tr><td>crossoverRate</td>
|
<tr><td>crossoverRate</td>
|
||||||
<td>1</td>
|
<td>1</td>
|
||||||
<td>Always apply crossover</td></tr>
|
<td>Always apply crossover</td></tr>
|
||||||
<tr><td>mutationPolicy</td>
|
<tr><td>mutationPolicy</td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/genetics/RandomKeyMutation.html">RandomKeyMutation</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/RandomKeyMutation.html">RandomKeyMutation</a></td>
|
||||||
<td>Changes a randomly chosen element of the array representation to a random value uniformly distributed in [0,1].</td></tr>
|
<td>Changes a randomly chosen element of the array representation to a random value uniformly distributed in [0,1].</td></tr>
|
||||||
<tr><td>mutationRate</td>
|
<tr><td>mutationRate</td>
|
||||||
<td>.1</td>
|
<td>.1</td>
|
||||||
<td>Apply mutation with probability 0.1 - that is, 10% of the time.</td></tr>
|
<td>Apply mutation with probability 0.1 - that is, 10% of the time.</td></tr>
|
||||||
<tr><td>selectionPolicy</td>
|
<tr><td>selectionPolicy</td>
|
||||||
<td><a href="../apidocs/org/apache/commons/math4/genetics/TournamentSelection.html">TournamentSelection</a></td>
|
<td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/TournamentSelection.html">TournamentSelection</a></td>
|
||||||
<td>Each of the two selected chromosomes is selected based on an n-ary tournament -- this is done by drawing
|
<td>Each of the two selected chromosomes is selected based on an n-ary tournament -- this is done by drawing
|
||||||
n random chromosomes without replacement from the population, and then selecting the fittest chromosome among them.</td></tr>
|
n random chromosomes without replacement from the population, and then selecting the fittest chromosome among them.</td></tr>
|
||||||
</table><br/>
|
</table><br/>
|
||||||
The algorithm starts with an <code>initial</code> population of <code>Chromosomes.</code> and executes until
|
The algorithm starts with an <code>initial</code> population of <code>Chromosomes.</code> and executes until
|
||||||
the specified <a href="../apidocs/org/apache/commons/math4/genetics/StoppingCondition.html">StoppingCondition</a>
|
the specified <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/StoppingCondition.html">StoppingCondition</a>
|
||||||
is reached. In the example above, a
|
is reached. In the example above, a
|
||||||
<a href="../apidocs/org/apache/commons/math4/genetics/FixedGenerationCount.html">FixedGenerationCount</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/FixedGenerationCount.html">FixedGenerationCount</a>
|
||||||
stopping condition is used, which means the algorithm proceeds through a fixed number of generations.
|
stopping condition is used, which means the algorithm proceeds through a fixed number of generations.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
|
@ -41,9 +41,9 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Two engines devoted to least-squares problems are available. The first one is
|
Two engines devoted to least-squares problems are available. The first one is
|
||||||
based on the <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/GaussNewtonOptimizer.html">
|
based on the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizer.html">
|
||||||
Gauss-Newton</a> method. The second one is the <a
|
Gauss-Newton</a> method. The second one is the <a
|
||||||
href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
|
||||||
Levenberg-Marquardt</a> method.
|
Levenberg-Marquardt</a> method.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
@ -67,12 +67,12 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The elements of the list above can be provided as an implementation of the
|
The elements of the list above can be provided as an implementation of the
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.html">
|
||||||
LeastSquaresProblem</a> interface. However, this is cumbersome to do directly, so some helper
|
LeastSquaresProblem</a> interface. However, this is cumbersome to do directly, so some helper
|
||||||
classes are available. The first helper is a mutable builder:
|
classes are available. The first helper is a mutable builder:
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresBuilder.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresBuilder.html">
|
||||||
LeastSquaresBuilder</a>. The second helper is an utility factory:
|
LeastSquaresBuilder</a>. The second helper is an utility factory:
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresFactory.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresFactory.html">
|
||||||
LeastSquaresFactory</a>.
|
LeastSquaresFactory</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -109,13 +109,13 @@
|
||||||
be available. There are two ways to provide this:
|
be available. There are two ways to provide this:
|
||||||
<ul>
|
<ul>
|
||||||
<li>provide one
|
<li>provide one
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>
|
||||||
instance for computing the components values and one
|
instance for computing the components values and one
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>
|
||||||
instance for computing the components derivatives (i.e. the Jacobian matrix) with
|
instance for computing the components derivatives (i.e. the Jacobian matrix) with
|
||||||
respect to the parameters,</li>
|
respect to the parameters,</li>
|
||||||
<li>or provide one
|
<li>or provide one
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
|
||||||
instance for computing both the components values and their derivatives simultaneously.</li>
|
instance for computing both the components values and their derivatives simultaneously.</li>
|
||||||
</ul>
|
</ul>
|
||||||
The first alternative is best suited for models which are not computationally intensive
|
The first alternative is best suited for models which are not computationally intensive
|
||||||
|
@ -125,16 +125,16 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The <code>point</code> parameter of the <code>value</code> methods in the
|
The <code>point</code> parameter of the <code>value</code> methods in the
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>,
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>,
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>,
|
||||||
or <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
|
or <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
|
||||||
interfaces will contain the parameters p<sub>k</sub>. The values will be the model components
|
interfaces will contain the parameters p<sub>k</sub>. The values will be the model components
|
||||||
model<sub>i</sub> and the derivatives will be the derivatives of the model components
|
model<sub>i</sub> and the derivatives will be the derivatives of the model components
|
||||||
with respect to the parameters dmodel<sub>i</sub>/dp<sub>k</sub>.
|
with respect to the parameters dmodel<sub>i</sub>/dp<sub>k</sub>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
There are no requirements on how to compute value and derivatives. The
|
There are no requirements on how to compute value and derivatives. The
|
||||||
<a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
|
||||||
DerivativeStructure</a> class may be useful to compute analytically derivatives in
|
DerivativeStructure</a> class may be useful to compute analytically derivatives in
|
||||||
difficult cases, but this class is not mandated by the API which only expects the derivatives
|
difficult cases, but this class is not mandated by the API which only expects the derivatives
|
||||||
as a Jacobian matrix containing primitive double entries.
|
as a Jacobian matrix containing primitive double entries.
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
if the model functions are themselves separated, i.e. it can be used only with the first
|
if the model functions are themselves separated, i.e. it can be used only with the first
|
||||||
alternative above. Setting up the <code>lazyEvaluation</code> flag to <code>true</code> in the builder
|
alternative above. Setting up the <code>lazyEvaluation</code> flag to <code>true</code> in the builder
|
||||||
or factory and setting up the model function as one
|
or factory and setting up the model function as one
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
|
||||||
instance at the same time will trigger an illegal state exception telling that the model function
|
instance at the same time will trigger an illegal state exception telling that the model function
|
||||||
misses required functionality.
|
misses required functionality.
|
||||||
</p>
|
</p>
|
||||||
|
@ -164,7 +164,7 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Both ways are achieved by setting up a
|
Both ways are achieved by setting up a
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/ParameterValidator.html">ParameterValidator</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/ParameterValidator.html">ParameterValidator</a>
|
||||||
instance. The input of the value and jacobian model functions will always be the output of
|
instance. The input of the value and jacobian model functions will always be the output of
|
||||||
the parameter validator if one exists.
|
the parameter validator if one exists.
|
||||||
</p>
|
</p>
|
||||||
|
@ -217,26 +217,26 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Convergence checking is delegated to a dedicated interface from the <code>optim</code>
|
Convergence checking is delegated to a dedicated interface from the <code>optim</code>
|
||||||
package: <a href="../apidocs/org/apache/commons/math4/optim/ConvergenceChecker.html">
|
package: <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/ConvergenceChecker.html">
|
||||||
ConvergenceChecker</a>, parameterized with either the specific
|
ConvergenceChecker</a>, parameterized with either the specific
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
|
||||||
class used for least squares problems or the general
|
class used for least squares problems or the general
|
||||||
<a href="../apidocs/org/apache/commons/math4/optim/PointVectorValuePair.html">PointVectorValuePair</a>.
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/PointVectorValuePair.html">PointVectorValuePair</a>.
|
||||||
Each time convergence is checked, both the previous
|
Each time convergence is checked, both the previous
|
||||||
and the current evaluations of the least squares problem are provided, so the checker can
|
and the current evaluations of the least squares problem are provided, so the checker can
|
||||||
compare them and decide whereas convergence has been reached or not. The predefined convergence
|
compare them and decide whereas convergence has been reached or not. The predefined convergence
|
||||||
checker implementations that can be useful for least squares fitting are:
|
checker implementations that can be useful for least squares fitting are:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.html">EvaluationRmsChecker</a>,
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/EvaluationRmsChecker.html">EvaluationRmsChecker</a>,
|
||||||
which uses only the normalized cost (square-root of the sum of squared of the residuals,
|
which uses only the normalized cost (square-root of the sum of squared of the residuals,
|
||||||
divided by the number of measurements),</li>
|
divided by the number of measurements),</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/optim/SimpleVectorValueChecker.html">SimpleVectorValueChecker</a>,
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/SimpleVectorValueChecker.html">SimpleVectorValueChecker</a>,
|
||||||
which uses the model components themselves (<em>not</em> the residuals),</li>
|
which uses the model components themselves (<em>not</em> the residuals),</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/optim/SimplePointChecker.html">SimplePointChecker<PointVectorValuePair></a>,
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/SimplePointChecker.html">SimplePointChecker<PointVectorValuePair></a>,
|
||||||
which uses the parameters.</li>
|
which uses the parameters.</li>
|
||||||
</ul>
|
</ul>
|
||||||
Of course, users can also provide their own implementation of the
|
Of course, users can also provide their own implementation of the
|
||||||
<a href="../apidocs/org/apache/commons/math4/optim/ConvergenceChecker.html">ConvergenceChecker</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/ConvergenceChecker.html">ConvergenceChecker</a>
|
||||||
interface.
|
interface.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
@ -246,9 +246,9 @@
|
||||||
Once the least squares problem has been created, using either the builder or the factory,
|
Once the least squares problem has been created, using either the builder or the factory,
|
||||||
it is passed to an optimization engine for solving. Two engines devoted to least-squares
|
it is passed to an optimization engine for solving. Two engines devoted to least-squares
|
||||||
problems are available. The first one is
|
problems are available. The first one is
|
||||||
based on the <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/GaussNewtonOptimizer.html">
|
based on the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizer.html">
|
||||||
Gauss-Newton</a> method. The second one is the <a
|
Gauss-Newton</a> method. The second one is the <a
|
||||||
href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
|
||||||
Levenberg-Marquardt</a> method. For both increased readability and in order to leverage
|
Levenberg-Marquardt</a> method. For both increased readability and in order to leverage
|
||||||
possible future changes in the configuration, it is recommended to use the fluent-style API to
|
possible future changes in the configuration, it is recommended to use the fluent-style API to
|
||||||
build and configure the optimizers. This means creating a first temporary version of the optimizer
|
build and configure the optimizers. This means creating a first temporary version of the optimizer
|
||||||
|
@ -286,12 +286,12 @@
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <a
|
The <a
|
||||||
href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresOptimizer.Optimum.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresOptimizer.Optimum.html">
|
||||||
LeastSquaresOptimizer.Optimum</a> class is a specialized
|
LeastSquaresOptimizer.Optimum</a> class is a specialized
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
|
||||||
with additional methods te retrieve the number of evaluations and number of iterations performed.
|
with additional methods te retrieve the number of evaluations and number of iterations performed.
|
||||||
The most important methods are inherited from the
|
The most important methods are inherited from the
|
||||||
<a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
|
||||||
class and correspond to the point (i.e. the parameters), cost, Jacobian, RMS, covariance ...
|
class and correspond to the point (i.e. the parameters), cost, Jacobian, RMS, covariance ...
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="3.2 Real matrices" href="real_matrices">
|
<subsection name="3.2 Real matrices" href="real_matrices">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/linear/RealMatrix.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/RealMatrix.html">
|
||||||
RealMatrix</a> interface represents a matrix with real numbers as
|
RealMatrix</a> interface represents a matrix with real numbers as
|
||||||
entries. The following basic matrix operations are supported:
|
entries. The following basic matrix operations are supported:
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -72,18 +72,18 @@ RealMatrix pInverse = new LUDecomposition(p).getSolver().getInverse();
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The three main implementations of the interface are <a
|
The three main implementations of the interface are <a
|
||||||
href="../apidocs/org/apache/commons/math4/linear/Array2DRowRealMatrix.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/Array2DRowRealMatrix.html">
|
||||||
Array2DRowRealMatrix</a> and <a
|
Array2DRowRealMatrix</a> and <a
|
||||||
href="../apidocs/org/apache/commons/math4/linear/BlockRealMatrix.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/BlockRealMatrix.html">
|
||||||
BlockRealMatrix</a> for dense matrices (the second one being more suited to
|
BlockRealMatrix</a> for dense matrices (the second one being more suited to
|
||||||
dimensions above 50 or 100) and <a
|
dimensions above 50 or 100) and <a
|
||||||
href="../apidocs/org/apache/commons/math4/linear/SparseRealMatrix.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/SparseRealMatrix.html">
|
||||||
SparseRealMatrix</a> for sparse matrices.
|
SparseRealMatrix</a> for sparse matrices.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="3.3 Real vectors" href="real_vectors">
|
<subsection name="3.3 Real vectors" href="real_vectors">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/linear/RealVector.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/RealVector.html">
|
||||||
RealVector</a> interface represents a vector with real numbers as
|
RealVector</a> interface represents a vector with real numbers as
|
||||||
entries. The following basic matrix operations are supported:
|
entries. The following basic matrix operations are supported:
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -96,7 +96,7 @@ RealMatrix pInverse = new LUDecomposition(p).getSolver().getInverse();
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/linear/RealVectorFormat.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/RealVectorFormat.html">
|
||||||
RealVectorFormat</a> class handles input/output of vectors in a customizable
|
RealVectorFormat</a> class handles input/output of vectors in a customizable
|
||||||
textual format.
|
textual format.
|
||||||
</p>
|
</p>
|
||||||
|
@ -104,7 +104,7 @@ RealMatrix pInverse = new LUDecomposition(p).getSolver().getInverse();
|
||||||
<subsection name="3.4 Solving linear systems" href="solve">
|
<subsection name="3.4 Solving linear systems" href="solve">
|
||||||
<p>
|
<p>
|
||||||
The <code>solve()</code> methods of the <a
|
The <code>solve()</code> methods of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/linear/DecompositionSolver.html">DecompositionSolver</a>
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/DecompositionSolver.html">DecompositionSolver</a>
|
||||||
interface support solving linear systems of equations of the form AX=B, either
|
interface support solving linear systems of equations of the form AX=B, either
|
||||||
in linear sense or in least square sense. A <code>RealMatrix</code> instance is
|
in linear sense or in least square sense. A <code>RealMatrix</code> instance is
|
||||||
used to represent the coefficient matrix of the system. Solving the system is a
|
used to represent the coefficient matrix of the system. Solving the system is a
|
||||||
|
@ -157,11 +157,11 @@ RealVector solution = solver.solve(constants);
|
||||||
<table border="1" align="center">
|
<table border="1" align="center">
|
||||||
<tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+1">Decomposition algorithms</font></td></tr>
|
<tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+1">Decomposition algorithms</font></td></tr>
|
||||||
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>coefficients matrix</td><td>problem type</td></font></tr>
|
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>coefficients matrix</td><td>problem type</td></font></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/linear/LUDecomposition.html">LU</a></td><td>square</td><td>exact solution only</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/LUDecomposition.html">LU</a></td><td>square</td><td>exact solution only</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/linear/CholeskyDecomposition.html">Cholesky</a></td><td>symmetric positive definite</td><td>exact solution only</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/CholeskyDecomposition.html">Cholesky</a></td><td>symmetric positive definite</td><td>exact solution only</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/linear/QRDecomposition.html">QR</a></td><td>any</td><td>least squares solution</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/QRDecomposition.html">QR</a></td><td>any</td><td>least squares solution</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/linear/EigenDecomposition.html">eigen decomposition</a></td><td>square</td><td>exact solution only</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/EigenDecomposition.html">eigen decomposition</a></td><td>square</td><td>exact solution only</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/linear/SingularValueDecomposition.html">SVD</a></td><td>any</td><td>least squares solution</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/SingularValueDecomposition.html">SVD</a></td><td>any</td><td>least squares solution</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -196,13 +196,13 @@ RealVector solution = solver.solve(constants);
|
||||||
<subsection name="3.6 Non-real fields (complex, fractions ...)" href="field">
|
<subsection name="3.6 Non-real fields (complex, fractions ...)" href="field">
|
||||||
<p>
|
<p>
|
||||||
In addition to the real field, matrices and vectors using non-real <a
|
In addition to the real field, matrices and vectors using non-real <a
|
||||||
href="../apidocs/org/apache/commons/math4/FieldElement.html">field elements</a> can be used.
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/FieldElement.html">field elements</a> can be used.
|
||||||
The fields already supported by the library are:
|
The fields already supported by the library are:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/complex/Complex.html">Complex</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/complex/Complex.html">Complex</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/fraction/Fraction.html">Fraction</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fraction/Fraction.html">Fraction</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/fraction/BigFraction.html">BigFraction</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fraction/BigFraction.html">BigFraction</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/util/BigReal.html">BigReal</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/BigReal.html">BigReal</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
|
@ -33,30 +33,30 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="16.2 Clustering algorithms and distance measures" href="clustering">
|
<subsection name="16.2 Clustering algorithms and distance measures" href="clustering">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/ml/clustering/Clusterer.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/Clusterer.html">
|
||||||
Clusterer</a> class represents a clustering algorithm.
|
Clusterer</a> class represents a clustering algorithm.
|
||||||
The following algorithms are available:
|
The following algorithms are available:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/clustering/KMeansPlusPlusClusterer.html">KMeans++</a>:
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/KMeansPlusPlusClusterer.html">KMeans++</a>:
|
||||||
It is based on the well-known kMeans algorithm, but uses a different method for
|
It is based on the well-known kMeans algorithm, but uses a different method for
|
||||||
choosing the initial values (or "seeds") and thus avoids cases where KMeans sometimes
|
choosing the initial values (or "seeds") and thus avoids cases where KMeans sometimes
|
||||||
results in poor clusterings. KMeans/KMeans++ clustering aims to partition n observations
|
results in poor clusterings. KMeans/KMeans++ clustering aims to partition n observations
|
||||||
into k clusters in such that each point belongs to the cluster with the nearest center.
|
into k clusters in such that each point belongs to the cluster with the nearest center.
|
||||||
</li>
|
</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/clustering/FuzzyKMeansClusterer.html">Fuzzy-KMeans</a>:
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/FuzzyKMeansClusterer.html">Fuzzy-KMeans</a>:
|
||||||
A variation of the classical K-Means algorithm, with the major difference that a single
|
A variation of the classical K-Means algorithm, with the major difference that a single
|
||||||
data point is not uniquely assigned to a single cluster. Instead, each point i has a set
|
data point is not uniquely assigned to a single cluster. Instead, each point i has a set
|
||||||
of weights u<sub>ij</sub> which indicate the degree of membership to the cluster j. The fuzzy
|
of weights u<sub>ij</sub> which indicate the degree of membership to the cluster j. The fuzzy
|
||||||
variant does not require initial values for the cluster centers and is thus more robust, although
|
variant does not require initial values for the cluster centers and is thus more robust, although
|
||||||
slower than the original kMeans algorithm.
|
slower than the original kMeans algorithm.
|
||||||
</li>
|
</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/clustering/DBSCANClusterer.html">DBSCAN</a>:
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/DBSCANClusterer.html">DBSCAN</a>:
|
||||||
Density-based spatial clustering of applications with noise (DBSCAN) finds a number of
|
Density-based spatial clustering of applications with noise (DBSCAN) finds a number of
|
||||||
clusters starting from the estimated density distribution of corresponding nodes. The
|
clusters starting from the estimated density distribution of corresponding nodes. The
|
||||||
main advantages over KMeans/KMeans++ are that DBSCAN does not require the specification
|
main advantages over KMeans/KMeans++ are that DBSCAN does not require the specification
|
||||||
of an initial number of clusters and can find arbitrarily shaped clusters.
|
of an initial number of clusters and can find arbitrarily shaped clusters.
|
||||||
</li>
|
</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/clustering/MultiKMeansPlusPlusClusterer.html">Multi-KMeans++</a>:
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/MultiKMeansPlusPlusClusterer.html">Multi-KMeans++</a>:
|
||||||
Multi-KMeans++ is a meta algorithm that basically performs n runs using KMeans++ and then
|
Multi-KMeans++ is a meta algorithm that basically performs n runs using KMeans++ and then
|
||||||
chooses the best clustering (i.e., the one with the lowest distance variance over all clusters)
|
chooses the best clustering (i.e., the one with the lowest distance variance over all clusters)
|
||||||
from those runs.
|
from those runs.
|
||||||
|
@ -74,11 +74,11 @@
|
||||||
between two points (either data points or cluster centers).
|
between two points (either data points or cluster centers).
|
||||||
The following distance measures are available:
|
The following distance measures are available:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/distance/CanberraDistance.html">Canberra distance</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/CanberraDistance.html">Canberra distance</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/distance/ChebyshevDistance.html">ChebyshevDistance distance</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/ChebyshevDistance.html">ChebyshevDistance distance</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/distance/EuclideanDistance.html">EuclideanDistance distance</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/EuclideanDistance.html">EuclideanDistance distance</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/distance/ManhattanDistance.html">ManhattanDistance distance</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/ManhattanDistance.html">ManhattanDistance distance</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/ml/distance/EarthMoversDistance.html">Earth Mover's distance</a></li>
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/EarthMoversDistance.html">Earth Mover's distance</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
10 different clusters based on their euclidean distance.
|
10 different clusters based on their euclidean distance.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The cluster algorithms expect a list of <a href="../apidocs/org/apache/commons/math4/ml/cluster/Clusterable.html">Clusterable</a>
|
The cluster algorithms expect a list of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/cluster/Clusterable.html">Clusterable</a>
|
||||||
as input. Typically, we don't want to pollute our domain objects with interfaces from helper APIs.
|
as input. Typically, we don't want to pollute our domain objects with interfaces from helper APIs.
|
||||||
Hence, we first create a wrapper object:
|
Hence, we first create a wrapper object:
|
||||||
<source>
|
<source>
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
All integrators provide dense output. This means that besides computing the state vector
|
All integrators provide dense output. This means that besides computing the state vector
|
||||||
at discrete times, they also provide a cheap means to get both the state and its derivative
|
at discrete times, they also provide a cheap means to get both the state and its derivative
|
||||||
between the time steps. They do so through classes extending the
|
between the time steps. They do so through classes extending the
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/sampling/StepInterpolator.html">StepInterpolator</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepInterpolator.html">StepInterpolator</a>
|
||||||
abstract class, which are made available to the user at the end of each step.
|
abstract class, which are made available to the user at the end of each step.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -83,11 +83,11 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The user should describe his problem in his own classes which should implement the
|
The user should describe his problem in his own classes which should implement the
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||||
interface (or <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderFieldDifferentialEquations.html">FirstOrderFieldDifferentialEquations</a>
|
interface (or <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderFieldDifferentialEquations.html">FirstOrderFieldDifferentialEquations</a>
|
||||||
interface). Then they should pass it to the integrator they prefer among all the classes that implement
|
interface). Then they should pass it to the integrator they prefer among all the classes that implement
|
||||||
the <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a>
|
the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a>
|
||||||
interface (or the <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderFieldIntegrator.html">FirstOrderFieldIntegrator</a>
|
interface (or the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderFieldIntegrator.html">FirstOrderFieldIntegrator</a>
|
||||||
interface). The following example shows how to implement the simple two-dimensional problem using double primitives:
|
interface). The following example shows how to implement the simple two-dimensional problem using double primitives:
|
||||||
<ul>
|
<ul>
|
||||||
<li>y'<sub>0</sub>(t) = ω × (c<sub>1</sub> - y<sub>1</sub>(t))</li>
|
<li>y'<sub>0</sub>(t) = ω × (c<sub>1</sub> - y<sub>1</sub>(t))</li>
|
||||||
|
@ -137,10 +137,10 @@ dp853.integrate(ode, 0.0, y, 16.0, y); // now y contains final state at time t=1
|
||||||
<code>FirstOrderIntegrator.integrate</code> method, as shown by previous example. The second one
|
<code>FirstOrderIntegrator.integrate</code> method, as shown by previous example. The second one
|
||||||
should be used when more in-depth information is needed throughout the integration process. The user
|
should be used when more in-depth information is needed throughout the integration process. The user
|
||||||
can register an object implementing the
|
can register an object implementing the
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/sampling/StepHandler.html">StepHandler</a> interface or a
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepHandler.html">StepHandler</a> interface or a
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/sampling/StepNormalizer.html">StepNormalizer</a> object wrapping
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepNormalizer.html">StepNormalizer</a> object wrapping
|
||||||
a user-specified object implementing the
|
a user-specified object implementing the
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/sampling/FixedStepHandler.html">FixedStepHandler</a> interface
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/FixedStepHandler.html">FixedStepHandler</a> interface
|
||||||
into the integrator before calling the <code>FirstOrderIntegrator.integrate</code> method. The user object
|
into the integrator before calling the <code>FirstOrderIntegrator.integrate</code> method. The user object
|
||||||
will be called appropriately during the integration process, allowing the user to process intermediate
|
will be called appropriately during the integration process, allowing the user to process intermediate
|
||||||
results. The default step handler does nothing. Considering again the previous example, we want to print the
|
results. The default step handler does nothing. Considering again the previous example, we want to print the
|
||||||
|
@ -161,7 +161,7 @@ StepHandler stepHandler = new StepHandler() {
|
||||||
integrator.addStepHandler(stepHandler);
|
integrator.addStepHandler(stepHandler);
|
||||||
</source>
|
</source>
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/ContinuousOutputModel.html">ContinuousOutputModel</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/ContinuousOutputModel.html">ContinuousOutputModel</a>
|
||||||
is a special-purpose step handler that is able to store all steps and to provide transparent access to
|
is a special-purpose step handler that is able to store all steps and to provide transparent access to
|
||||||
any intermediate result once the integration is over. An important feature of this class is that it
|
any intermediate result once the integration is over. An important feature of this class is that it
|
||||||
implements the <code>Serializable</code> interface. This means that a complete continuous model of the
|
implements the <code>Serializable</code> interface. This means that a complete continuous model of the
|
||||||
|
@ -170,10 +170,10 @@ integrator.addStepHandler(stepHandler);
|
||||||
Only the result of the integration is stored, there is no reference to the integrated problem by itself.
|
Only the result of the integration is stored, there is no reference to the integrated problem by itself.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Other default implementations of the <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepHandler.html">StepHandler</a>
|
Other default implementations of the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepHandler.html">StepHandler</a>
|
||||||
interface are available for general needs
|
interface are available for general needs
|
||||||
(<a href="../apidocs/org/apache/commons/math4/ode/sampling/DummyStepHandler.html">DummyStepHandler</a>,
|
(<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/DummyStepHandler.html">DummyStepHandler</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/sampling/StepNormalizer.html">StepNormalizer</a>) and custom
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepNormalizer.html">StepNormalizer</a>) and custom
|
||||||
implementations can be developed for specific needs. As an example, if an application is to be
|
implementations can be developed for specific needs. As an example, if an application is to be
|
||||||
completely driven by the integration process, then most of the application code will be run inside a
|
completely driven by the integration process, then most of the application code will be run inside a
|
||||||
step handler specific to this application.
|
step handler specific to this application.
|
||||||
|
@ -182,12 +182,12 @@ integrator.addStepHandler(stepHandler);
|
||||||
Some integrators (the simple ones) use fixed steps that are set at creation time. The more efficient
|
Some integrators (the simple ones) use fixed steps that are set at creation time. The more efficient
|
||||||
integrators use variable steps that are handled internally in order to control the integration error
|
integrators use variable steps that are handled internally in order to control the integration error
|
||||||
of the main state with respect to a specified accuracy (these integrators extend the
|
of the main state with respect to a specified accuracy (these integrators extend the
|
||||||
<a href="../apidocs/org/apache/commons/math4/ode/AdaptiveStepsizeIntegrator.html">AdaptiveStepsizeIntegrator</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/AdaptiveStepsizeIntegrator.html">AdaptiveStepsizeIntegrator</a>
|
||||||
abstract class). The secondary equations are explicitly ignored for step size control, in order to get reproducible
|
abstract class). The secondary equations are explicitly ignored for step size control, in order to get reproducible
|
||||||
results regardless of the secondary equations being integrated or not. The step handler which is called after each
|
results regardless of the secondary equations being integrated or not. The step handler which is called after each
|
||||||
successful step shows up the variable stepsize. The <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepNormalizer.html">StepNormalizer</a>
|
successful step shows up the variable stepsize. The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepNormalizer.html">StepNormalizer</a>
|
||||||
class can be used to convert the variable stepsize into a fixed stepsize that can be handled by classes
|
class can be used to convert the variable stepsize into a fixed stepsize that can be handled by classes
|
||||||
implementing the <a href="../apidocs/org/apache/commons/math4/ode/sampling/FixedStepHandler.html">FixedStepHandler</a>
|
implementing the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/FixedStepHandler.html">FixedStepHandler</a>
|
||||||
interface. Adaptive stepsize integrators can automatically compute the initial stepsize by themselves,
|
interface. Adaptive stepsize integrators can automatically compute the initial stepsize by themselves,
|
||||||
however the user can specify it if they prefer to retain full control over the integration or if the
|
however the user can specify it if they prefer to retain full control over the integration or if the
|
||||||
automatic guess is wrong.
|
automatic guess is wrong.
|
||||||
|
@ -202,7 +202,7 @@ integrator.addStepHandler(stepHandler);
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Discrete events detection is based on switching functions. The user provides
|
Discrete events detection is based on switching functions. The user provides
|
||||||
a simple <a href="../apidocs/org/apache/commons/math4/ode/events/EventHandler.html">g(t, y)</a>
|
a simple <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/events/EventHandler.html">g(t, y)</a>
|
||||||
function depending on the current time and state. The integrator will monitor
|
function depending on the current time and state. The integrator will monitor
|
||||||
the value of the function throughout integration range and will trigger the
|
the value of the function throughout integration range and will trigger the
|
||||||
event when its sign changes. The magnitude of the value is almost irrelevant.
|
event when its sign changes. The magnitude of the value is almost irrelevant.
|
||||||
|
@ -282,24 +282,24 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
||||||
<table border="1" align="center">
|
<table border="1" align="center">
|
||||||
<tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+1">Fixed Step Integrators</font></td></tr>
|
<tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+1">Fixed Step Integrators</font></td></tr>
|
||||||
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Order</td></font></tr>
|
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Order</td></font></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/EulerIntegrator.html">Euler</a></td><td>1</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/EulerIntegrator.html">Euler</a></td><td>1</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/MidpointIntegrator.html">Midpoint</a></td><td>2</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/MidpointIntegrator.html">Midpoint</a></td><td>2</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/ClassicalRungeKuttaIntegrator.html">Classical Runge-Kutta</a></td><td>4</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/ClassicalRungeKuttaIntegrator.html">Classical Runge-Kutta</a></td><td>4</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/GillIntegrator.html">Gill</a></td><td>4</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/GillIntegrator.html">Gill</a></td><td>4</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/ThreeEighthesIntegrator.html">3/8</a></td><td>4</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/ThreeEighthesIntegrator.html">3/8</a></td><td>4</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/LutherIntegrator.html">Luther</a></td><td>6</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/LutherIntegrator.html">Luther</a></td><td>6</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<table border="1" align="center">
|
<table border="1" align="center">
|
||||||
<tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+1">Adaptive Stepsize Integrators</font></td></tr>
|
<tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+1">Adaptive Stepsize Integrators</font></td></tr>
|
||||||
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Integration Order</td><td>Error Estimation Order</td></font></tr>
|
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Integration Order</td><td>Error Estimation Order</td></font></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/HighamHall54Integrator.html">Higham and Hall</a></td><td>5</td><td>4</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/HighamHall54Integrator.html">Higham and Hall</a></td><td>5</td><td>4</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/DormandPrince54Integrator.html">Dormand-Prince 5(4)</a></td><td>5</td><td>4</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/DormandPrince54Integrator.html">Dormand-Prince 5(4)</a></td><td>5</td><td>4</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/DormandPrince853Integrator.html">Dormand-Prince 8(5,3)</a></td><td>8</td><td>5 and 3</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/DormandPrince853Integrator.html">Dormand-Prince 8(5,3)</a></td><td>8</td><td>5 and 3</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/GraggBulirschStoerIntegrator.html">Gragg-Bulirsch-Stoer</a></td><td>variable (up to 18 by default)</td><td>variable</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/GraggBulirschStoerIntegrator.html">Gragg-Bulirsch-Stoer</a></td><td>variable (up to 18 by default)</td><td>variable</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/AdamsBashforthIntegrator.html">Adams-Bashforth</a></td><td>variable</td><td>variable</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/AdamsBashforthIntegrator.html">Adams-Bashforth</a></td><td>variable</td><td>variable</td></tr>
|
||||||
<tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/AdamsMoultonIntegrator.html">Adams-Moulton</a></td><td>variable</td><td>variable</td></tr>
|
<tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/AdamsMoultonIntegrator.html">Adams-Moulton</a></td><td>variable</td><td>variable</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
@ -311,7 +311,7 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
||||||
appended to the main state before the integration starts. Then the integration will propagate the compound
|
appended to the main state before the integration starts. Then the integration will propagate the compound
|
||||||
state composed of both the main state and its partial derivatives. At the end of the integration, the Jacobian
|
state composed of both the main state and its partial derivatives. At the end of the integration, the Jacobian
|
||||||
matrices are extracted from the integrated secondary state. The <a
|
matrices are extracted from the integrated secondary state. The <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class can do most of
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class can do most of
|
||||||
this as long as the local derivatives are provided to it. It will set up the variational equations, register
|
this as long as the local derivatives are provided to it. It will set up the variational equations, register
|
||||||
them as secondary equations into the ODE, and it will set up the initial values and retrieve the intermediate
|
them as secondary equations into the ODE, and it will set up the initial values and retrieve the intermediate
|
||||||
and final values as Jacobian matrices.
|
and final values as Jacobian matrices.
|
||||||
|
@ -321,7 +321,7 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
||||||
elements array. The first 6 elements will be the original state, the next 36 elements will represent the 6x6
|
elements array. The first 6 elements will be the original state, the next 36 elements will represent the 6x6
|
||||||
Jacobian matrix of the final state with respect to the initial state, and the remaining 18 elements will
|
Jacobian matrix of the final state with respect to the initial state, and the remaining 18 elements will
|
||||||
represent the 6x3 Jacobian matrix of the final state with respect to the 3 parameters. The <a
|
represent the 6x3 Jacobian matrix of the final state with respect to the 3 parameters. The <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class does the mapping
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class does the mapping
|
||||||
between the 60 elements compound state and the Jacobian matrices and sets up the correcsponding secondary equations.
|
between the 60 elements compound state and the Jacobian matrices and sets up the correcsponding secondary equations.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -333,22 +333,22 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
||||||
<p>
|
<p>
|
||||||
What remains of user responsibility is to provide the local Jacobians df(t, y, p)/dy and df(t, y, p)/dp<sub>k</sub>
|
What remains of user responsibility is to provide the local Jacobians df(t, y, p)/dy and df(t, y, p)/dp<sub>k</sub>
|
||||||
corresponding the the main ODE y'=f(t, y, p). The main ODE is as usual provided by the user as a class implementing
|
corresponding the the main ODE y'=f(t, y, p). The main ODE is as usual provided by the user as a class implementing
|
||||||
the <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||||
interface or a sub-interface.
|
interface or a sub-interface.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
If the ODE is simple enough that the user can implement df(t, y, p)/dy directly, then instead of providing an
|
If the ODE is simple enough that the user can implement df(t, y, p)/dy directly, then instead of providing an
|
||||||
implementation of the <a
|
implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||||
interface only, the user should rather provide an implementation of the <a
|
interface only, the user should rather provide an implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/MainStateJacobianProvider.html">MainStateJacobianProvider</a> interface,
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/MainStateJacobianProvider.html">MainStateJacobianProvider</a> interface,
|
||||||
which extends the previous interface by adding a method to compute df(t, y, p)/dy. The user class is used as a
|
which extends the previous interface by adding a method to compute df(t, y, p)/dy. The user class is used as a
|
||||||
constructor parameter of the <a href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a>
|
constructor parameter of the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a>
|
||||||
class. If the ODE is too complex or the user simply does not bother implementing df(t, y, p)/dy directly, then
|
class. If the ODE is too complex or the user simply does not bother implementing df(t, y, p)/dy directly, then
|
||||||
the ODE can still be implemented using the simple <a
|
the ODE can still be implemented using the simple <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||||
interface and given as such to another constructor of the <a
|
interface and given as such to another constructor of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class, but in this case an array
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class, but in this case an array
|
||||||
hy must also be provided that will contain the step size to use form each component of the main state vector y, and
|
hy must also be provided that will contain the step size to use form each component of the main state vector y, and
|
||||||
the Jacobian f(t, y, p)/dy will be computed internally using finite differences. This will of course trigger more evaluations
|
the Jacobian f(t, y, p)/dy will be computed internally using finite differences. This will of course trigger more evaluations
|
||||||
of the ODE at each step and will suffer from finite differences errors, but it is much simpler to implement from a user
|
of the ODE at each step and will suffer from finite differences errors, but it is much simpler to implement from a user
|
||||||
|
@ -356,10 +356,10 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The parameters are identified by a name (a simple user-defined string), which are also specified at <a
|
The parameters are identified by a name (a simple user-defined string), which are also specified at <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class construction. If the ODE
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class construction. If the ODE
|
||||||
is simple enough that the user can implement df(t, y, p)/dp<sub>k</sub> directly for some of the parameters p<sub>k</sub>,
|
is simple enough that the user can implement df(t, y, p)/dp<sub>k</sub> directly for some of the parameters p<sub>k</sub>,
|
||||||
then they can provide one or more classes implementing the <a
|
then they can provide one or more classes implementing the <a
|
||||||
href="../apidocs/org/apache/commons/math4/ode/ParameterJacobianProvider.html">ParameterJacobianProvider</a> interface by
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/ParameterJacobianProvider.html">ParameterJacobianProvider</a> interface by
|
||||||
calling the JacobianMatrices.addParameterJacobianProvide method. The parameters are handled one at a time, but all the calls to
|
calling the JacobianMatrices.addParameterJacobianProvide method. The parameters are handled one at a time, but all the calls to
|
||||||
ParameterJacobianProvider.computeParameterJacobian will be grouped in one sequence after the call to MainStateJacobianProvider.computeMainStateJacobian
|
ParameterJacobianProvider.computeParameterJacobian will be grouped in one sequence after the call to MainStateJacobianProvider.computeMainStateJacobian
|
||||||
This feature can be used when all the derivatives share a lot of costly computation. In this case, the user
|
This feature can be used when all the derivatives share a lot of costly computation. In this case, the user
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
<body>
|
<body>
|
||||||
<section name="12 Optimization">
|
<section name="12 Optimization">
|
||||||
<p><em>The contents of this section currently describes deprecated classes.</em>
|
<p><em>The contents of this section currently describes deprecated classes.</em>
|
||||||
Please refer to the new <a href="../apidocs/org/apache/commons/math4/optim/package-summary.html">API
|
Please refer to the new <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/package-summary.html">API
|
||||||
description</a>.
|
description</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>Least squares optimizers are not in this package anymore, they have been moved
|
<p>Least squares optimizers are not in this package anymore, they have been moved
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The type of goal, i.e. minimization or maximization, is defined by the enumerated
|
The type of goal, i.e. minimization or maximization, is defined by the enumerated
|
||||||
<a href="../apidocs/org/apache/commons/math4/optimization/GoalType.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/GoalType.html">
|
||||||
GoalType</a> which has only two values: <code>MAXIMIZE</code> and <code>MINIMIZE</code>.
|
GoalType</a> which has only two values: <code>MAXIMIZE</code> and <code>MINIMIZE</code>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -70,21 +70,21 @@
|
||||||
are only four interfaces defining the common behavior of optimizers, one for each
|
are only four interfaces defining the common behavior of optimizers, one for each
|
||||||
supported type of objective function:
|
supported type of objective function:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/optimization/univariate/UnivariateOptimizer.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/univariate/UnivariateOptimizer.html">
|
||||||
UnivariateOptimizer</a> for <a
|
UnivariateOptimizer</a> for <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">
|
||||||
univariate real functions</a></li>
|
univariate real functions</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/optimization/MultivariateOptimizer.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/MultivariateOptimizer.html">
|
||||||
MultivariateOptimizer</a> for <a
|
MultivariateOptimizer</a> for <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/MultivariateFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateFunction.html">
|
||||||
multivariate real functions</a></li>
|
multivariate real functions</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/optimization/DifferentiableMultivariateOptimizer.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/DifferentiableMultivariateOptimizer.html">
|
||||||
DifferentiableMultivariateOptimizer</a> for <a
|
DifferentiableMultivariateOptimizer</a> for <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateFunction.html">
|
||||||
differentiable multivariate real functions</a></li>
|
differentiable multivariate real functions</a></li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/optimization/DifferentiableMultivariateVectorOptimizer.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/DifferentiableMultivariateVectorOptimizer.html">
|
||||||
DifferentiableMultivariateVectorOptimizer</a> for <a
|
DifferentiableMultivariateVectorOptimizer</a> for <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateVectorFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateVectorFunction.html">
|
||||||
differentiable multivariate vectorial functions</a></li>
|
differentiable multivariate vectorial functions</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
|
@ -92,14 +92,14 @@
|
||||||
<p>
|
<p>
|
||||||
Despite there are only four types of supported optimizers, it is possible to optimize
|
Despite there are only four types of supported optimizers, it is possible to optimize
|
||||||
a transform a <a
|
a transform a <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/MultivariateVectorFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateVectorFunction.html">
|
||||||
non-differentiable multivariate vectorial function</a> by converting it to a <a
|
non-differentiable multivariate vectorial function</a> by converting it to a <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/MultivariateFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateFunction.html">
|
||||||
non-differentiable multivariate real function</a> thanks to the <a
|
non-differentiable multivariate real function</a> thanks to the <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/LeastSquaresConverter.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/LeastSquaresConverter.html">
|
||||||
LeastSquaresConverter</a> helper class. The transformed function can be optimized using
|
LeastSquaresConverter</a> helper class. The transformed function can be optimized using
|
||||||
any implementation of the <a
|
any implementation of the <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/MultivariateOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/MultivariateOptimizer.html">
|
||||||
MultivariateOptimizer</a> interface.
|
MultivariateOptimizer</a> interface.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="12.2 Univariate Functions" href="univariate">
|
<subsection name="12.2 Univariate Functions" href="univariate">
|
||||||
<p>
|
<p>
|
||||||
A <a href="../apidocs/org/apache/commons/math4/optimization/univariate/UnivariateOptimizer.html">
|
A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/univariate/UnivariateOptimizer.html">
|
||||||
UnivariateOptimizer</a> is used to find the minimal values of a univariate real-valued
|
UnivariateOptimizer</a> is used to find the minimal values of a univariate real-valued
|
||||||
function <code>f</code>.
|
function <code>f</code>.
|
||||||
</p>
|
</p>
|
||||||
|
@ -164,16 +164,16 @@
|
||||||
The <code>direct</code> package provides four solvers:
|
The <code>direct</code> package provides four solvers:
|
||||||
<ul>
|
<ul>
|
||||||
<li>the classical <a
|
<li>the classical <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/direct/NelderMeadSimplex.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/NelderMeadSimplex.html">
|
||||||
Nelder-Mead</a> method,</li>
|
Nelder-Mead</a> method,</li>
|
||||||
<li>Virginia Torczon's <a
|
<li>Virginia Torczon's <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/direct/MultiDirectionalSimplex.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/MultiDirectionalSimplex.html">
|
||||||
multi-directional</a> method,</li>
|
multi-directional</a> method,</li>
|
||||||
<li>Nikolaus Hansen's <a
|
<li>Nikolaus Hansen's <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/direct/CMAESOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/CMAESOptimizer.html">
|
||||||
</a>Covariance Matrix Adaptation Evolution Strategy (CMA-ES),</li>
|
</a>Covariance Matrix Adaptation Evolution Strategy (CMA-ES),</li>
|
||||||
<li>Mike Powell's <a
|
<li>Mike Powell's <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/direct/BOBYQAOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/BOBYQAOptimizer.html">
|
||||||
BOBYQA</a> method.
|
BOBYQA</a> method.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -181,9 +181,9 @@
|
||||||
<p>
|
<p>
|
||||||
The first two simplex-based methods do not handle simple bounds constraints by themselves.
|
The first two simplex-based methods do not handle simple bounds constraints by themselves.
|
||||||
However there are two adapters(<a
|
However there are two adapters(<a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/direct/MultivariateFunctionMappingAdapter.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/MultivariateFunctionMappingAdapter.html">
|
||||||
MultivariateFunctionMappingAdapter</a> and <a
|
MultivariateFunctionMappingAdapter</a> and <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/direct/MultivariateFunctionPenaltyAdapter.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/MultivariateFunctionPenaltyAdapter.html">
|
||||||
MultivariateFunctionPenaltyAdapter</a>) that can be used to wrap the user function in
|
MultivariateFunctionPenaltyAdapter</a>) that can be used to wrap the user function in
|
||||||
such a way the wrapped function is unbounded and can be used with these optimizers, despite
|
such a way the wrapped function is unbounded and can be used with these optimizers, despite
|
||||||
the fact the underlying function is still bounded and will be called only with feasible
|
the fact the underlying function is still bounded and will be called only with feasible
|
||||||
|
@ -237,15 +237,15 @@
|
||||||
<p>
|
<p>
|
||||||
Two optimizers are available in the general package, both devoted to least-squares
|
Two optimizers are available in the general package, both devoted to least-squares
|
||||||
problems. The first one is based on the <a
|
problems. The first one is based on the <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/general/GaussNewtonOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/general/GaussNewtonOptimizer.html">
|
||||||
Gauss-Newton</a> method. The second one is the <a
|
Gauss-Newton</a> method. The second one is the <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/general/LevenbergMarquardtOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/general/LevenbergMarquardtOptimizer.html">
|
||||||
Levenberg-Marquardt</a> method.
|
Levenberg-Marquardt</a> method.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
In order to solve a vectorial optimization problem, the user must provide it as
|
In order to solve a vectorial optimization problem, the user must provide it as
|
||||||
an object implementing the <a
|
an object implementing the <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateVectorFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateVectorFunction.html">
|
||||||
DifferentiableMultivariateVectorFunction</a> interface. The object will be provided to
|
DifferentiableMultivariateVectorFunction</a> interface. The object will be provided to
|
||||||
the <code>estimate</code> method of the optimizer, along with the target and weight arrays,
|
the <code>estimate</code> method of the optimizer, along with the target and weight arrays,
|
||||||
thus allowing the optimizer to compute the residuals at will. The last parameter to the
|
thus allowing the optimizer to compute the residuals at will. The last parameter to the
|
||||||
|
@ -311,7 +311,7 @@
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
First we need to implement the interface <a href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateVectorFunction.html">DifferentiableMultivariateVectorFunction</a>.
|
First we need to implement the interface <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateVectorFunction.html">DifferentiableMultivariateVectorFunction</a>.
|
||||||
This requires the implementation of the method signatures:
|
This requires the implementation of the method signatures:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -571,17 +571,17 @@ C: 16.324008168386605
|
||||||
</dd></dl>
|
</dd></dl>
|
||||||
<p>
|
<p>
|
||||||
In addition to least squares solving, the <a
|
In addition to least squares solving, the <a
|
||||||
href="../apidocs/org/apache/commons/math4/optimization/general/NonLinearConjugateGradientOptimizer.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/general/NonLinearConjugateGradientOptimizer.html">
|
||||||
NonLinearConjugateGradientOptimizer</a> class provides a non-linear conjugate gradient algorithm
|
NonLinearConjugateGradientOptimizer</a> class provides a non-linear conjugate gradient algorithm
|
||||||
to optimize <a
|
to optimize <a
|
||||||
href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateFunction.html">
|
href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateFunction.html">
|
||||||
DifferentiableMultivariateFunction</a>. Both the Fletcher-Reeves and the Polak-Ribière
|
DifferentiableMultivariateFunction</a>. Both the Fletcher-Reeves and the Polak-Ribière
|
||||||
search direction update methods are supported. It is also possible to set up a preconditioner
|
search direction update methods are supported. It is also possible to set up a preconditioner
|
||||||
or to change the line-search algorithm of the inner loop if desired (the default one is a Brent
|
or to change the line-search algorithm of the inner loop if desired (the default one is a Brent
|
||||||
solver).
|
solver).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/optimization/direct/PowellOptimizer.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/PowellOptimizer.html">
|
||||||
PowellOptimizer</a> provides an optimization method for non-differentiable functions.
|
PowellOptimizer</a> provides an optimization method for non-differentiable functions.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
|
@ -105,9 +105,9 @@
|
||||||
<p>
|
<p>
|
||||||
When the actual parameters provided to a method or the internal state of an object
|
When the actual parameters provided to a method or the internal state of an object
|
||||||
make a computation meaningless, a
|
make a computation meaningless, a
|
||||||
<a href="../apidocs/org/apache/commons/math4/exception/MathIllegalArgumentException.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalArgumentException.html">
|
||||||
MathIllegalArgumentException</a> or
|
MathIllegalArgumentException</a> or
|
||||||
<a href="../apidocs/org/apache/commons/math4/exception/MathIllegalStateException.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalStateException.html">
|
||||||
MathIllegalStateException</a> may be thrown. Exact conditions under which runtime
|
MathIllegalStateException</a> may be thrown. Exact conditions under which runtime
|
||||||
exceptions (and any other exceptions) are thrown are specified in the javadoc method
|
exceptions (and any other exceptions) are thrown are specified in the javadoc method
|
||||||
comments.
|
comments.
|
||||||
|
@ -119,7 +119,7 @@
|
||||||
<p>
|
<p>
|
||||||
As of version 2.2, the policy for dealing with null references is as
|
As of version 2.2, the policy for dealing with null references is as
|
||||||
follows: When an argument is unexpectedly null, a
|
follows: When an argument is unexpectedly null, a
|
||||||
<a href="../apidocs/org/apache/commons/math4/exception/NullArgumentException.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/exception/NullArgumentException.html">
|
||||||
NullArgumentException</a> is raised to signal the illegal argument. Note that this
|
NullArgumentException</a> is raised to signal the illegal argument. Note that this
|
||||||
class does not inherit from the standard <code>NullPointerException</code> but is a subclass
|
class does not inherit from the standard <code>NullPointerException</code> but is a subclass
|
||||||
of <code>MathIllegalArgumentException</code>.
|
of <code>MathIllegalArgumentException</code>.
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<subsection name="2.1 Overview"
|
<subsection name="2.1 Overview"
|
||||||
href="overview">
|
href="overview">
|
||||||
<p>
|
<p>
|
||||||
Utilities in package <a href="../apidocs/org/apache/commons/math4/legacy/random/package-summary.html">
|
Utilities in package <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/package-summary.html">
|
||||||
o.a.c.m.legacy.random</a> often uses an underlying "source of randomness": A pseudo-random
|
o.a.c.m.legacy.random</a> often uses an underlying "source of randomness": A pseudo-random
|
||||||
number generator (PRNG) that produces sequences of numbers that are uniformly distributed
|
number generator (PRNG) that produces sequences of numbers that are uniformly distributed
|
||||||
within their range.
|
within their range.
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
When the components are correlated however, generating them is more difficult.
|
When the components are correlated however, generating them is more difficult.
|
||||||
The <a href="../apidocs/org/apache/commons/math4/legacy/random/CorrelatedVectorFactory.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/CorrelatedVectorFactory.html">
|
||||||
CorrelatedVectorFactory</a> class provides this service.
|
CorrelatedVectorFactory</a> class provides this service.
|
||||||
In this case, a complete covariance matrix must be provided (instead of a
|
In this case, a complete covariance matrix must be provided (instead of a
|
||||||
simple standard deviations vector) gathering both the variance and the
|
simple standard deviations vector) gathering both the variance and the
|
||||||
|
@ -114,9 +114,9 @@ RealMatrix covariance = MatrixUtils.createRealMatrix(cov);
|
||||||
is completely deterministic), their unique properties give them an important advantage for quasi-Monte Carlo simulations.<br/>
|
is completely deterministic), their unique properties give them an important advantage for quasi-Monte Carlo simulations.<br/>
|
||||||
Currently, the following low-discrepancy sequences are supported:
|
Currently, the following low-discrepancy sequences are supported:
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/legacy/random/SobolSequenceGenerator.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/SobolSequenceGenerator.html">
|
||||||
Sobol sequence</a> (pre-configured up to dimension 1000)</li>
|
Sobol sequence</a> (pre-configured up to dimension 1000)</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.html">
|
||||||
Halton sequence</a> (pre-configured up to dimension 40)</li>
|
Halton sequence</a> (pre-configured up to dimension 40)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
|
@ -61,12 +61,12 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The top level interface is
|
The top level interface is
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/UnivariateStatistic.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/UnivariateStatistic.html">
|
||||||
UnivariateStatistic</a>.
|
UnivariateStatistic</a>.
|
||||||
This interface, implemented by all statistics, consists of
|
This interface, implemented by all statistics, consists of
|
||||||
<code>evaluate()</code> methods that take double[] arrays as arguments
|
<code>evaluate()</code> methods that take double[] arrays as arguments
|
||||||
and return the value of the statistic. This interface is extended by
|
and return the value of the statistic. This interface is extended by
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/StorelessUnivariateStatistic.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/StorelessUnivariateStatistic.html">
|
||||||
StorelessUnivariateStatistic</a>, which adds <code>increment(),</code>
|
StorelessUnivariateStatistic</a>, which adds <code>increment(),</code>
|
||||||
<code>getResult()</code> and associated methods to support
|
<code>getResult()</code> and associated methods to support
|
||||||
"storageless" implementations that maintain counters, sums or other
|
"storageless" implementations that maintain counters, sums or other
|
||||||
|
@ -75,9 +75,9 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Abstract implementations of the top level interfaces are provided in
|
Abstract implementations of the top level interfaces are provided in
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/AbstractUnivariateStatistic.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AbstractUnivariateStatistic.html">
|
||||||
AbstractUnivariateStatistic</a> and
|
AbstractUnivariateStatistic</a> and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AbstractStorelessUnivariateStatistic.html">
|
||||||
AbstractStorelessUnivariateStatistic</a> respectively.
|
AbstractStorelessUnivariateStatistic</a> respectively.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -87,9 +87,9 @@
|
||||||
compute the statistic). There are several ways to instantiate and use statistics.
|
compute the statistic). There are several ways to instantiate and use statistics.
|
||||||
Statistics can be instantiated and used directly, but it is generally more convenient
|
Statistics can be instantiated and used directly, but it is generally more convenient
|
||||||
(and efficient) to access them using the provided aggregates,
|
(and efficient) to access them using the provided aggregates,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/DescriptiveStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/DescriptiveStatistics.html">
|
||||||
DescriptiveStatistics</a> and
|
DescriptiveStatistics</a> and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/SummaryStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SummaryStatistics.html">
|
||||||
SummaryStatistics.</a>
|
SummaryStatistics.</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -107,18 +107,18 @@
|
||||||
<table>
|
<table>
|
||||||
<tr><th>Aggregate</th><th>Statistics Included</th><th>Values stored?</th>
|
<tr><th>Aggregate</th><th>Statistics Included</th><th>Values stored?</th>
|
||||||
<th>"Rolling" capability?</th></tr><tr><td>
|
<th>"Rolling" capability?</th></tr><tr><td>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/DescriptiveStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/DescriptiveStatistics.html">
|
||||||
DescriptiveStatistics</a></td><td>min, max, mean, geometric mean, n,
|
DescriptiveStatistics</a></td><td>min, max, mean, geometric mean, n,
|
||||||
sum, sum of squares, standard deviation, variance, percentiles, skewness,
|
sum, sum of squares, standard deviation, variance, percentiles, skewness,
|
||||||
kurtosis, median</td><td>Yes</td><td>Yes</td></tr><tr><td>
|
kurtosis, median</td><td>Yes</td><td>Yes</td></tr><tr><td>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/SummaryStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SummaryStatistics.html">
|
||||||
SummaryStatistics</a></td><td>min, max, mean, geometric mean, n,
|
SummaryStatistics</a></td><td>min, max, mean, geometric mean, n,
|
||||||
sum, sum of squares, standard deviation, variance</td><td>No</td><td>No</td></tr>
|
sum, sum of squares, standard deviation, variance</td><td>No</td><td>No</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<code>SummaryStatistics</code> can be aggregated using
|
<code>SummaryStatistics</code> can be aggregated using
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AggregateSummaryStatistics.html">
|
||||||
AggregateSummaryStatistics.</a> This class can be used to concurrently
|
AggregateSummaryStatistics.</a> This class can be used to concurrently
|
||||||
gather statistics for multiple datasets as well as for a combined sample
|
gather statistics for multiple datasets as well as for a combined sample
|
||||||
including all of the data.
|
including all of the data.
|
||||||
|
@ -132,19 +132,19 @@
|
||||||
<p>
|
<p>
|
||||||
Neither <code>DescriptiveStatistics</code> nor <code>SummaryStatistics</code>
|
Neither <code>DescriptiveStatistics</code> nor <code>SummaryStatistics</code>
|
||||||
is thread-safe.
|
is thread-safe.
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/SynchronizedDescriptiveStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SynchronizedDescriptiveStatistics.html">
|
||||||
SynchronizedDescriptiveStatistics</a> and
|
SynchronizedDescriptiveStatistics</a> and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/SynchronizedSummaryStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SynchronizedSummaryStatistics.html">
|
||||||
SynchronizedSummaryStatistics</a>, respectively, provide thread-safe
|
SynchronizedSummaryStatistics</a>, respectively, provide thread-safe
|
||||||
versions for applications that require concurrent access to statistical
|
versions for applications that require concurrent access to statistical
|
||||||
aggregates by multiple threads.
|
aggregates by multiple threads.
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/SynchronizedMultiVariateSummaryStatistics.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SynchronizedMultiVariateSummaryStatistics.html">
|
||||||
SynchronizedMultivariateSummaryStatistics</a> provides thread-safe
|
SynchronizedMultivariateSummaryStatistics</a> provides thread-safe
|
||||||
<code>MultivariateSummaryStatistics.</code>
|
<code>MultivariateSummaryStatistics.</code>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
There is also a utility class,
|
There is also a utility class,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/StatUtils.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/StatUtils.html">
|
||||||
StatUtils</a>, that provides static methods for computing statistics
|
StatUtils</a>, that provides static methods for computing statistics
|
||||||
directly from double[] arrays.
|
directly from double[] arrays.
|
||||||
</p>
|
</p>
|
||||||
|
@ -243,7 +243,7 @@ DescriptiveStatistics stats = new SynchronizedDescriptiveStatistics();
|
||||||
The first is to use an <code>AggregateSummaryStatistics</code> instance
|
The first is to use an <code>AggregateSummaryStatistics</code> instance
|
||||||
to accumulate overall statistics contributed by <code>SummaryStatistics</code>
|
to accumulate overall statistics contributed by <code>SummaryStatistics</code>
|
||||||
instances created using
|
instances created using
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatistics.html#createContributingStatistics()">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AggregateSummaryStatistics.html#createContributingStatistics()">
|
||||||
AggregateSummaryStatistics.createContributingStatistics()</a>:
|
AggregateSummaryStatistics.createContributingStatistics()</a>:
|
||||||
<source>
|
<source>
|
||||||
// Create a AggregateSummaryStatistics instance to accumulate the overall statistics
|
// Create a AggregateSummaryStatistics instance to accumulate the overall statistics
|
||||||
|
@ -264,7 +264,7 @@ double totalSampleSum = aggregate.getSum();
|
||||||
<code>SummaryStatistics</code> instance maintained by the aggregate and each value addition updates the
|
<code>SummaryStatistics</code> instance maintained by the aggregate and each value addition updates the
|
||||||
aggregate as well as the subsample. For applications that can wait to do the aggregation until all values
|
aggregate as well as the subsample. For applications that can wait to do the aggregation until all values
|
||||||
have been added, a static
|
have been added, a static
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatistics.html#aggregate(java.util.Collection)">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AggregateSummaryStatistics.html#aggregate(java.util.Collection)">
|
||||||
aggregate</a> method is available, as shown in the following example.
|
aggregate</a> method is available, as shown in the following example.
|
||||||
This method should be used when aggregation needs to be done across threads.
|
This method should be used when aggregation needs to be done across threads.
|
||||||
<source>
|
<source>
|
||||||
|
@ -292,7 +292,7 @@ double totalSampleSum = aggregatedStats.getSum();
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="1.3 Frequency distributions">
|
<subsection name="1.3 Frequency distributions">
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/Frequency.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/Frequency.html">
|
||||||
Frequency</a>
|
Frequency</a>
|
||||||
provides a simple interface for maintaining counts and percentages of discrete
|
provides a simple interface for maintaining counts and percentages of discrete
|
||||||
values.
|
values.
|
||||||
|
@ -356,7 +356,7 @@ System.out.println(f.getCumPct("z")); // displays 1
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="1.4 Simple regression">
|
<subsection name="1.4 Simple regression">
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/SimpleRegression.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.html">
|
||||||
SimpleRegression</a> provides ordinary least squares regression with
|
SimpleRegression</a> provides ordinary least squares regression with
|
||||||
one independent variable estimating the linear model:
|
one independent variable estimating the linear model:
|
||||||
</p>
|
</p>
|
||||||
|
@ -392,7 +392,7 @@ System.out.println(f.getCumPct("z")); // displays 1
|
||||||
"compute" method that updates all statistics. Each of the getters performs
|
"compute" method that updates all statistics. Each of the getters performs
|
||||||
the necessary computations to return the requested statistic.</li>
|
the necessary computations to return the requested statistic.</li>
|
||||||
<li> The intercept term may be suppressed by passing <code>false</code> to the
|
<li> The intercept term may be suppressed by passing <code>false</code> to the
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/SimpleRegression.html#SimpleRegression(boolean)">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.html#SimpleRegression(boolean)">
|
||||||
SimpleRegression(boolean)</a> constructor. When the <code>hasIntercept</code>
|
SimpleRegression(boolean)</a> constructor. When the <code>hasIntercept</code>
|
||||||
property is false, the model is estimated without a constant term and
|
property is false, the model is estimated without a constant term and
|
||||||
<code>getIntercept()</code> returns <code>0</code>.</li>
|
<code>getIntercept()</code> returns <code>0</code>.</li>
|
||||||
|
@ -510,9 +510,9 @@ System.out.println(regression.getInterceptStdErr() );
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="1.5 Multiple linear regression">
|
<subsection name="1.5 Multiple linear regression">
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/OLSMultipleLinearRegression.html">
|
||||||
OLSMultipleLinearRegression</a> and
|
OLSMultipleLinearRegression</a> and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/GLSMultipleLinearRegression.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/GLSMultipleLinearRegression.html">
|
||||||
GLSMultipleLinearRegression</a> provide least squares regression to fit the linear model:
|
GLSMultipleLinearRegression</a> provide least squares regression to fit the linear model:
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -524,9 +524,9 @@ System.out.println(regression.getInterceptStdErr() );
|
||||||
of <b>error terms</b> or <b>residuals</b>.
|
of <b>error terms</b> or <b>residuals</b>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/OLSMultipleLinearRegression.html">
|
||||||
OLSMultipleLinearRegression</a> provides Ordinary Least Squares Regression, and
|
OLSMultipleLinearRegression</a> provides Ordinary Least Squares Regression, and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/GLSMultipleLinearRegression.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/GLSMultipleLinearRegression.html">
|
||||||
GLSMultipleLinearRegression</a> implements Generalized Least Squares. See the javadoc for these
|
GLSMultipleLinearRegression</a> implements Generalized Least Squares. See the javadoc for these
|
||||||
classes for details on the algorithms and formulas used.
|
classes for details on the algorithms and formulas used.
|
||||||
</p>
|
</p>
|
||||||
|
@ -534,11 +534,11 @@ System.out.println(regression.getInterceptStdErr() );
|
||||||
Data for OLS models can be loaded in a single double[] array, consisting of concatenated rows of data, each containing
|
Data for OLS models can be loaded in a single double[] array, consisting of concatenated rows of data, each containing
|
||||||
the regressand (Y) value, followed by regressor values; or using a double[][] array with rows corresponding to
|
the regressand (Y) value, followed by regressor values; or using a double[][] array with rows corresponding to
|
||||||
observations. GLS models also require a double[][] array representing the covariance matrix of the error terms. See
|
observations. GLS models also require a double[][] array representing the covariance matrix of the error terms. See
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/AbstractMultipleLinearRegression.html#newSampleData(double[], int, int)">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/AbstractMultipleLinearRegression.html#newSampleData(double[], int, int)">
|
||||||
AbstractMultipleLinearRegression#newSampleData(double[],int,int)</a>,
|
AbstractMultipleLinearRegression#newSampleData(double[],int,int)</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html#newSampleData(double[], double[][])">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/OLSMultipleLinearRegression.html#newSampleData(double[], double[][])">
|
||||||
OLSMultipleLinearRegression#newSampleData(double[], double[][])</a> and
|
OLSMultipleLinearRegression#newSampleData(double[], double[][])</a> and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/regression/GLSMultipleLinearRegression.html#newSampleData(double[], double[][], double[][])">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/GLSMultipleLinearRegression.html#newSampleData(double[], double[][], double[][])">
|
||||||
GLSMultipleLinearRegression#newSampleData(double[],double[][],double[][])</a> for details.
|
GLSMultipleLinearRegression#newSampleData(double[],double[][],double[][])</a> for details.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -616,16 +616,16 @@ regression.newSampleData(y, x, omega);
|
||||||
<subsection name="1.6 Rank transformations">
|
<subsection name="1.6 Rank transformations">
|
||||||
<p>
|
<p>
|
||||||
Some statistical algorithms require that input data be replaced by ranks.
|
Some statistical algorithms require that input data be replaced by ranks.
|
||||||
The <a href="../apidocs/org/apache/commons/math4/stat/ranking/package-summary.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/package-summary.html">
|
||||||
org.apache.commons.math4.stat.ranking</a> package provides rank transformation.
|
org.apache.commons.math4.stat.ranking</a> package provides rank transformation.
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/ranking/RankingAlgorithm.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/RankingAlgorithm.html">
|
||||||
RankingAlgorithm</a> defines the interface for ranking.
|
RankingAlgorithm</a> defines the interface for ranking.
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/ranking/NaturalRanking.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.html">
|
||||||
NaturalRanking</a> provides an implementation that has two configuration options.
|
NaturalRanking</a> provides an implementation that has two configuration options.
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/stat/ranking/TiesStrategy.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/TiesStrategy.html">
|
||||||
Ties strategy</a> deterimines how ties in the source data are handled by the ranking</li>
|
Ties strategy</a> deterimines how ties in the source data are handled by the ranking</li>
|
||||||
<li><a href="../apidocs/org/apache/commons/math4/stat/ranking/NaNStrategy.html">
|
<li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaNStrategy.html">
|
||||||
NaN strategy</a> determines how NaN values in the source data are handled.</li>
|
NaN strategy</a> determines how NaN values in the source data are handled.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
|
@ -649,24 +649,24 @@ new NaturalRanking(NaNStrategy.REMOVED,TiesStrategy.SEQUENTIAL).rank(exampleData
|
||||||
values larger than any other value (including <code>Double.POSITIVE_INFINITY</code>). The
|
values larger than any other value (including <code>Double.POSITIVE_INFINITY</code>). The
|
||||||
default <code>TiesStrategy</code> is <code>TiesStrategy.AVERAGE,</code> which assigns tied
|
default <code>TiesStrategy</code> is <code>TiesStrategy.AVERAGE,</code> which assigns tied
|
||||||
values the average of the ranks applicable to the sequence of ties. See the
|
values the average of the ranks applicable to the sequence of ties. See the
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/ranking/NaturalRanking.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.html">
|
||||||
NaturalRanking</a> for more examples and <a href="../apidocs/org/apache/commons/math4/stat/ranking/TiesStrategy.html">
|
NaturalRanking</a> for more examples and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/TiesStrategy.html">
|
||||||
TiesStrategy</a> and <a href="../apidocs/org/apache/commons/math4/stat/ranking/NaNStrategy.html">NaNStrategy</a>
|
TiesStrategy</a> and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaNStrategy.html">NaNStrategy</a>
|
||||||
for details on these configuration options.
|
for details on these configuration options.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="1.7 Covariance and correlation">
|
<subsection name="1.7 Covariance and correlation">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/stat/correlation/package-summary.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/package-summary.html">
|
||||||
org.apache.commons.math4.stat.correlation</a> package computes covariances
|
org.apache.commons.math4.stat.correlation</a> package computes covariances
|
||||||
and correlations for pairs of arrays or columns of a matrix.
|
and correlations for pairs of arrays or columns of a matrix.
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/Covariance.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/Covariance.html">
|
||||||
Covariance</a> computes covariances,
|
Covariance</a> computes covariances,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/PearsonsCorrelation.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/PearsonsCorrelation.html">
|
||||||
PearsonsCorrelation</a> provides Pearson's Product-Moment correlation coefficients,
|
PearsonsCorrelation</a> provides Pearson's Product-Moment correlation coefficients,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/SpearmansCorrelation.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/SpearmansCorrelation.html">
|
||||||
SpearmansCorrelation</a> computes Spearman's rank correlation and
|
SpearmansCorrelation</a> computes Spearman's rank correlation and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/KendallsCorrelation.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/KendallsCorrelation.html">
|
||||||
KendallsCorrelation</a> computes Kendall's tau rank correlation.
|
KendallsCorrelation</a> computes Kendall's tau rank correlation.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -682,21 +682,21 @@ new NaturalRanking(NaNStrategy.REMOVED,TiesStrategy.SEQUENTIAL).rank(exampleData
|
||||||
defaults to <code>true.</code>
|
defaults to <code>true.</code>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/PearsonsCorrelation.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/PearsonsCorrelation.html">
|
||||||
PearsonsCorrelation</a> computes correlations defined by the formula <br/>
|
PearsonsCorrelation</a> computes correlations defined by the formula <br/>
|
||||||
<code>cor(X, Y) = sum[(x<sub>i</sub> - E(X))(y<sub>i</sub> - E(Y))] / [(n - 1)s(X)s(Y)]</code><br/>
|
<code>cor(X, Y) = sum[(x<sub>i</sub> - E(X))(y<sub>i</sub> - E(Y))] / [(n - 1)s(X)s(Y)]</code><br/>
|
||||||
where <code>E(X)</code> and <code>E(Y)</code> are means of <code>X</code> and <code>Y</code>
|
where <code>E(X)</code> and <code>E(Y)</code> are means of <code>X</code> and <code>Y</code>
|
||||||
and <code>s(X)</code>, <code>s(Y)</code> are standard deviations.
|
and <code>s(X)</code>, <code>s(Y)</code> are standard deviations.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/SpearmansCorrelation.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/SpearmansCorrelation.html">
|
||||||
SpearmansCorrelation</a> applies a rank transformation to the input data and computes Pearson's
|
SpearmansCorrelation</a> applies a rank transformation to the input data and computes Pearson's
|
||||||
correlation on the ranked data. The ranking algorithm is configurable. By default,
|
correlation on the ranked data. The ranking algorithm is configurable. By default,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/ranking/NaturalRanking.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.html">
|
||||||
NaturalRanking</a> with default strategies for handling ties and NaN values is used.
|
NaturalRanking</a> with default strategies for handling ties and NaN values is used.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/correlation/KendallsCorrelation.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/KendallsCorrelation.html">
|
||||||
KendallsCorrelation</a> computes the association between two measured quantities. A tau test
|
KendallsCorrelation</a> computes the association between two measured quantities. A tau test
|
||||||
is a non-parametric hypothesis test for statistical dependence based on the tau coefficient.
|
is a non-parametric hypothesis test for statistical dependence based on the tau coefficient.
|
||||||
</li>
|
</li>
|
||||||
|
@ -818,7 +818,7 @@ new KendallsCorrelation().correlation(x, y)
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="1.8 Statistical tests">
|
<subsection name="1.8 Statistical tests">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/stat/inference/">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/">
|
||||||
org.apache.commons.math4.stat.inference</a> package provides implementations for
|
org.apache.commons.math4.stat.inference</a> package provides implementations for
|
||||||
<a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc22.htm">
|
<a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc22.htm">
|
||||||
Student's t</a>,
|
Student's t</a>,
|
||||||
|
@ -838,23 +838,23 @@ new KendallsCorrelation().correlation(x, y)
|
||||||
<code>Chi-Square</code>, <code>G</code>, <code>One-Way ANOVA</code>, <code>Mann-Whitney U</code>
|
<code>Chi-Square</code>, <code>G</code>, <code>One-Way ANOVA</code>, <code>Mann-Whitney U</code>
|
||||||
<code>Wilcoxon signed rank</code>, and <code>Kolmogorov-Smirnov</code> tests.
|
<code>Wilcoxon signed rank</code>, and <code>Kolmogorov-Smirnov</code> tests.
|
||||||
The respective test classes are
|
The respective test classes are
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/TTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/TTest.html">
|
||||||
TTest</a>,
|
TTest</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/ChiSquareTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/ChiSquareTest.html">
|
||||||
ChiSquareTest</a>,
|
ChiSquareTest</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/GTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/GTest.html">
|
||||||
GTest</a>,
|
GTest</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/OneWayAnova.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/OneWayAnova.html">
|
||||||
OneWayAnova</a>,
|
OneWayAnova</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/MannWhitneyUTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/MannWhitneyUTest.html">
|
||||||
MannWhitneyUTest</a>,
|
MannWhitneyUTest</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/WilcoxonSignedRankTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/WilcoxonSignedRankTest.html">
|
||||||
WilcoxonSignedRankTest</a>,
|
WilcoxonSignedRankTest</a>,
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/BinomialTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/BinomialTest.html">
|
||||||
BinomialTest</a> and
|
BinomialTest</a> and
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/KolmogorovSmirnovTest.html">
|
||||||
KolmogorovSmirnovTest</a>.
|
KolmogorovSmirnovTest</a>.
|
||||||
The <a href="../apidocs/org/apache/commons/math4/stat/inference/TestUtils.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/TestUtils.html">
|
||||||
TestUtils</a> class provides static methods to get test instances or
|
TestUtils</a> class provides static methods to get test instances or
|
||||||
to compute test statistics directly. The examples below all use the
|
to compute test statistics directly. The examples below all use the
|
||||||
static methods in <code>TestUtils</code> to execute tests. To get
|
static methods in <code>TestUtils</code> to execute tests. To get
|
||||||
|
@ -936,7 +936,7 @@ System.out.println(TestUtils.t(mu, observed));
|
||||||
<code>mu.</code>
|
<code>mu.</code>
|
||||||
</dd>
|
</dd>
|
||||||
<dd>To compare the mean of a dataset described by a
|
<dd>To compare the mean of a dataset described by a
|
||||||
<a href="../apidocs/org/apache/commons/math4/stat/descriptive/StatisticalSummary.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/StatisticalSummary.html">
|
||||||
StatisticalSummary</a> to a fixed value:
|
StatisticalSummary</a> to a fixed value:
|
||||||
<source>
|
<source>
|
||||||
double[] observed ={1d, 2d, 3d};
|
double[] observed ={1d, 2d, 3d};
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
<subsection name="6.1 Overview" href="overview">
|
<subsection name="6.1 Overview" href="overview">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/util/package-summary.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/package-summary.html">
|
||||||
org.apache.commons.math4.util</a> package collects a group of array utilities,
|
org.apache.commons.math4.util</a> package collects a group of array utilities,
|
||||||
value transformers, and numerical routines used by implementation classes in
|
value transformers, and numerical routines used by implementation classes in
|
||||||
commons-math.
|
commons-math.
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
array implementation was developed and is provided for reuse in the
|
array implementation was developed and is provided for reuse in the
|
||||||
<code>util</code> package. The core functionality provided is described in
|
<code>util</code> package. The core functionality provided is described in
|
||||||
the documentation for the interface,
|
the documentation for the interface,
|
||||||
<a href="../apidocs/org/apache/commons/math4/util/DoubleArray.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/DoubleArray.html">
|
||||||
DoubleArray</a>. This interface adds one method,
|
DoubleArray</a>. This interface adds one method,
|
||||||
<code>addElementRolling(double)</code> to basic list accessors.
|
<code>addElementRolling(double)</code> to basic list accessors.
|
||||||
The <code>addElementRolling</code> method adds an element
|
The <code>addElementRolling</code> method adds an element
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
in the list.
|
in the list.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/util/ResizableDoubleArray.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ResizableDoubleArray.html">
|
||||||
ResizableDoubleArray</a> class provides a configurable, array-backed
|
ResizableDoubleArray</a> class provides a configurable, array-backed
|
||||||
implementation of the <code>DoubleArray</code> interface.
|
implementation of the <code>DoubleArray</code> interface.
|
||||||
When <code>addElementRolling</code> is invoked, the underlying
|
When <code>addElementRolling</code> is invoked, the underlying
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
automatically, with frequency / effect driven by the configuration
|
automatically, with frequency / effect driven by the configuration
|
||||||
properties <code>expansionMode</code>, <code>expansionFactor</code> and
|
properties <code>expansionMode</code>, <code>expansionFactor</code> and
|
||||||
<code>contractionCriteria.</code> See
|
<code>contractionCriteria.</code> See
|
||||||
<a href="../apidocs/org/apache/commons/math4/util/ResizableDoubleArray.html">
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ResizableDoubleArray.html">
|
||||||
ResizableDoubleArray</a>
|
ResizableDoubleArray</a>
|
||||||
for details.
|
for details.
|
||||||
</p>
|
</p>
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
<subsection name="6.3 int/double hash map" href="int_double_hash_map">
|
<subsection name="6.3 int/double hash map" href="int_double_hash_map">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/util/OpenIntToDoubleHashMap.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/OpenIntToDoubleHashMap.html">
|
||||||
OpenIntToDoubleHashMap</a> class provides a specialized hash map
|
OpenIntToDoubleHashMap</a> class provides a specialized hash map
|
||||||
implementation for int/double. This implementation has a much smaller memory
|
implementation for int/double. This implementation has a much smaller memory
|
||||||
overhead than standard <code>java.util.HashMap</code> class. It uses open addressing
|
overhead than standard <code>java.util.HashMap</code> class. It uses open addressing
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
|
|
||||||
<subsection name="6.4 Continued Fractions" href="continued_fractions">
|
<subsection name="6.4 Continued Fractions" href="continued_fractions">
|
||||||
<p>
|
<p>
|
||||||
The <a href="../apidocs/org/apache/commons/math4/util/ContinuedFraction.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ContinuedFraction.html">
|
||||||
ContinuedFraction</a> class provides a generic way to create and evaluate
|
ContinuedFraction</a> class provides a generic way to create and evaluate
|
||||||
continued fractions. The easiest way to create a continued fraction is
|
continued fractions. The easiest way to create a continued fraction is
|
||||||
to subclass <code>ContinuedFraction</code> and override the
|
to subclass <code>ContinuedFraction</code> and override the
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
<subsection name="6.5 Binomial coefficients, factorials, Stirling numbers and other common math functions" href="binomial_coefficients_factorials_and_other_common_math_functions">
|
<subsection name="6.5 Binomial coefficients, factorials, Stirling numbers and other common math functions" href="binomial_coefficients_factorials_and_other_common_math_functions">
|
||||||
<p>
|
<p>
|
||||||
A collection of reusable math functions is provided in the
|
A collection of reusable math functions is provided in the
|
||||||
<a href="../apidocs/org/apache/commons/math4/util/ArithmeticUtils.html">ArithmeticUtils</a>
|
<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ArithmeticUtils.html">ArithmeticUtils</a>
|
||||||
utility class. ArithmeticUtils currently includes methods to compute the following: <ul>
|
utility class. ArithmeticUtils currently includes methods to compute the following: <ul>
|
||||||
<li>
|
<li>
|
||||||
Binomial coefficients -- "n choose k" available as an (exact) long value,
|
Binomial coefficients -- "n choose k" available as an (exact) long value,
|
||||||
|
@ -233,7 +233,7 @@
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
||||||
<subsection name="6.7 Miscellaneous" href="miscellaneous">
|
<subsection name="6.7 Miscellaneous" href="miscellaneous">
|
||||||
The <a href="../apidocs/org/apache/commons/math4/util/MultidimensionalCounter.html">
|
The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/MultidimensionalCounter.html">
|
||||||
MultidimensionalCounter</a> is a utility class that converts a set of indices
|
MultidimensionalCounter</a> is a utility class that converts a set of indices
|
||||||
(identifying points in a multidimensional space) to a single index (e.g. identifying
|
(identifying points in a multidimensional space) to a single index (e.g. identifying
|
||||||
a location in a one-dimensional array.
|
a location in a one-dimensional array.
|
||||||
|
|
Loading…
Reference in New Issue