| 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 |
| available in the Java programming language or commons-lang. |
| |
| Changes in this version include: |
| |
| New features: |
| 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 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 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! |
| -Apache Commons Math team |
| |