diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 6a6ac4e36..56e8d19a1 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -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! diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 8b7a4090b..90e8dc944 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -50,7 +50,33 @@ If the output is not quite correct, check for invisible trailing spaces! Commons Math Release Notes - + Improved performance and accuracy of 2-sample KolmogorovSmirnov tests.