Added release notes for 3.6.

This commit is contained in:
Luc Maisonobe 2016-01-01 13:52:16 +01:00
parent e3eb0f65f0
commit 9df79570ae
2 changed files with 126 additions and 19 deletions

View File

@ -1,4 +1,4 @@
The Apache Commons Math team is pleased to announce the commons-math3-3.5 release!
The Apache Commons Math team is pleased to announce the commons-math3-3.6 release!
The Apache Commons Math project is a library of lightweight, self-contained mathematics
and statistics components addressing the most common practical problems not immediately
@ -7,27 +7,108 @@ available in the Java programming language or commons-lang.
Changes in this version include:
New features:
o Added a way to build polyhedrons sets from a list of vertices and
facets specified using vertices indices.
o Simplified "FastMath#exp(double)" in order to avoid a potential
Java 1.5 JIT bug when calling with negative infinity as argument. Issue: MATH-1198.
o Added method "getQuadraticMean()" to "DescriptiveStatistics"
and "SummaryStatistics" which calculates the root mean square. Issue: MATH-1199.
o Added a RotationConvention enumerate to allow specifying the semantics
or axis/angle for rotations. This enumerate has two values:
VECTOR_OPERATOR and FRAME_TRANSFORM. Issue: MATH-1302,MATH-1303.
o Added a field-based version of Ordinary Differential Equations framework.
This allows integrating ode that refer to RealField elements instead of
primitive double, hence opening the way to use DerivativeStructure to
compute partial differential without using variational equations, or to solve
ode with extended precision using Dfp. Issue: MATH-1288.
o Added a nth order Brent solver for general real fields, replacing the former
solver that was restricted to Dfp fields only.
o New "Range" inner class of "o.a.c.m.util.IntegerSequence". Issue: MATH-1286.
o "AggregateSummaryStatistics" can now aggregate any kind of
"StatisticalSummary". Issue: MATH-837.
o Deep copy of "Network" (package "o.a.c.m.ml.neuralnet") to allow evaluation of
of intermediate states during training. Issue: MATH-1278.
o Added negative zero support in FastMath.pow. Issue: MATH-1273. Thanks to Qualtagh.
o Various SOFM visualizations (in package "o.a.c.m.ml.neuralnet.twod.util"):
Unified distance matrix, hit histogram, smoothed data histograms,
topographic error, quantization error. Issue: MATH-1270.
o New interfaces to be implemented by algorithms that visualizes properties
of a "NeuronSquareMesh2D" (package "o.a.c.m.ml.neuralnet.twod.util"). Issue: MATH-1268.
o Reimplemented pow(double, double) in FastMath, for better accuracy in
integral power cases and trying to fix erroneous JIT optimization again.
o Added a pow(double, long) method in FastMath.
o "NeuronSquareMesh2D" (package "o.a.c.m.ml.neuralnet.twod") implements "Iterable". Issue: MATH-1265.
o "MapUtils" (package "o.a.c.m.ml.neuralnet"): Method to sort units according to distance
from a given vector. Issue: MATH-1264.
o Accessor (class "o.a.c.m.ml.neuralnet.twod.NeuronSquareMesh2D"). Issue: MATH-1263.
o New "IntegerSequence" class (in package "o.a.c.m.util") with "Incrementor" inner class. Issue: MATH-1259.
o "Neuron" class (package "o.a.c.m.ml.neuralnet"): added methods that can be used
to assess concurrency performance. Issue: MATH-1250.
o Method "cosAngle" in "o.a.c.m.util.MathArrays". Issue: MATH-1244.
Fixed Bugs:
o Moved FastMathTestPerformance out of the main test tree, as is is
a benchmark rather than a test. Issue: MATH-1195.
o Fixed ignored method parameters in QRDecomposition protected methods. Issue: MATH-1191.
o Fixed wrong selection of line/polyhedron intersection point. Issue: MATH-1211. Thanks to Mike Zimmerman.
o Improved fix for corner cases in BSP-tree merging, when cut sub-hyperplanes vanish. Issue: MATH-1162.
o Fixed link to algorithm description in "PoissonDistribution#sample()". Issue: MATH-1209. Thanks to Jonathan Ogilvie.
o EmpiricalDistribution cumulativeProbability can return NaN when evaluated within a constant bin. Issue: MATH-1208.
o EmpiricalDistribution getKernel fails for buckets with only multiple instances of the same value. Issue: MATH-1203.
o "UnivariateSolverUtils#bracket(...)" sometimes failed to bracket
if a reached the lower bound. Issue: MATH-1204.
o Improved performance and accuracy of 2-sample KolmogorovSmirnov tests. Issue: MATH-1310.
o Detect start failures with multi-step ODE integrators. Issue: MATH-1297.
o Fixed stability issues with Adams-Bashforth and Adams-Moulton ODE integrators.
The integrators did not estimate the local error properly and were sometimes
stuck attempting to reduce indefinitely the step size as they thought the
error was too high. Thanks to Julien Queyrel.
o Increased default value for number of allowed evaluations in
"o.a.c.m.optim.univariate.BracketFinder". Issue: MATH-1295. Thanks to Luke Lindsay.
o Fixed potential race condition in PolynomialUtils#buildPolynomial in
case polynomials are generated from multiple threads. Furthermore, the
synchronization is now performed on the coefficient list instead of the class. Issue: MATH-1294. Thanks to Kamil Włodarczyk.
o Fixed FastMath.exp that potentially returned NaN for non-NaN argument. Issue: MATH-1269.
o Updated reference in ZipfDistribution's javadoc. Issue: MATH-1285. Thanks to Pim van der Hoorn.
o Fixed "Gamma#gamma(double)" for negative values smaller than -20. Issue: MATH-1283. Thanks to Jean Noel Delavalade.
o Fixed javadoc of methods {floorDiv,floorMod} in class "FastMath". Issue: MATH-1237. Thanks to Ken Williams.
o Check precondition (class "o.a.c.m.random.EmpiricalDistribution"). Issue: MATH-1279.
o Fixed incorrect Kendall's tau coefficient calculation due to internal integer overflow. Issue: MATH-1277. Thanks to Marc Rosen.
o Fixed split/side inconsistencies in BSP trees. Issue: MATH-1266.
o Avoid overflow in "Fraction" (multiplication or division by an int). Issue: MATH-1261. Thanks to Osamu Ikeuchi.
o Added check for equal array lengths to distance measure functions. Issue: MATH-1258. Thanks to Gunel Jahangirova.
o Better accuracy in computation of cumulative probability of "NormalDistribution"
(package "o.a.c.m.distribution"). Issue: MATH-1257. Thanks to Bill Murphy.
o Boundary check to construct an "Interval" (package "o.a.c.m.geometry.euclidean.oned"). Issue: MATH-1256.
o Wrong neighbourhood size in class "KohonenUpdateAction" (package "o.a.c.m.ml.neuralnet.sofm"). Issue: MATH-1255.
o ResizableDoubleArray constructor does not work with double array of size 1. Issue: MATH-1252. Thanks to John Bay.
o Fixed initial value of "number of calls" counter in class "KohonenUpdateAction"
(package "o.a.c.m.ml.neuralnet.sofm"). Issue: MATH-1251.
o Removed unnecessary allocations in "BigFraction" (package "o.a.c.m.fraction"). Issue: MATH-1248. Thanks to Chris Popp.
o Fixed error in computing discrete distribution of D statistics for small-sample
2-sample Kolmogorov-Smirnov tests. Error was causing incorrect p-values returned
by exactP and monteCarloP methods (used by default for small, mid-size samples). Issue: MATH-1245.
o "KolmogorovSmirnovTest#ksSum(...)" returned wrong result in case the provided
t-parameters was zero. This affected the calculation of "approximateP(...)" for
identical samples. Issue: MATH-1240.
o Improved performance to calculate the two-sample Kolmogorov-Smirnov test
via monte carlo simulation ("KolmogorovSmirnovTets#monteCarloP(...)"). Issue: MATH-1242. Thanks to Otmar Ertl.
o A "StackOverflowException" was thrown when passing Double.NaN or infinity
to "Gamma#digamma(double)" or "Gamma#trigamma(double)". Now the input value
is propagated to the output if it is not a real number. Issue: MATH-1241. Thanks to Aleksei Dievskii.
o Improved performance of calculating the two-sample Kolmogorov-Smirnov
test statistic. Issue: MATH-1232. Thanks to Otmar Ertl.
o Fixed error message for unknown parameter name in ODE. Issue: MATH-1232.
o Fixed wrong event detection in case of close events pairs. Issue: MATH-1226.
o Fix potential branching errors in "FastMath#pow(double, double)" when
passing special values, i.e. infinity, due to erroneous JIT optimization.
o Fixed equals/hashcode contract failure for Dfp. Issue: MATH-1118.
o Fixed wrong splitting of huge number in extended accuracy algorithms. Issue: MATH-1223.
o Improve performance of "BetaDistribution#sample()" by using Cheng's algorithm. Issue: MATH-1153. Thanks to Sergei Lebedev.
o Computation of 2-sample Kolmogorov-Smirnov statistic in case of ties
was not correct. Issue: MATH-1197.
Changes:
o Added Laguerre complex solve methods taking maxEval parameters. Issue: MATH-1213.
o Modified 2-sample KolmogorovSmirnovTest to handle ties in sample data. By default,
ties are broken by adding random jitter to input data. Also added bootstrap method
analogous to ks.boot in R Matching package. Issue: MATH-1246.
o Added bootstrap method to KolmogorovSmirnov test. Issue: MATH-1246.
o Added constructors taking sample data as arguments to enumerated real and integer distributions. Issue: MATH-1287.
o Improved performance of sampling and inverse cumulative probability calculation
for geometric distributions. Issue: MATH-1276.
o Representation of Kolmogorov-Smirnov statistic as integral value. Issue: MATH-1274.
o Faster generation of Zipf distributed random numbers by using rejection-inversion sampling. Issue: MATH-1220.
o Improved performance of sort-in-place methods by avoiding boxing. Issue: MATH-990.
o Refactored implementation of the "miscrosphere projection"
interpolation algorithm.
New classes: "MicrosphereProjectionInterpolator",
"InterpolatingMicrosphere" and "InterpolatingMicrosphere2D"
replace "MicrosphereInterpolator" and "MicrosphereInterpolatingFunction".
(package "o.a.c.m.analysis.interpolation"). Issue: MATH-1243.
Have fun!

View File

@ -50,7 +50,33 @@ If the output is not quite correct, check for invisible trailing spaces!
<title>Commons Math Release Notes</title>
</properties>
<body>
<release version="3.6" date="XXXX-XX-XX" description="">
<release version="3.6" date="2016-01-04" description="
This is a minor release: It combines bug fixes and new features.
Changes to existing features were made in a backwards-compatible
way such as to allow drop-in replacement of the v3.x JAR file.
Most notable among the new features are:
field-based version of Ordinary Differential Equations framework,
numerous improvements in distributions, statistics and neuralnet packages,
refactored implementation of microsphere interpolation algorithm,
explicit specification of rotation convention to use (both vector
operator and frame transform conventions are now available).
The minimum version of the Java platform required to compile and use
Commons Math is Java 5.
Users are encouraged to upgrade to this version as this release not
only includes bug fixes but also deprecates numerous classes and
methods that will be deleted from the next major release (4.0).
Caveat:
1. The implementation of the BOBYQA optimization algorithm is in alpha
state (cf. MATH-621): Many code paths are untested, and we are looking
for volunteers to improve the code readability, robustness and performance
and to extend the unit tests suite.
2. A few methods in the FastMath class are in fact slower that their
counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901).
">
<action dev="psteitz" type="fix" issue="MATH-1310">
Improved performance and accuracy of 2-sample KolmogorovSmirnov tests.
</action>