Base package name: Changed "math" -> "math3" in userguide links.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1291806 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
bc2588f16d
commit
66ea7501d4
|
@ -93,13 +93,13 @@
|
|||
</subsection>
|
||||
<subsection name="4.3 Root-finding" href="rootfinding">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/solvers/UnivariateRealSolver.html">
|
||||
UnivariateRealSolver</a>, <a href="../apidocs/org/apache/commons/math/analysis/solvers/DifferentiableUnivariateRealSolver.html">
|
||||
DifferentiableUnivariateRealSolver</a> and <a href="../apidocs/org/apache/commons/math/analysis/solvers/PolynomialSolver.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/solvers/UnivariateRealSolver.html">
|
||||
UnivariateRealSolver</a>, <a href="../apidocs/org/apache/commons/math3/analysis/solvers/DifferentiableUnivariateRealSolver.html">
|
||||
DifferentiableUnivariateRealSolver</a> and <a href="../apidocs/org/apache/commons/math3/analysis/solvers/PolynomialSolver.html">
|
||||
PolynomialSolver</a> provide means to find roots of
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/DifferentiableUnivariateRealFunction.html">differentiable univariate real-valued functions</a>,
|
||||
and <a href="../apidocs/org/apache/commons/math/analysis/polynomials/PolynomialFunction.html">polynomial functions</a> respectively.
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a>,
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/DifferentiableUnivariateRealFunction.html">differentiable univariate real-valued functions</a>,
|
||||
and <a href="../apidocs/org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html">polynomial functions</a> respectively.
|
||||
A root is the value where the function takes the value 0. Commons-Math
|
||||
includes implementations of the several root-finding algorithms:
|
||||
</p>
|
||||
|
@ -107,84 +107,84 @@
|
|||
<tr BGCOLOR="#CCCCFF"><td colspan="5"><font size="+2">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>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/BisectionSolver.html">Bisection</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/BisectionSolver.html">Bisection</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>linear, guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/BrentSolver.html">Brent-Dekker</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/BrentSolver.html">Brent-Dekker</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>super-linear, guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing n<sup>th</sup> order Brent</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing n<sup>th</sup> order Brent</a></td>
|
||||
<td>variable order, guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/IllinoisSolver.html">Illinois Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/IllinoisSolver.html">Illinois Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>super-linear, guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/LaguerreSolver.html">Laguerre's Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/polynomials/PolynomialFunction.html">polynomial functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/LaguerreSolver.html">Laguerre's Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html">polynomial functions</a></td>
|
||||
<td>cubic for simple root, linear for multiple root</td>
|
||||
<td>yes</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/MullerSolver.html">Muller's Method</a> using bracketing to deal with real-valued functions</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/MullerSolver.html">Muller's Method</a> using bracketing to deal with real-valued functions</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>quadratic close to roots</td>
|
||||
<td>yes</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/MullerSolver2.html">Muller's Method</a> using modulus to deal with real-valued functions</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/MullerSolver2.html">Muller's Method</a> using modulus to deal with real-valued functions</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>quadratic close to root</td>
|
||||
<td>yes</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/NewtonSolver.html">Newton's Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/DifferentiableUnivariateRealFunction.html">differentiable univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/NewtonSolver.html">Newton's Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/DifferentiableUnivariateRealFunction.html">differentiable univariate real-valued functions</a></td>
|
||||
<td>quadratic, non-guaranteed</td>
|
||||
<td>no</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/PegasusSolver.html">Pegasus Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/PegasusSolver.html">Pegasus Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>super-linear, guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/RegulaFalsiSolver.html">Regula Falsi (false position) Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/RegulaFalsiSolver.html">Regula Falsi (false position) Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>linear, guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>yes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/RiddersSolver.html">Ridder's Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/RiddersSolver.html">Ridder's Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>super-linear</td>
|
||||
<td>yes</td>
|
||||
<td>no</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/solvers/SecantSolver.html">Secant Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/solvers/SecantSolver.html">Secant Method</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">univariate real-valued functions</a></td>
|
||||
<td>super-linear, non-guaranteed</td>
|
||||
<td>yes</td>
|
||||
<td>no</td>
|
||||
|
@ -240,9 +240,9 @@
|
|||
ill-conditioned problems is to be solved, this number can be decreased in order
|
||||
to avoid wasting time.
|
||||
<a
|
||||
href="../apidocs/org/apache/commons/math/analysis/solvers/BracketedUnivariateRealSolver.html">Bracketed
|
||||
href="../apidocs/org/apache/commons/math3/analysis/solvers/BracketedUnivariateRealSolver.html">Bracketed
|
||||
solvers</a> also take an <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/solvers/AllowedSolutions.html">allowedSolutions</a>
|
||||
href="../apidocs/org/apache/commons/math3/analysis/solvers/AllowedSolutions.html">allowedSolutions</a>
|
||||
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>,
|
||||
<code>BELOW_SIDE</code> or <code>ABOVE_SIDE</code>. Left and right are used to specify the root along
|
||||
|
@ -376,13 +376,13 @@ double c = UnivariateRealSolverUtils.forceSide(100, function,
|
|||
</subsection>
|
||||
<subsection name="4.4 Interpolation" href="interpolation">
|
||||
<p>
|
||||
A <a href="../apidocs/org/apache/commons/math/analysis/interpolation/UnivariateRealInterpolator.html">
|
||||
A <a href="../apidocs/org/apache/commons/math3/analysis/interpolation/UnivariateRealInterpolator.html">
|
||||
UnivariateRealInterpolator</a> is used to find a univariate real-valued
|
||||
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>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
|
||||
href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">
|
||||
UnivariateRealFunction</a> interface. It can therefore be evaluated at any point,
|
||||
including point not belonging to the original set.
|
||||
Currently, only an interpolator for generating natural cubic splines and a polynomial
|
||||
|
@ -437,13 +437,13 @@ System.out println("f(" + interpolationX + ") = " + interpolatedY);</source>
|
|||
href="http://www.dudziak.com/microsphere.pdf">MS thesis</a>.
|
||||
</p>
|
||||
<p>
|
||||
A <a href="../apidocs/org/apache/commons/math/analysis/interpolation/BivariateRealGridInterpolator.html">
|
||||
A <a href="../apidocs/org/apache/commons/math3/analysis/interpolation/BivariateRealGridInterpolator.html">
|
||||
BivariateRealGridInterpolator</a> is used to find a bivariate real-valued
|
||||
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>)
|
||||
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
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/BivariateRealFunction.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/BivariateRealFunction.html">
|
||||
BivariateRealFunction</a> interface. It can therefore be evaluated at any point,
|
||||
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
|
||||
|
@ -455,25 +455,25 @@ System.out println("f(" + interpolationX + ") = " + interpolatedY);</source>
|
|||
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.
|
||||
From two-dimensional data sampled on a grid, the
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolator.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/interpolation/BicubicSplineInterpolator.html">
|
||||
BicubicSplineInterpolator</a> computes a
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/interpolation/BicubicSplineInterpolatingFunction.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/interpolation/BicubicSplineInterpolatingFunction.html">
|
||||
bicubic interpolating function</a>.
|
||||
Prior to computing an interpolating function, the
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/interpolation/SmoothingPolynomialBicubicSplineInterpolator.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/interpolation/SmoothingPolynomialBicubicSplineInterpolator.html">
|
||||
SmoothingPolynomialBicubicSplineInterpolator</a> class performs smoothing of
|
||||
the data by computing the polynomial that best fits each of the one-dimensional
|
||||
curves along each of the coordinate axes.
|
||||
</p>
|
||||
<p>
|
||||
A <a href="../apidocs/org/apache/commons/math/analysis/interpolation/TrivariateRealGridInterpolator.html">
|
||||
A <a href="../apidocs/org/apache/commons/math3/analysis/interpolation/TrivariateRealGridInterpolator.html">
|
||||
TrivariateRealGridInterpolator</a> is used to find a trivariate real-valued
|
||||
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>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
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/TrivariateRealFunction.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/TrivariateRealFunction.html">
|
||||
TrivariateRealFunction</a> interface. It can therefore be evaluated at any point,
|
||||
including a point not belonging to the original set.
|
||||
The arrays <code>x<sub>i</sub></code>, <code>y<sub>j</sub></code> and
|
||||
|
@ -486,41 +486,41 @@ System.out println("f(" + interpolationX + ") = " + interpolatedY);</source>
|
|||
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.
|
||||
From three-dimensional data sampled on a grid, the
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolator.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/interpolation/TricubicSplineInterpolator.html">
|
||||
TricubicSplineInterpolator</a> computes a
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/interpolation/TricubicSplineInterpolatingFunction.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/interpolation/TricubicSplineInterpolatingFunction.html">
|
||||
tricubic interpolating function</a>.
|
||||
</p>
|
||||
</subsection>
|
||||
<subsection name="4.5 Integration" href="integration">
|
||||
<p>
|
||||
A <a href="../apidocs/org/apache/commons/math/analysis/integration/UnivariateRealIntegrator.html">
|
||||
A <a href="../apidocs/org/apache/commons/math3/analysis/integration/UnivariateRealIntegrator.html">
|
||||
UnivariateRealIntegrator</a> provides the means to numerically integrate
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">
|
||||
univariate real-valued functions</a>.
|
||||
Commons-Math includes implementations of the following integration algorithms: <ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/analysis/integration/RombergIntegrator.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/analysis/integration/RombergIntegrator.html">
|
||||
Romberg's method</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/analysis/integration/SimpsonIntegrator.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/analysis/integration/SimpsonIntegrator.html">
|
||||
Simpson's method</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/analysis/integration/TrapezoidIntegrator.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/analysis/integration/TrapezoidIntegrator.html">
|
||||
trapezoid method</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/analysis/integration/LegendreGaussIntegrator.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/analysis/integration/LegendreGaussIntegrator.html">
|
||||
Legendre-Gauss method</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
</subsection>
|
||||
<subsection name="4.6 Polynomials" href="polynomials">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/analysis/polynomials/package-summary.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/analysis/polynomials/package-summary.html">
|
||||
org.apache.commons.math3.analysis.polynomials</a> package provides real
|
||||
coefficients polynomials.
|
||||
</p>
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/analysis/polynomials/PolynomialFunction.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/analysis/polynomials/PolynomialFunction.html">
|
||||
PolynomialFunction</a> class is the most general one, using traditional
|
||||
coefficients arrays. The
|
||||
<a href="../apidocs/org/apache/commons/math/analysis/polynomials/PolynomialsUtils.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/analysis/polynomials/PolynomialsUtils.html">
|
||||
PolynomialsUtils</a> utility class provides static factory methods to build
|
||||
Chebyshev, Hermite, Jacobi, Laguerre and Legendre polynomials. Coefficients are
|
||||
computed using exact fractions so these factory methods can build polynomials
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
</subsection>
|
||||
<subsection name="7.2 Complex Numbers" href="complex">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/complex/Complex.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/complex/Complex.html">
|
||||
Complex</a> provides a complex number type that forms the basis for
|
||||
the complex functionality found in commons-math.
|
||||
</p>
|
||||
|
@ -45,9 +45,9 @@
|
|||
handling infinite and <code>NaN</code> values. No attempt is made
|
||||
to comply with ANSII/IEC C99x Annex G or any other standard for
|
||||
Complex arithmetic. See the class and method javadocs for the
|
||||
<a href="../apidocs/org/apache/commons/math/complex/Complex.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/complex/Complex.html">
|
||||
Complex</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/complex/ComplexUtils.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/complex/ComplexUtils.html">
|
||||
ComplexUtils</a> classes for details on computing formulas.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -78,11 +78,11 @@ Complex answer = lhs.add(rhs); // add two complex numbers
|
|||
</subsection>
|
||||
<subsection name="7.3 Complex Transcendental Functions" href="function">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/complex/Complex.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/complex/Complex.html">
|
||||
Complex</a> also provides implementations of serveral transcendental
|
||||
functions involving complex number arguments.
|
||||
Prior to version 1.2, these functions were provided
|
||||
by <a href="../apidocs/org/apache/commons/math/complex/ComplexUtils.html">
|
||||
by <a href="../apidocs/org/apache/commons/math3/complex/ComplexUtils.html">
|
||||
ComplexUtils</a> in a way similar to the real number functions found in
|
||||
<code>java.lang.Math</code>, but this has been deprecated.
|
||||
These operations provide the means to compute the log, sine, tangent,
|
||||
|
@ -98,7 +98,7 @@ Complex answer = first.log(); // natural logarithm.
|
|||
<subsection name="7.4 Complex Formatting and Parsing" href="formatting">
|
||||
<p>
|
||||
<code>Complex</code> instances can be converted to and from strings
|
||||
using the<a href="../apidocs/org/apache/commons/math/complex/ComplexFormat.html">
|
||||
using the<a href="../apidocs/org/apache/commons/math3/complex/ComplexFormat.html">
|
||||
ComplexFormat</a> class.
|
||||
<code>ComplexFormat</code> is a <code>java.text.Format</code>
|
||||
extension and, as such, is used like other formatting objects (e.g.
|
||||
|
|
|
@ -70,19 +70,19 @@ double upperTail = 1.0 - t.cumulativeProbability(2.75); // P(T >= 2.75)</sour
|
|||
Since there are numerous distributions and Commons-Math only directly
|
||||
supports a handful, it may be necessary to extend the distribution
|
||||
framework to satisfy individual needs. It is recommended that the
|
||||
<a href="../apidocs/org/apache/commons/math/distribution/Distribution.html">Distribution</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/distribution/ContinuousDistribution.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/distribution/Distribution.html">Distribution</a>,
|
||||
<a href="../apidocs/org/apache/commons/math3/distribution/ContinuousDistribution.html">
|
||||
ContinuousDistribution</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/distribution/DiscreteDistribution.html">
|
||||
DiscreteDistribution</a>, and <a href="../apidocs/org/apache/commons/math/distribution/IntegerDistribution.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/distribution/DiscreteDistribution.html">
|
||||
DiscreteDistribution</a>, and <a href="../apidocs/org/apache/commons/math3/distribution/IntegerDistribution.html">
|
||||
IntegerDistribution</a> interfaces serve as
|
||||
base types for any extension. These serve as the basis for all the
|
||||
distributions directly supported by Commons-Math and using those interfaces
|
||||
for implementation purposes will ensure any extension is compatible with the
|
||||
remainder of Commons-Math. To aid in implementing a distribution extension,
|
||||
the <a href="../apidocs/org/apache/commons/math/distribution/AbstractDistribution.html">
|
||||
AbstractDistribution</a>, <a href="../apidocs/org/apache/commons/math/distribution/AbstractContinuousDistribution.html">
|
||||
AbstractContinuousDistribution</a>, and <a href="../apidocs/org/apache/commons/math/distribution/AbstractIntegerDistribution.html">
|
||||
the <a href="../apidocs/org/apache/commons/math3/distribution/AbstractDistribution.html">
|
||||
AbstractDistribution</a>, <a href="../apidocs/org/apache/commons/math3/distribution/AbstractContinuousDistribution.html">
|
||||
AbstractContinuousDistribution</a>, and <a href="../apidocs/org/apache/commons/math3/distribution/AbstractIntegerDistribution.html">
|
||||
AbstractIntegerDistribution</a> provide implementation building blocks and
|
||||
offer basic distribution functionality. By extending these abstract classes
|
||||
directly, much of the repetitive distribution implementation is already
|
||||
|
|
|
@ -32,12 +32,12 @@
|
|||
</subsection>
|
||||
<subsection name="15.2 Kalman Filter" href="kalman">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/filter/KalmanFilter.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/filter/KalmanFilter.html">
|
||||
KalmanFilter</a> provides a discrete-time filter to estimate
|
||||
a stochastic linear process.</p>
|
||||
|
||||
<p>A Kalman filter is initialized with a <a href="../apidocs/org/apache/commons/math/filter/ProcessModel.html">
|
||||
ProcessModel</a> and a <a href="../apidocs/org/apache/commons/math/filter/MeasurementModel.html">
|
||||
<p>A Kalman filter is initialized with a <a href="../apidocs/org/apache/commons/math3/filter/ProcessModel.html">
|
||||
ProcessModel</a> and a <a href="../apidocs/org/apache/commons/math3/filter/MeasurementModel.html">
|
||||
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
|
||||
in the mathematical literature:
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
</subsection>
|
||||
<subsection name="9.2 Fraction Numbers" href="fraction">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/fraction/Fraction.html">
|
||||
Fraction</a> and <a href="../apidocs/org/apache/commons/math/fraction/BigFraction.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/fraction/Fraction.html">
|
||||
Fraction</a> and <a href="../apidocs/org/apache/commons/math3/fraction/BigFraction.html">
|
||||
BigFraction</a> provide fraction number type that forms the basis for
|
||||
the fraction functionality found in Commons-Math. The former one can be
|
||||
used for fractions whose numerators and denominators are small enough
|
||||
|
@ -71,7 +71,7 @@ Fraction answer = lhs.add(rhs); // add two fractions
|
|||
<subsection name="9.3 Fraction Formatting and Parsing" href="formatting">
|
||||
<p>
|
||||
<code>Fraction</code> instances can be converted to and from strings
|
||||
using the<a href="../apidocs/org/apache/commons/math/fraction/FractionFormat.html">
|
||||
using the<a href="../apidocs/org/apache/commons/math3/fraction/FractionFormat.html">
|
||||
FractionFormat</a> class. <code>FractionFormat</code> is a
|
||||
<code>java.text.Format</code> extension and, as such, is used like other
|
||||
formatting objects (e.g. <code>java.text.SimpleDateFormat</code>):
|
||||
|
|
|
@ -33,15 +33,15 @@
|
|||
</subsection>
|
||||
<subsection name="14.2 GA Framework">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/genetics/GeneticAlgorithm.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/genetics/GeneticAlgorithm.html">
|
||||
GeneticAlgorithm</a> provides an execution framework for Genetic Algorithms (GA).
|
||||
<a href="../apidocs/org/apache/commons/math/genetics/Population.html">
|
||||
Populations,</a> consisting of <a href="../apidocs/org/apache/commons/math/genetics/Chromosome.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/genetics/Population.html">
|
||||
Populations,</a> consisting of <a href="../apidocs/org/apache/commons/math3/genetics/Chromosome.html">
|
||||
Chromosomes</a> are evolved by the <code>GeneticAlgorithm</code> until a
|
||||
<a href="../apidocs/org/apache/commons/math/genetics/StoppingCondition.html">
|
||||
StoppingCondition</a> is reached. Evolution is determined by <a href="../apidocs/org/apache/commons/math/genetics/SelectionPolicy.html">
|
||||
SelectionPolicy</a>, <a href="../apidocs/org/apache/commons/math/genetics/MutationPolicy.html">
|
||||
MutationPolicy</a> and <a href="../apidocs/org/apache/commons/math/genetics/Fitness.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/genetics/StoppingCondition.html">
|
||||
StoppingCondition</a> is reached. Evolution is determined by <a href="../apidocs/org/apache/commons/math3/genetics/SelectionPolicy.html">
|
||||
SelectionPolicy</a>, <a href="../apidocs/org/apache/commons/math3/genetics/MutationPolicy.html">
|
||||
MutationPolicy</a> and <a href="../apidocs/org/apache/commons/math3/genetics/Fitness.html">
|
||||
Fitness</a>.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -64,10 +64,10 @@
|
|||
<ul><li>Apply configured <code>SelectionPolicy</code> to select a pair of parents
|
||||
from <code>current</code></li>
|
||||
<li>With probability =
|
||||
<a href="../apidocs/org/apache/commons/math/genetics/GeneticAlgorithm.html#getCrossoverRate()">
|
||||
<a href="../apidocs/org/apache/commons/math3/genetics/GeneticAlgorithm.html#getCrossoverRate()">
|
||||
getCrossoverRate()</a>, apply configured <code>CrossoverPolicy</code> to parents</li>
|
||||
<li>With probability =
|
||||
<a href="../apidocs/org/apache/commons/math/genetics/GeneticAlgorithm.html#getMutationRate()">
|
||||
<a href="../apidocs/org/apache/commons/math3/genetics/GeneticAlgorithm.html#getMutationRate()">
|
||||
getMutationRate()</a>,
|
||||
apply configured <code>MutationPolicy</code> to each of the offspring</li>
|
||||
<li>Add offspring individually to nextGeneration,
|
||||
|
@ -106,27 +106,27 @@ Chromosome bestFinal = finalPopulation.getFittestChromosome();
|
|||
<table>
|
||||
<tr><th>Parameter</th><th>value in example</th><th>meaning</th></tr>
|
||||
<tr><td>crossoverPolicy</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/genetics/OnePointCrossover.html">OnePointCrossover</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/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
|
||||
child, and the second parts are copied crosswise.</td></tr>
|
||||
<tr><td>crossoverRate</td>
|
||||
<td>1</td>
|
||||
<td>Always apply crossover</td></tr>
|
||||
<tr><td>mutationPolicy</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/genetics/RandomKeyMutation.html">RandomKeyMutation</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/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>
|
||||
<tr><td>mutationRate</td>
|
||||
<td>.1</td>
|
||||
<td>Apply mutation with probability 0.1 - that is, 10% of the time.</td></tr>
|
||||
<tr><td>selectionPolicy</td>
|
||||
<td><a href="../apidocs/org/apache/commons/math/genetics/TournamentSelection.html">TournamentSelection</a></td>
|
||||
<td><a href="../apidocs/org/apache/commons/math3/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
|
||||
n random chromosomes without replacement from the population, and then selecting the fittest chromosome among them.</td></tr>
|
||||
</table><br/>
|
||||
The algorithm starts with an <code>initial</code> population of <code>Chromosomes.</code> and executes until
|
||||
the specified <a href="../apidocs/org/apache/commons/math/genetics/StoppingCondition.html">StoppingCondition</a>
|
||||
the specified <a href="../apidocs/org/apache/commons/math3/genetics/StoppingCondition.html">StoppingCondition</a>
|
||||
is reached. In the example above, a
|
||||
<a href="../apidocs/org/apache/commons/math/genetics/FixedGenerationCount.html">FixedGenerationCount</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/genetics/FixedGenerationCount.html">FixedGenerationCount</a>
|
||||
stopping condition is used, which means the algorithm proceeds through a fixed number of generations.
|
||||
</p>
|
||||
</subsection>
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
</subsection>
|
||||
<subsection name="11.2 Euclidean spaces" href="euclidean">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/euclidean/oned/Interval.html">
|
||||
Interval</a> and <a href="../apidocs/org/apache/commons/math/geometry/euclidean/oned/IntervalsSet.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/euclidean/oned/Interval.html">
|
||||
Interval</a> and <a href="../apidocs/org/apache/commons/math3/geometry/euclidean/oned/IntervalsSet.html">
|
||||
IntervalsSet</a> represent one dimensional regions. All classical set operations are available
|
||||
for intervals sets: union, intersection, symmetric difference (exclusive or), difference, complement,
|
||||
as well as region predicates (point inside/outside/on boundary, emptiness, other region contained).
|
||||
|
@ -46,7 +46,7 @@
|
|||
representation.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/euclidean/twod/PolygonsSet.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/euclidean/twod/PolygonsSet.html">
|
||||
PolygonsSet</a> represent two dimensional regions. All classical set operations are available
|
||||
for polygons sets: union, intersection, symmetric difference (exclusive or), difference, complement,
|
||||
as well as region predicates (point inside/outside/on boundary, emptiness, other region contained).
|
||||
|
@ -55,7 +55,7 @@
|
|||
or from a boundary representation.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/euclidean/threed/PolyhedronsSet.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/euclidean/threed/PolyhedronsSet.html">
|
||||
PolyhedronsSet</a> represent three dimensional regions. All classical set operations are available
|
||||
for polyhedrons sets: union, intersection, symmetric difference (exclusive or), difference, complement,
|
||||
as well as region predicates (point inside/outside/on boundary, emptiness, other region contained).
|
||||
|
@ -64,7 +64,7 @@
|
|||
or from a boundary representation.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/euclidean/threed/Vector3D.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/euclidean/threed/Vector3D.html">
|
||||
Vector3D</a> provides a simple vector type. One important feature is
|
||||
that instances of this class are guaranteed
|
||||
to be immutable, this greatly simplifies modelling dynamical systems
|
||||
|
@ -86,12 +86,12 @@
|
|||
is of course also implemented.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/euclidean/threed/Vector3DFormat.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/euclidean/threed/Vector3DFormat.html">
|
||||
Vector3DFormat</a> is a specialized format for formatting output or parsing
|
||||
input with text representation of 3D vectors.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/euclidean/threed/Rotation.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/euclidean/threed/Rotation.html">
|
||||
Rotation</a> represents 3D rotations.
|
||||
Rotation instances are also immutable objects, as Vector3D instances.
|
||||
</p>
|
||||
|
@ -165,7 +165,7 @@
|
|||
</subsection>
|
||||
<subsection name="11.3 Binary Space Partitioning" href="partitioning">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/geometry/partitioning/BSPTree.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/geometry/partitioning/BSPTree.html">
|
||||
BSP trees</a> are an efficient way to represent space partitions and
|
||||
to associate attributes with each cell. Each node in a BSP tree
|
||||
represents a convex region which is partitioned in two convex
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</subsection>
|
||||
<subsection name="3.2 Real matrices" href="real_matrices">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/linear/RealMatrix.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/linear/RealMatrix.html">
|
||||
RealMatrix</a> interface represents a matrix with real numbers as
|
||||
entries. The following basic matrix operations are supported:
|
||||
<ul>
|
||||
|
@ -72,18 +72,18 @@ RealMatrix pInverse = new LUDecompositionImpl(p).getSolver().getInverse();
|
|||
</p>
|
||||
<p>
|
||||
The three main implementations of the interface are <a
|
||||
href="../apidocs/org/apache/commons/math/linear/Array2DRowRealMatrix.html">
|
||||
href="../apidocs/org/apache/commons/math3/linear/Array2DRowRealMatrix.html">
|
||||
Array2DRowRealMatrix</a> and <a
|
||||
href="../apidocs/org/apache/commons/math/linear/BlockRealMatrix.html">
|
||||
href="../apidocs/org/apache/commons/math3/linear/BlockRealMatrix.html">
|
||||
BlockRealMatrix</a> for dense matrices (the second one being more suited to
|
||||
dimensions above 50 or 100) and <a
|
||||
href="../apidocs/org/apache/commons/math/linear/SparseRealMatrix.html">
|
||||
href="../apidocs/org/apache/commons/math3/linear/SparseRealMatrix.html">
|
||||
SparseRealMatrix</a> for sparse matrices.
|
||||
</p>
|
||||
</subsection>
|
||||
<subsection name="3.3 Real vectors" href="real_vectors">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/linear/RealVector.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/linear/RealVector.html">
|
||||
RealVector</a> interface represents a vector with real numbers as
|
||||
entries. The following basic matrix operations are supported:
|
||||
<ul>
|
||||
|
@ -96,7 +96,7 @@ RealMatrix pInverse = new LUDecompositionImpl(p).getSolver().getInverse();
|
|||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/linear/RealVectorFormat.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/linear/RealVectorFormat.html">
|
||||
RealVectorFormat</a> class handles input/output of vectors in a customizable
|
||||
textual format.
|
||||
</p>
|
||||
|
@ -104,7 +104,7 @@ RealMatrix pInverse = new LUDecompositionImpl(p).getSolver().getInverse();
|
|||
<subsection name="3.4 Solving linear systems" href="solve">
|
||||
<p>
|
||||
The <code>solve()</code> methods of the <a
|
||||
href="../apidocs/org/apache/commons/math/linear/DecompositionSolver.html">DecompositionSolver</a>
|
||||
href="../apidocs/org/apache/commons/math3/linear/DecompositionSolver.html">DecompositionSolver</a>
|
||||
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
|
||||
used to represent the coefficient matrix of the system. Solving the system is a
|
||||
|
@ -151,11 +151,11 @@ RealVector solution = solver.solve(constants);
|
|||
<table border="1" align="center">
|
||||
<tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+2">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><td><a href="../apidocs/org/apache/commons/math/linear/LUDecomposition.html">LU</a></td><td>square</td><td>exact solution only</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/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/math/linear/QRDecomposition.html">QR</a></td><td>any</td><td>least squares solution</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/linear/EigenDecomposition.html">eigen decomposition</a></td><td>square</td><td>exact solution only</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/linear/SingularValueDecomposition.html">SVD</a></td><td>any</td><td>least squares solution</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/linear/LUDecomposition.html">LU</a></td><td>square</td><td>exact solution only</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/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/math3/linear/QRDecomposition.html">QR</a></td><td>any</td><td>least squares solution</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/linear/EigenDecomposition.html">eigen decomposition</a></td><td>square</td><td>exact solution only</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/linear/SingularValueDecomposition.html">SVD</a></td><td>any</td><td>least squares solution</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
|
@ -190,13 +190,13 @@ RealVector solution = solver.solve(constants);
|
|||
<subsection name="3.6 Non-real fields (complex, fractions ...)" href="field">
|
||||
<p>
|
||||
In addition to the real field, matrices and vectors using non-real <a
|
||||
href="../apidocs/org/apache/commons/math/FieldElement.html">field elements</a> can be used.
|
||||
href="../apidocs/org/apache/commons/math3/FieldElement.html">field elements</a> can be used.
|
||||
The fields already supported by the library are:
|
||||
<ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/complex/Complex.html">Complex</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/fraction/Fraction.html">Fraction</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/fraction/BigFraction.html">BigFraction</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/util/BigReal.html">BigReal</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/complex/Complex.html">Complex</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/fraction/Fraction.html">Fraction</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/fraction/BigFraction.html">BigFraction</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/util/BigReal.html">BigReal</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
</subsection>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
All integrators provide dense output. This means that besides computing the state vector
|
||||
at discrete times, they also provide a cheap mean to get both the state and its derivative
|
||||
between the time steps. They do so through classes extending the
|
||||
<a href="../apidocs/org/apache/commons/math/ode/sampling/StepInterpolator.html">StepInterpolator</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/sampling/StepInterpolator.html">StepInterpolator</a>
|
||||
abstract class, which are made available to the user at the end of each step.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -64,9 +64,9 @@
|
|||
</p>
|
||||
<p>
|
||||
The user should describe his problem in his own classes which should implement the
|
||||
<a href="../apidocs/org/apache/commons/math/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||
interface. Then he should pass it to the integrator he prefers among all the classes that implement
|
||||
the <a href="../apidocs/org/apache/commons/math/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a>
|
||||
the <a href="../apidocs/org/apache/commons/math3/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a>
|
||||
interface. The following example shows how to implement the simple two-dimensional problem:
|
||||
<ul>
|
||||
<li>y'<sub>0</sub>(t) = ω × (c<sub>1</sub> - y<sub>1</sub>(t))</li>
|
||||
|
@ -116,10 +116,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
|
||||
should be used when more in-depth information is needed throughout the integration process. The user
|
||||
can register an object implementing the
|
||||
<a href="../apidocs/org/apache/commons/math/ode/sampling/StepHandler.html">StepHandler</a> interface or a
|
||||
<a href="../apidocs/org/apache/commons/math/ode/sampling/StepNormalizer.html">StepNormalizer</a> object wrapping
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/sampling/StepHandler.html">StepHandler</a> interface or a
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/sampling/StepNormalizer.html">StepNormalizer</a> object wrapping
|
||||
a user-specified object implementing the
|
||||
<a href="../apidocs/org/apache/commons/math/ode/sampling/FixedStepHandler.html">FixedStepHandler</a> interface
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/sampling/FixedStepHandler.html">FixedStepHandler</a> interface
|
||||
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
|
||||
results. The default step handler does nothing. Considering again the previous example, we want to print the
|
||||
|
@ -140,7 +140,7 @@ StepHandler stepHandler = new StepHandler() {
|
|||
integrator.addStepHandler(stepHandler);
|
||||
</source>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/ode/ContinuousOutputModel.html">ContinuousOutputModel</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/ContinuousOutputModel.html">ContinuousOutputModel</a>
|
||||
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
|
||||
implements the <code>Serializable</code> interface. This means that a complete continuous model of the
|
||||
|
@ -149,10 +149,10 @@ integrator.addStepHandler(stepHandler);
|
|||
Only the result of the integration is stored, there is no reference to the integrated problem by itself.
|
||||
</p>
|
||||
<p>
|
||||
Other default implementations of the <a href="../apidocs/org/apache/commons/math/ode/sampling/StepHandler.html">StepHandler</a>
|
||||
Other default implementations of the <a href="../apidocs/org/apache/commons/math3/ode/sampling/StepHandler.html">StepHandler</a>
|
||||
interface are available for general needs
|
||||
(<a href="../apidocs/org/apache/commons/math/ode/sampling/DummyStepHandler.html">DummyStepHandler</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/ode/sampling/StepNormalizer.html">StepNormalizer</a>) and custom
|
||||
(<a href="../apidocs/org/apache/commons/math3/ode/sampling/DummyStepHandler.html">DummyStepHandler</a>,
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/sampling/StepNormalizer.html">StepNormalizer</a>) and custom
|
||||
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
|
||||
step handler specific to this application.
|
||||
|
@ -161,11 +161,11 @@ integrator.addStepHandler(stepHandler);
|
|||
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
|
||||
with respect to a specified accuracy (these integrators extend the
|
||||
<a href="../apidocs/org/apache/commons/math/ode/AdaptiveStepsizeIntegrator.html">AdaptiveStepsizeIntegrator</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/ode/AdaptiveStepsizeIntegrator.html">AdaptiveStepsizeIntegrator</a>
|
||||
abstract class). In this case, the step handler which is called after each successful step shows up
|
||||
the variable stepsize. The <a href="../apidocs/org/apache/commons/math/ode/sampling/StepNormalizer.html">StepNormalizer</a>
|
||||
the variable stepsize. The <a href="../apidocs/org/apache/commons/math3/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
|
||||
implementing the <a href="../apidocs/org/apache/commons/math/ode/sampling/FixedStepHandler.html">FixedStepHandler</a>
|
||||
implementing the <a href="../apidocs/org/apache/commons/math3/ode/sampling/FixedStepHandler.html">FixedStepHandler</a>
|
||||
interface. Adaptive stepsize integrators can automatically compute the initial stepsize by themselves,
|
||||
however the user can specify it if he prefers to retain full control over the integration or if the
|
||||
automatic guess is wrong.
|
||||
|
@ -180,7 +180,7 @@ integrator.addStepHandler(stepHandler);
|
|||
</p>
|
||||
<p>
|
||||
Discrete events detection is based on switching functions. The user provides
|
||||
a simple <a href="../apidocs/org/apache/commons/math/ode/events/EventHandler.html">g(t, y)</a>
|
||||
a simple <a href="../apidocs/org/apache/commons/math3/ode/events/EventHandler.html">g(t, y)</a>
|
||||
function depending on the current time and state. The integrator will monitor
|
||||
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.
|
||||
|
@ -260,23 +260,23 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
|||
<table border="1" align="center">
|
||||
<tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+2">Fixed Step Integrators</font></td></tr>
|
||||
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Order</td></font></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/EulerIntegrator.html">Euler</a></td><td>1</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/MidpointIntegrator.html">Midpoint</a></td><td>2</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/ClassicalRungeKuttaIntegrator.html">Classical Runge-Kutta</a></td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/GillIntegrator.html">Gill</a></td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/ThreeEighthesIntegrator.html">3/8</a></td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/EulerIntegrator.html">Euler</a></td><td>1</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/MidpointIntegrator.html">Midpoint</a></td><td>2</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/ClassicalRungeKuttaIntegrator.html">Classical Runge-Kutta</a></td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/GillIntegrator.html">Gill</a></td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/ThreeEighthesIntegrator.html">3/8</a></td><td>4</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<table border="1" align="center">
|
||||
<tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+2">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><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/HighamHall54Integrator.html">Higham and Hall</a></td><td>5</td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/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/math/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/math/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/math/ode/nonstiff/AdamsBashforthIntegrator.html">Adams-Bashforth</a></td><td>variable</td><td>variable</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/ode/nonstiff/AdamsMoultonIntegrator.html">Adams-Moulton</a></td><td>variable</td><td>variable</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/HighamHall54Integrator.html">Higham and Hall</a></td><td>5</td><td>4</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/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/math3/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/math3/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/math3/ode/nonstiff/AdamsBashforthIntegrator.html">Adams-Bashforth</a></td><td>variable</td><td>variable</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/ode/nonstiff/AdamsMoultonIntegrator.html">Adams-Moulton</a></td><td>variable</td><td>variable</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
</subsection>
|
||||
|
@ -285,7 +285,7 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
|||
If in addition to state y(t) the user needs to compute the sensitivity of the state to
|
||||
the initial state or some parameter of the ODE, he will use the classes and interfaces
|
||||
from the <a
|
||||
href="../apidocs/org/apache/commons/math/ode/jacobians/package-summary.html">org.apache.commons.ode.jacobians</a>
|
||||
href="../apidocs/org/apache/commons/math3/ode/jacobians/package-summary.html">org.apache.commons.ode.jacobians</a>
|
||||
package instead of the top level ode package. These classes compute the jacobians
|
||||
dy(t)/dy<sub>0</sub> and dy(t)/dp where y<sub>0</sub> is the initial state
|
||||
and p is some ODE parameter.
|
||||
|
@ -323,9 +323,9 @@ public int eventOccurred(double t, double[] y, boolean increasing) {
|
|||
<p>
|
||||
If the function f is too complex, the user can simply rely on internal differentiation
|
||||
using finite differences to compute these local jacobians. So rather than the <a
|
||||
href="../apidocs/org/apache/commons/math/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||
href="../apidocs/org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||
interface he will implement the <a
|
||||
href="../apidocs/org/apache/commons/math/ode/jacobians/ParameterizedODE.html">ParameterizedODE</a>
|
||||
href="../apidocs/org/apache/commons/math3/ode/jacobians/ParameterizedODE.html">ParameterizedODE</a>
|
||||
interface. Considering again our example where only ω is considered a parameter, we get:
|
||||
</p>
|
||||
<source>
|
||||
|
@ -373,9 +373,9 @@ integrator.integrate(t0, y0, dy0dp, t, y, dydy0, dydp);
|
|||
<p>
|
||||
If the function f is simple, the user can simply provide the local jacobians
|
||||
by himself. So rather than the <a
|
||||
href="../apidocs/org/apache/commons/math/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||
href="../apidocs/org/apache/commons/math3/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
|
||||
interface he will implement the <a
|
||||
href="../apidocs/org/apache/commons/math/ode/jacobians/ODEWithJacobians.html">ODEWithJacobians</a>
|
||||
href="../apidocs/org/apache/commons/math3/ode/jacobians/ODEWithJacobians.html">ODEWithJacobians</a>
|
||||
interface. Considering again our example where only ω is considered a parameter, we get:
|
||||
</p>
|
||||
<source>
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
</p>
|
||||
<p>
|
||||
The type of goal, i.e. minimization or maximization, is defined by the enumerated
|
||||
<a href="../apidocs/org/apache/commons/math/optimization/GoalType.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/optimization/GoalType.html">
|
||||
GoalType</a> which has only two values: <code>MAXIMIZE</code> and <code>MINIMIZE</code>.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -63,21 +63,21 @@
|
|||
are only four interfaces defining the common behavior of optimizers, one for each
|
||||
supported type of objective function:
|
||||
<ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/optimization/UnivariateRealOptimizer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/optimization/UnivariateRealOptimizer.html">
|
||||
UnivariateRealOptimizer</a> for <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/UnivariateRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/UnivariateRealFunction.html">
|
||||
univariate real functions</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/optimization/MultivariateRealOptimizer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/optimization/MultivariateRealOptimizer.html">
|
||||
MultivariateRealOptimizer</a> for <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/MultivariateRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/MultivariateRealFunction.html">
|
||||
multivariate real functions</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/optimization/DifferentiableMultivariateRealOptimizer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/optimization/DifferentiableMultivariateRealOptimizer.html">
|
||||
DifferentiableMultivariateRealOptimizer</a> for <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/DifferentiableMultivariateRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/DifferentiableMultivariateRealFunction.html">
|
||||
differentiable multivariate real functions</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/optimization/DifferentiableMultivariateVectorialOptimizer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/optimization/DifferentiableMultivariateVectorialOptimizer.html">
|
||||
DifferentiableMultivariateVectorialOptimizer</a> for <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/DifferentiableMultivariateVectorialFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/DifferentiableMultivariateVectorialFunction.html">
|
||||
differentiable multivariate vectorial functions</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
@ -85,14 +85,14 @@
|
|||
<p>
|
||||
Despite there are only four types of supported optimizers, it is possible to optimize
|
||||
a transform a <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/MultivariateVectorialFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/MultivariateVectorialFunction.html">
|
||||
non-differentiable multivariate vectorial function</a> by converting it to a <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/MultivariateRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/MultivariateRealFunction.html">
|
||||
non-differentiable multivariate real function</a> thanks to the <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/LeastSquaresConverter.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/LeastSquaresConverter.html">
|
||||
LeastSquaresConverter</a> helper class. The transformed function can be optimized using
|
||||
any implementation of the <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/MultivariateRealOptimizer.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/MultivariateRealOptimizer.html">
|
||||
MultivariateRealOptimizer</a> interface.
|
||||
</p>
|
||||
|
||||
|
@ -106,7 +106,7 @@
|
|||
</subsection>
|
||||
<subsection name="12.2 Univariate Functions" href="univariate">
|
||||
<p>
|
||||
A <a href="../apidocs/org/apache/commons/math/optimization/UnivariateRealOptimizer.html">
|
||||
A <a href="../apidocs/org/apache/commons/math3/optimization/UnivariateRealOptimizer.html">
|
||||
UnivariateRealOptimizer</a> is used to find the minimal values of a univariate real-valued
|
||||
function <code>f</code>.
|
||||
</p>
|
||||
|
@ -157,16 +157,16 @@
|
|||
The <code>direct</code> package provides four solvers:
|
||||
<ul>
|
||||
<li>the classical <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/direct/NelderMeadSimplex.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/direct/NelderMeadSimplex.html">
|
||||
Nelder-Mead</a> method,</li>
|
||||
<li>Virginia Torczon's <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/direct/MultiDirectionalSimplex.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/direct/MultiDirectionalSimplex.html">
|
||||
multi-directional</a> method,</li>
|
||||
<li>Nikolaus Hansen's <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/direct/CMAESOptimizer.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/direct/CMAESOptimizer.html">
|
||||
</a>Covariance Matrix Adaptation Evolution Strategy (CMA-ES),</li>
|
||||
<li>Mike Powell's <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/direct/BOBYQAOptimizer.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/direct/BOBYQAOptimizer.html">
|
||||
BOBYQA</a> method.
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -174,9 +174,9 @@
|
|||
<p>
|
||||
The first two simplex-based methods do not handle simple bounds constraints by themselves.
|
||||
However there are two adapters(<a
|
||||
href="../apidocs/org/apache/commons/math/optimization/direct/MultivariateRealFunctionMappingAdapter.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/direct/MultivariateRealFunctionMappingAdapter.html">
|
||||
MultivariateRealFunctionMappingAdapter</a> and <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/direct/MultivariateRealFunctionPenaltyAdapter.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/direct/MultivariateRealFunctionPenaltyAdapter.html">
|
||||
MultivariateRealFunctionPenaltyAdapter</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
|
||||
the fact the underlying function is still bounded and will be called only with feasible
|
||||
|
@ -230,15 +230,15 @@
|
|||
<p>
|
||||
Two optimizers are available in the general package, both devoted to least-squares
|
||||
problems. The first one is based on the <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/general/GaussNewtonOptimizer.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.html">
|
||||
Gauss-Newton</a> method. The second one is the <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/general/LevenbergMarquardtOptimizer.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html">
|
||||
Levenberg-Marquardt</a> method.
|
||||
</p>
|
||||
<p>
|
||||
In order to solve a vectorial optimization problem, the user must provide it as
|
||||
an object implementing the <a
|
||||
href="../apidocs/org/apache/commons/math/analysis/DifferentiableMultivariateVectorialFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/analysis/DifferentiableMultivariateVectorialFunction.html">
|
||||
DifferentiableMultivariateVectorialFunction</a> interface. The object will be provided to
|
||||
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
|
||||
|
@ -303,7 +303,7 @@
|
|||
</table>
|
||||
|
||||
<p>
|
||||
First we need to implement the interface <a href="../apidocs/org/apache/commons/math/analysis/DifferentiableMultivariateVectorialFunction.html">DifferentiableMultivariateVectorialFunction</a>.
|
||||
First we need to implement the interface <a href="../apidocs/org/apache/commons/math3/analysis/DifferentiableMultivariateVectorialFunction.html">DifferentiableMultivariateVectorialFunction</a>.
|
||||
This requires the implementation of the method signatures:
|
||||
</p>
|
||||
|
||||
|
@ -571,17 +571,17 @@ C: 16.324008168386605
|
|||
</dd></dl>
|
||||
<p>
|
||||
In addition to least squares solving, the <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/general/NonLinearConjugateGradientOptimizer.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html">
|
||||
NonLinearConjugateGradientOptimizer</a> class provides a non-linear conjugate gradient algorithm
|
||||
to optimize <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/DifferentiableMultivariateRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/DifferentiableMultivariateRealFunction.html">
|
||||
DifferentiableMultivariateRealFunction</a>. Both the Fletcher-Reeves and the Polak-Ribière
|
||||
search direction update methods are supported. It is also possible to set up a preconditioner
|
||||
or to change the line-search algorithm of the inner loop if desired (the default one is a Brent
|
||||
solver).
|
||||
</p>
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/optimization/general/PowellOptimizer.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/optimization/general/PowellOptimizer.html">
|
||||
PowellOptimizer</a> provides an optimization method for non-differentiable functions.
|
||||
</p>
|
||||
</subsection>
|
||||
|
@ -608,16 +608,16 @@ C: 16.324008168386605
|
|||
</p>
|
||||
<p>
|
||||
The <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/fitting/CurveFitter.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/fitting/CurveFitter.html">
|
||||
CurveFitter</a> class provides curve fitting for general curves. Users must
|
||||
provide their own implementation of the curve template as a class implementing
|
||||
the <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/fitting/ParametricRealFunction.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/fitting/ParametricRealFunction.html">
|
||||
ParametricRealFunction</a> interface and they must provide the initial guess of the
|
||||
parameters. The more specialized <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/fitting/PolynomialFitter.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/fitting/PolynomialFitter.html">
|
||||
PolynomialFitter</a> and <a
|
||||
href="../apidocs/org/apache/commons/math/optimization/fitting/HarmonicFitter.html">
|
||||
href="../apidocs/org/apache/commons/math3/optimization/fitting/HarmonicFitter.html">
|
||||
HarmonicFitter</a> classes require neither an implementation of the parametric real function
|
||||
not an initial guess as they are able to compute them by themselves.
|
||||
</p>
|
||||
|
|
|
@ -104,9 +104,9 @@
|
|||
<p>
|
||||
When the actual parameters provided to a method or the internal state of an object
|
||||
make a computation meaningless, a
|
||||
<a href="../apidocs/org/apache/commons/math/exception/MathIllegalArgumentException.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/exception/MathIllegalArgumentException.html">
|
||||
IllegalArgumentException</a> or
|
||||
<a href="../apidocs/org/apache/commons/math/exception/MathIllegalStateException.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/exception/MathIllegalStateException.html">
|
||||
MathIllegalStateException</a> may be thrown. Exact conditions under which runtime
|
||||
exceptions (and any other exceptions) are thrown are specified in the javadoc method
|
||||
comments.
|
||||
|
@ -118,7 +118,7 @@
|
|||
<p>
|
||||
As of version 2.2, the policy for dealing with null references is as
|
||||
follows: When an argument is unexpectedly null, a
|
||||
<a href="../apidocs/org/apache/commons/math/exception/NullArgumentException.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/exception/NullArgumentException.html">
|
||||
NullArgumentException</a> is raised for signalling the illegal argument. Note that this
|
||||
class does not inherit from the standard <code>NullPointerException</code> but is a subclass
|
||||
of <code>MathIllegalArgumentException</code>.
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
|
||||
<subsection name="2.2 Random numbers" href="deviates">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/random/RandomData.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/random/RandomData.html">
|
||||
RandomData</a> interface defines methods for generating random sequences
|
||||
of numbers. The API contracts of these methods use the following concepts:
|
||||
<dl>
|
||||
|
@ -87,10 +87,10 @@
|
|||
ranges in the set of possible values of a random variable have
|
||||
different probabilities of containing the value. Commons Math supports
|
||||
generating random sequences from each of the distributions in the
|
||||
<a href="../apidocs/org/apache/commons/math/distribution/package-summary.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/distribution/package-summary.html">
|
||||
distributions</a> package.
|
||||
The javadoc for the <code>nextXxx</code> methods in
|
||||
<a href="../apidocs/org/apache/commons/math/random/RandomDataImpl.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/random/RandomDataImpl.html">
|
||||
RandomDataImpl</a> describes the algorithms used to generate
|
||||
random deviates.
|
||||
</dd>
|
||||
|
@ -168,11 +168,11 @@ for (int i = 0; i < 1000; i++) {
|
|||
Some algorithms require random vectors instead of random scalars. When the
|
||||
components of these vectors are uncorrelated, they may be generated simply
|
||||
one at a time and packed together in the vector. The <a
|
||||
href="../apidocs/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.html">
|
||||
href="../apidocs/org/apache/commons/math3/random/UncorrelatedRandomVectorGenerator.html">
|
||||
UncorrelatedRandomVectorGenerator</a> class simplifies this
|
||||
process by setting the mean and deviation of each component once and
|
||||
generating complete vectors. When the components are correlated however,
|
||||
generating them is much more difficult. The <a href="../apidocs/org/apache/commons/math/random/CorrelatedRandomVectorGenerator.html">
|
||||
generating them is much more difficult. The <a href="../apidocs/org/apache/commons/math3/random/CorrelatedRandomVectorGenerator.html">
|
||||
CorrelatedRandomVectorGenerator</a> class provides this service. In this
|
||||
case, the user must set up a complete covariance matrix instead of a simple
|
||||
standard deviations vector. This matrix gathers both the variance and the
|
||||
|
@ -221,10 +221,10 @@ RealMatrix covariance = MatrixUtils.createRealMatrix(cov); </source>
|
|||
<p>
|
||||
In addition to multivariate normal distributions, correlated vectors from multivariate uniform
|
||||
distributions can be generated by creating a
|
||||
<a href="../apidocs/org/apache/commons/math/random/UniformRandomGenerator.html">UniformRandomGenerator</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/random/UniformRandomGenerator.html">UniformRandomGenerator</a>
|
||||
in place of the
|
||||
<code>GaussianRandomGenerator</code> above. More generally, any
|
||||
<a href="../apidocs/org/apache/commons/math/random/NormalizedRandomGenerator.html">NormalizedRandomGenerator</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/random/NormalizedRandomGenerator.html">NormalizedRandomGenerator</a>
|
||||
may be used.
|
||||
</p>
|
||||
</subsection>
|
||||
|
@ -345,41 +345,41 @@ RealMatrix covariance = MatrixUtils.createRealMatrix(cov); </source>
|
|||
generation utilities and to provide a generic means to replace
|
||||
<code>java.util.Random</code> in applications, a random generator
|
||||
adaptor framework has been added to commons-math. The
|
||||
<a href="../apidocs/org/apache/commons/math/random/RandomGenerator.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/random/RandomGenerator.html">
|
||||
RandomGenerator</a> interface abstracts the public interface of
|
||||
<code>java.util.Random</code> and any implementation of this
|
||||
interface can be used as the source of random data for the commons-math
|
||||
data generation classes. An abstract base class,
|
||||
<a href="../apidocs/org/apache/commons/math/random/AbstractRandomGenerator.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/random/AbstractRandomGenerator.html">
|
||||
AbstractRandomGenerator</a> is provided to make implementation easier.
|
||||
This class provides default implementations of "derived" data generation
|
||||
methods based on the primitive, <code>nextDouble()</code>.
|
||||
To support generic replacement of <code>java.util.Random</code>, the
|
||||
<a href="../apidocs/org/apache/commons/math/random/RandomAdaptor.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/random/RandomAdaptor.html">
|
||||
RandomAdaptor</a> class is provided, which extends
|
||||
<code>java.util.Random</code> and wraps and delegates calls to
|
||||
a <code>RandomGenerator</code> instance.
|
||||
</p>
|
||||
|
||||
<p>Commons-math provides by itself several implementations of the <a
|
||||
href="../apidocs/org/apache/commons/math/random/RandomGenerator.html">
|
||||
href="../apidocs/org/apache/commons/math3/random/RandomGenerator.html">
|
||||
RandomGenerator</a> interface:
|
||||
<ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/JDKRandomGenerator.html">JDKRandomGenerator</a>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/JDKRandomGenerator.html">JDKRandomGenerator</a>
|
||||
that extends the JDK provided generator</li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/AbstractRandomGenerator.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/AbstractRandomGenerator.html">
|
||||
AbstractRandomGenerator</a> as a helper for users generators</li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/BitStreamGenerator.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/BitStreamGenerator.html">
|
||||
BitStreamGenerator</a> which is an abstract class for several generators and
|
||||
which in turn is extended by:
|
||||
<ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/MersenneTwister.html">MersenneTwister</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/Well512a.html">Well512a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/Well1024a.html">Well1024a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/Well19937a.html">Well19937a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/Well19937c.html">Well19937c</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/Well44497a.html">Well44497a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/random/Well44497b.html">Well44497b</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/MersenneTwister.html">MersenneTwister</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/Well512a.html">Well512a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/Well1024a.html">Well1024a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/Well19937a.html">Well19937a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/Well19937c.html">Well19937c</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/Well44497a.html">Well44497a</a></li>
|
||||
<li><a href="../apidocs/org/apache/commons/math3/random/Well44497b.html">Well44497b</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -450,21 +450,21 @@ RealMatrix covariance = MatrixUtils.createRealMatrix(cov); </source>
|
|||
<table border="1" align="center">
|
||||
<tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+2">Example of performances</font></td></tr>
|
||||
<tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>generation rate (relative to MersenneTwister)</td></font></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/MersenneTwister.html">MersenneTwister</a></td><td>1</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/JDKRandomGenerator.html">JDKRandomGenerator</a></td><td>between 0.96 and 1.16</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/Well512a.html">Well512a</a></td><td>between 0.85 and 0.88</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/Well1024a.html">Well1024a</a></td><td>between 0.63 and 0.73</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/Well19937a.html">Well19937a</a></td><td>between 0.70 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/Well19937c.html">Well19937c</a></td><td>between 0.57 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/Well44497a.html">Well44497a</a></td><td>between 0.69 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math/random/Well44497b.html">Well44497b</a></td><td>between 0.65 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/MersenneTwister.html">MersenneTwister</a></td><td>1</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/JDKRandomGenerator.html">JDKRandomGenerator</a></td><td>between 0.96 and 1.16</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/Well512a.html">Well512a</a></td><td>between 0.85 and 0.88</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/Well1024a.html">Well1024a</a></td><td>between 0.63 and 0.73</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/Well19937a.html">Well19937a</a></td><td>between 0.70 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/Well19937c.html">Well19937c</a></td><td>between 0.57 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/Well44497a.html">Well44497a</a></td><td>between 0.69 and 0.71</td></tr>
|
||||
<tr><td><a href="../apidocs/org/apache/commons/math3/random/Well44497b.html">Well44497b</a></td><td>between 0.65 and 0.71</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
So for most simulation problems, the better generators like <a
|
||||
href="../apidocs/org/apache/commons/math/random/Well19937c.html">Well19937c</a> and <a
|
||||
href="../apidocs/org/apache/commons/math/random/Well44497b.html">Well44497b</a> are probably very good choices.
|
||||
href="../apidocs/org/apache/commons/math3/random/Well19937c.html">Well19937c</a> and <a
|
||||
href="../apidocs/org/apache/commons/math3/random/Well44497b.html">Well44497b</a> are probably very good choices.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
</subsection>
|
||||
<subsection name="5.2 Erf functions" href="erf">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/special/Erf.html">Erf</a> contains
|
||||
<a href="../apidocs/org/apache/commons/math3/special/Erf.html">Erf</a> contains
|
||||
several useful functions involving the Error Function, Erf.
|
||||
<table>
|
||||
<tr><th>Function</th><th>Method</th><th>Reference</th></tr>
|
||||
|
@ -45,7 +45,7 @@
|
|||
</subsection>
|
||||
<subsection name="5.3 Gamma functions" href="gamma">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/special/Gamma.html">Gamma</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/special/Gamma.html">Gamma</a>
|
||||
contains several useful functions involving the Gamma Function.
|
||||
<table>
|
||||
<tr><th>Function</th><th>Method</th><th>Reference</th></tr>
|
||||
|
@ -56,7 +56,7 @@
|
|||
</subsection>
|
||||
<subsection name="5.4 Beta funtions" href="beta">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/special/Beta.html">Beta</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/special/Beta.html">Beta</a>
|
||||
contains several useful functions involving the Beta Function.
|
||||
<table>
|
||||
<tr><th>Function</th><th>Method</th><th>Reference</th></tr>
|
||||
|
|
|
@ -63,12 +63,12 @@
|
|||
</p>
|
||||
<p>
|
||||
The top level interface is
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/UnivariateStatistic.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/UnivariateStatistic.html">
|
||||
UnivariateStatistic</a>.
|
||||
This interface, implemented by all statistics, consists of
|
||||
<code>evaluate()</code> methods that take double[] arrays as arguments
|
||||
and return the value of the statistic. This interface is extended by
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/StorelessUnivariateStatistic.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html">
|
||||
StorelessUnivariateStatistic</a>, which adds <code>increment(),</code>
|
||||
<code>getResult()</code> and associated methods to support
|
||||
"storageless" implementations that maintain counters, sums or other
|
||||
|
@ -77,9 +77,9 @@
|
|||
</p>
|
||||
<p>
|
||||
Abstract implementations of the top level interfaces are provided in
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/AbstractUnivariateStatistic.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/AbstractUnivariateStatistic.html">
|
||||
AbstractUnivariateStatistic</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/AbstractStorelessUnivariateStatistic.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/AbstractStorelessUnivariateStatistic.html">
|
||||
AbstractStorelessUnivariateStatistic</a> respectively.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -89,9 +89,9 @@
|
|||
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
|
||||
(and efficient) to access them using the provided aggregates,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/DescriptiveStatistics.html">
|
||||
DescriptiveStatistics</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/SummaryStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/SummaryStatistics.html">
|
||||
SummaryStatistics.</a>
|
||||
</p>
|
||||
<p>
|
||||
|
@ -109,18 +109,18 @@
|
|||
<table>
|
||||
<tr><th>Aggregate</th><th>Statistics Included</th><th>Values stored?</th>
|
||||
<th>"Rolling" capability?</th></tr><tr><td>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/DescriptiveStatistics.html">
|
||||
DescriptiveStatistics</a></td><td>min, max, mean, geometric mean, n,
|
||||
sum, sum of squares, standard deviation, variance, percentiles, skewness,
|
||||
kurtosis, median</td><td>Yes</td><td>Yes</td></tr><tr><td>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/SummaryStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/SummaryStatistics.html">
|
||||
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>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<code>SummaryStatistics</code> can be aggregated using
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/AggregateSummaryStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/AggregateSummaryStatistics.html">
|
||||
AggregateSummaryStatistics.</a> This class can be used to concurrently
|
||||
gather statistics for multiple datasets as well as for a combined sample
|
||||
including all of the data.
|
||||
|
@ -134,19 +134,19 @@
|
|||
<p>
|
||||
Neither <code>DescriptiveStatistics</code> nor <code>SummaryStatistics</code>
|
||||
is thread-safe.
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/SynchronizedDescriptiveStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/SynchronizedDescriptiveStatistics.html">
|
||||
SynchronizedDescriptiveStatistics</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/SynchronizedSummaryStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/SynchronizedSummaryStatistics.html">
|
||||
SynchronizedSummaryStatistics</a>, respectively, provide thread-safe
|
||||
versions for applications that require concurrent access to statistical
|
||||
aggregates by multiple threads.
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/SynchronizedMultiVariateSummaryStatistics.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/SynchronizedMultiVariateSummaryStatistics.html">
|
||||
SynchronizedMultivariateSummaryStatistics</a> provides thread-safe
|
||||
<code>MultivariateSummaryStatistics.</code>
|
||||
</p>
|
||||
<p>
|
||||
There is also a utility class,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/StatUtils.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/StatUtils.html">
|
||||
StatUtils</a>, that provides static methods for computing statistics
|
||||
directly from double[] arrays.
|
||||
</p>
|
||||
|
@ -244,7 +244,7 @@ DescriptiveStatistics stats = new SynchronizedDescriptiveStatistics();
|
|||
The first is to use an <code>AggregateSummaryStatistics</code> instance
|
||||
to accumulate overall statistics contributed by <code>SummaryStatistics</code>
|
||||
instances created using
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/AggregateSummaryStatistics.html#createContributingStatistics()">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/AggregateSummaryStatistics.html#createContributingStatistics()">
|
||||
AggregateSummaryStatistics.createContributingStatistics()</a>:
|
||||
<source>
|
||||
// Create a AggregateSummaryStatistics instance to accumulate the overall statistics
|
||||
|
@ -265,7 +265,7 @@ double totalSampleSum = aggregate.getSum();
|
|||
<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
|
||||
have been added, a static
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/AggregateSummaryStatistics.html#aggregate(java.util.Collection)">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/AggregateSummaryStatistics.html#aggregate(java.util.Collection)">
|
||||
aggregate</a> method is available, as shown in the following example.
|
||||
This method should be used when aggregation needs to be done across threads.
|
||||
<source>
|
||||
|
@ -293,7 +293,7 @@ double totalSampleSum = aggregatedStats.getSum();
|
|||
</subsection>
|
||||
<subsection name="1.3 Frequency distributions">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/Frequency.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/Frequency.html">
|
||||
Frequency</a>
|
||||
provides a simple interface for maintaining counts and percentages of discrete
|
||||
values.
|
||||
|
@ -357,7 +357,7 @@ System.out.println(f.getCumPct("z")); // displays 1
|
|||
</subsection>
|
||||
<subsection name="1.4 Simple regression">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/SimpleRegression.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/SimpleRegression.html">
|
||||
SimpleRegression</a> provides ordinary least squares regression with
|
||||
one independent variable estimating the linear model:
|
||||
</p>
|
||||
|
@ -393,7 +393,7 @@ System.out.println(f.getCumPct("z")); // displays 1
|
|||
"compute" method that updates all statistics. Each of the getters performs
|
||||
the necessary computations to return the requested statistic.</li>
|
||||
<li> The intercept term may be suppressed by passing <code>false</code> to the
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/SimpleRegression.html#SimpleRegression(boolean)">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/SimpleRegression.html#SimpleRegression(boolean)">
|
||||
SimpleRegression(boolean)</a> constructor. When the <code>hasIntercept</code>
|
||||
property is false, the model is estimated without a constant term and
|
||||
<code>getIntercept()</code> returns <code>0</code>.</li>
|
||||
|
@ -511,9 +511,9 @@ System.out.println(regression.getInterceptStdErr() );
|
|||
</subsection>
|
||||
<subsection name="1.5 Multiple linear regression">
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/OLSMultipleLinearRegression.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/OLSMultipleLinearRegression.html">
|
||||
OLSMultipleLinearRegression</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/GLSMultipleLinearRegression.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/GLSMultipleLinearRegression.html">
|
||||
GLSMultipleLinearRegression</a> provide least squares regression to fit the linear model:
|
||||
</p>
|
||||
<p>
|
||||
|
@ -525,9 +525,9 @@ System.out.println(regression.getInterceptStdErr() );
|
|||
of <b>error terms</b> or <b>residuals</b>.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/OLSMultipleLinearRegression.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/OLSMultipleLinearRegression.html">
|
||||
OLSMultipleLinearRegression</a> provides Ordinary Least Squares Regression, and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/GLSMultipleLinearRegression.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/GLSMultipleLinearRegression.html">
|
||||
GLSMultipleLinearRegression</a> implements Generalized Least Squares. See the javadoc for these
|
||||
classes for details on the algorithms and forumlas used.
|
||||
</p>
|
||||
|
@ -535,11 +535,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
|
||||
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
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/AbstractMultipleLinearRegression.html#newSampleData(double[], int, int)">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/AbstractMultipleLinearRegression.html#newSampleData(double[], int, int)">
|
||||
AbstractMultipleLinearRegression#newSampleData(double[],int,int)</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/OLSMultipleLinearRegression.html#newSampleData(double[], double[][])">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/OLSMultipleLinearRegression.html#newSampleData(double[], double[][])">
|
||||
OLSMultipleLinearRegression#newSampleData(double[], double[][])</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/regression/GLSMultipleLinearRegression.html#newSampleData(double[], double[][], double[][])">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/regression/GLSMultipleLinearRegression.html#newSampleData(double[], double[][], double[][])">
|
||||
GLSMultipleLinearRegression#newSampleData(double[],double[][],double[][])</a> for details.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -617,16 +617,16 @@ regression.newSampleData(y, x, omega);
|
|||
<subsection name="1.6 Rank transformations">
|
||||
<p>
|
||||
Some statistical algorithms require that input data be replaced by ranks.
|
||||
The <a href="../apidocs/org/apache/commons/math/stat/ranking/package-summary.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/stat/ranking/package-summary.html">
|
||||
org.apache.commons.math3.stat.ranking</a> package provides rank transformation.
|
||||
<a href="../apidocs/org/apache/commons/math/stat/ranking/RankingAlgorithm.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/ranking/RankingAlgorithm.html">
|
||||
RankingAlgorithm</a> defines the interface for ranking.
|
||||
<a href="../apidocs/org/apache/commons/math/stat/ranking/NaturalRanking.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/ranking/NaturalRanking.html">
|
||||
NaturalRanking</a> provides an implementation that has two configuration options.
|
||||
<ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/stat/ranking/TiesStrategy.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/stat/ranking/TiesStrategy.html">
|
||||
Ties strategy</a> deterimines how ties in the source data are handled by the ranking</li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/stat/ranking/NaNStrategy.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/stat/ranking/NaNStrategy.html">
|
||||
NaN strategy</a> determines how NaN values in the source data are handled.</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
@ -650,22 +650,22 @@ new NaturalRanking(NaNStrategy.REMOVED,TiesStrategy.SEQUENTIAL).rank(exampleData
|
|||
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
|
||||
values the average of the ranks applicable to the sequence of ties. See the
|
||||
<a href="../apidocs/org/apache/commons/math/stat/ranking/NaturalRanking.html">
|
||||
NaturalRanking</a> for more examples and <a href="../apidocs/org/apache/commons/math/stat/ranking/TiesStrategy.html">
|
||||
TiesStrategy</a> and <a href="../apidocs/org/apache/commons/math/stat/ranking/NaNStrategy.html">NaNStrategy</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/ranking/NaturalRanking.html">
|
||||
NaturalRanking</a> for more examples and <a href="../apidocs/org/apache/commons/math3/stat/ranking/TiesStrategy.html">
|
||||
TiesStrategy</a> and <a href="../apidocs/org/apache/commons/math3/stat/ranking/NaNStrategy.html">NaNStrategy</a>
|
||||
for details on these configuration options.
|
||||
</p>
|
||||
</subsection>
|
||||
<subsection name="1.7 Covariance and correlation">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/stat/correlation/package-summary.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/stat/correlation/package-summary.html">
|
||||
org.apache.commons.math3.stat.correlation</a> package computes covariances
|
||||
and correlations for pairs of arrays or columns of a matrix.
|
||||
<a href="../apidocs/org/apache/commons/math/stat/correlation/Covariance.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/correlation/Covariance.html">
|
||||
Covariance</a> computes covariances,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/correlation/PearsonsCorrelation.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/correlation/PearsonsCorrelation.html">
|
||||
PearsonsCorrelation</a> provides Pearson's Product-Moment correlation coefficients and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/correlation/SpearmansCorrelation.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/correlation/SpearmansCorrelation.html">
|
||||
SpearmansCorrelation</a> computes Spearman's rank correlation.
|
||||
</p>
|
||||
<p>
|
||||
|
@ -681,17 +681,17 @@ new NaturalRanking(NaNStrategy.REMOVED,TiesStrategy.SEQUENTIAL).rank(exampleData
|
|||
defaults to <code>true.</code>
|
||||
</li>
|
||||
<li>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/correlation/PearsonsCorrelation.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/correlation/PearsonsCorrelation.html">
|
||||
PearsonsCorrelation</a> computes correlations defined by the formula <br></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>
|
||||
and <code>s(X)</code>, <code>s(Y)</code> are standard deviations.
|
||||
</li>
|
||||
<li>
|
||||
<a href="../apidocs/org/apache/commons/math/stat/correlation/SpearmansCorrelation.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/correlation/SpearmansCorrelation.html">
|
||||
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,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/ranking/NaturalRanking.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/ranking/NaturalRanking.html">
|
||||
NaturalRanking</a> with default strategies for handling ties and NaN values is used.
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -805,7 +805,7 @@ new PearsonsCorrelation().correlation(ranking.rank(x), ranking.rank(y))
|
|||
<subsection name="1.8 Statistical tests">
|
||||
<p>
|
||||
The interfaces and implementations in the
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/">
|
||||
org.apache.commons.math3.stat.inference</a> package provide
|
||||
<a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc22.htm">
|
||||
Student's t</a>,
|
||||
|
@ -817,19 +817,19 @@ new PearsonsCorrelation().correlation(ranking.rank(x), ranking.rank(y))
|
|||
p-values</a> associated with <code>t-</code>,
|
||||
<code>Chi-Square</code> and <code>One-Way ANOVA</code> tests. The
|
||||
interfaces are
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/TTest.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/TTest.html">
|
||||
TTest</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/ChiSquareTest.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/ChiSquareTest.html">
|
||||
ChiSquareTest</a>, and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/OneWayAnova.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/OneWayAnova.html">
|
||||
OneWayAnova</a> with provided implementations
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/TTestImpl.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/TTestImpl.html">
|
||||
TTestImpl</a>,
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/ChiSquareTestImpl.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/ChiSquareTestImpl.html">
|
||||
ChiSquareTestImpl</a> and
|
||||
<a href="../apidocs/org/apache/commons/math/stat/inference/OneWayAnovaImpl.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/inference/OneWayAnovaImpl.html">
|
||||
OneWayAnovaImpl</a>, respectively.
|
||||
The <a href="../apidocs/org/apache/commons/math/stat/inference/TestUtils.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/stat/inference/TestUtils.html">
|
||||
TestUtils</a> class provides static methods to get test instances or
|
||||
to compute test statistics directly. The examples below all use the
|
||||
static methods in <code>TestUtils</code> to execute tests. To get
|
||||
|
@ -889,7 +889,7 @@ System.out.println(TestUtils.t(mu, observed));
|
|||
<code>mu.</code>
|
||||
</dd>
|
||||
<dd>To compare the mean of a dataset described by a
|
||||
<a href="../apidocs/org/apache/commons/math/stat/descriptive/StatisticalSummary.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/stat/descriptive/StatisticalSummary.html">
|
||||
StatisticalSummary</a> to a fixed value:
|
||||
<source>
|
||||
double[] observed ={1d, 2d, 3d};
|
||||
|
|
|
@ -31,13 +31,13 @@
|
|||
This package provides a few transformers for signal analysis. All transformers
|
||||
provide both direct and inverse transforms.
|
||||
<ul>
|
||||
<li><a href="../apidocs/org/apache/commons/math/transform/FastFourierTransformer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/transform/FastFourierTransformer.html">
|
||||
FastFourierTransformer</a> (produces <code>Complex</code> results)</li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/transform/FastCosineTransformer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/transform/FastCosineTransformer.html">
|
||||
FastCosineTransformer</a> (produces real results)</li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/transform/FastSineTransformer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/transform/FastSineTransformer.html">
|
||||
FastSineTransformer</a> (produces real results)</li>
|
||||
<li><a href="../apidocs/org/apache/commons/math/transform/FastHadamardTransformer.html">
|
||||
<li><a href="../apidocs/org/apache/commons/math3/transform/FastHadamardTransformer.html">
|
||||
FastHadamardTransformer</a> (produces real results)</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
<subsection name="6.1 Overview" href="overview">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/util/package-summary.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/util/package-summary.html">
|
||||
org.apache.commons.math3.util</a> package collects a group of array utilities,
|
||||
value transformers, and numerical routines used by implementation classes in
|
||||
commons-math.
|
||||
|
@ -44,7 +44,7 @@
|
|||
array implementation was developed and is provided for reuse in the
|
||||
<code>util</code> package. The core functionality provided is described in
|
||||
the documentation for the interface,
|
||||
<a href="../apidocs/org/apache/commons/math/util/DoubleArray.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/util/DoubleArray.html">
|
||||
DoubleArray</a>. This interface adds one method,
|
||||
<code>addElementRolling(double)</code> to basic list accessors.
|
||||
The <code>addElementRolling</code> method adds an element
|
||||
|
@ -52,7 +52,7 @@
|
|||
in the list.
|
||||
</p>
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/util/ResizableDoubleArray.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/util/ResizableDoubleArray.html">
|
||||
ResizableDoubleArray</a> class provides a configurable, array-backed
|
||||
implementation of the <code>DoubleArray</code> interface.
|
||||
When <code>addElementRolling</code> is invoked, the underlying
|
||||
|
@ -66,7 +66,7 @@
|
|||
automatically, with frequency / effect driven by the configuration
|
||||
properties <code>expansionMode</code>, <code>expansionFactor</code> and
|
||||
<code>contractionCriteria.</code> See
|
||||
<a href="../apidocs/org/apache/commons/math/util/ResizableDoubleArray.html">
|
||||
<a href="../apidocs/org/apache/commons/math3/util/ResizableDoubleArray.html">
|
||||
ResizableDoubleArray</a>
|
||||
for details.
|
||||
</p>
|
||||
|
@ -74,7 +74,7 @@
|
|||
|
||||
<subsection name="6.3 int/double hash map" href="int_double_hash_map">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/util/OpenIntToDoubleHashMap.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/util/OpenIntToDoubleHashMap.html">
|
||||
OpenIntToDoubleHashMap</a> class provides a specialized hash map
|
||||
implementation for int/double. This implementation has a much smaller memory
|
||||
overhead than standard <code>java.util.HashMap</code> class. It uses open addressing
|
||||
|
@ -85,7 +85,7 @@
|
|||
|
||||
<subsection name="6.4 Continued Fractions" href="continued_fractions">
|
||||
<p>
|
||||
The <a href="../apidocs/org/apache/commons/math/util/ContinuedFraction.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/util/ContinuedFraction.html">
|
||||
ContinuedFraction</a> class provides a generic way to create and evaluate
|
||||
continued fractions. The easiest way to create a continued fraction is
|
||||
to subclass <code>ContinuedFraction</code> and override the
|
||||
|
@ -149,7 +149,7 @@
|
|||
<subsection name="6.5 Binomial coefficients, factorials and other common math functions" href="binomial_coefficients_factorials_and_other_common_math_functions">
|
||||
<p>
|
||||
A collection of reusable math functions is provided in the
|
||||
<a href="../apidocs/org/apache/commons/math/util/MathUtils.html">MathUtils</a>
|
||||
<a href="../apidocs/org/apache/commons/math3/util/MathUtils.html">MathUtils</a>
|
||||
utility class. MathUtils currently includes methods to compute the following: <ul>
|
||||
<li>
|
||||
Binomial coefficients -- "n choose k" available as an (exact) long value,
|
||||
|
@ -245,7 +245,7 @@
|
|||
</subsection>
|
||||
|
||||
<subsection name="6.7 Miscellaneous" href="miscellaneous">
|
||||
The <a href="../apidocs/org/apache/commons/math/util/MultidimensionalCounter.html">
|
||||
The <a href="../apidocs/org/apache/commons/math3/util/MultidimensionalCounter.html">
|
||||
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
|
||||
a location in a one-dimensional array.
|
||||
|
|
Loading…
Reference in New Issue