Update userguide.

Some links are still broken (due to the refactoring).
This commit is contained in:
Gilles Sadowski 2024-04-05 13:08:03 +02:00
parent a368d71847
commit ffcdf39f8f
15 changed files with 298 additions and 298 deletions

View File

@ -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 &lt; 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

View File

@ -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>

View File

@ -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>

View File

@ -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:

View File

@ -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>

View File

@ -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>

View File

@ -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&lt;PointVectorValuePair&gt;</a>, <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/SimplePointChecker.html">SimplePointChecker&lt;PointVectorValuePair&gt;</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>

View File

@ -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>

View File

@ -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>

View File

@ -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) = &#x3c9; &#xD7; (c<sub>1</sub> - y<sub>1</sub>(t))</li> <li>y'<sub>0</sub>(t) = &#x3c9; &#xD7; (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

View File

@ -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&#232;re DifferentiableMultivariateFunction</a>. Both the Fletcher-Reeves and the Polak-Ribi&#232;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>

View File

@ -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>.

View File

@ -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>

View File

@ -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};

View File

@ -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.