commons-math/RELEASE-NOTES.txt

82 lines
5.5 KiB
Plaintext

The Commons Math team is pleased to announce the commons-math3-3.2-SNAPSHOT release!
The 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 All contents of package "o.a.c.m.stat.clustering" refactored into
new package "o.a.c.m.ml.clustering" and added support for additional
distance measures in package "o.a.c.m.ml.distance": "CanberraDistance",
"ChebyshevDistance", "EuclideanDistance" and "ManhattanDistance". Issue: MATH-917,MATH-918,MATH-919,MATH-920. Thanks to Reid Hochstedler.
o Added Multivariate Normal Mixture Model Fitting by Expectation Maximization. Issue: MATH-817. Thanks to Jared Becksfort.
o Added a way to trigger only increasing or decreasing events in ODE integration. Issue: MATH-811.
o Added array-scaling methods to MathArrays. Issue: MATH-946. Thanks to Jared Becksfort.
o Added the Lévy distribution. Issue: MATH-460. Thanks to Andrew Waterman.
o Implementations for inverse error function and inverse complementary
error functions have been added. Issue: MATH-948.
o Added utilities for prime numbers. Issue: MATH-845. Thanks to Sébastien Riou.
o Check bounds in multi-start vector optimizers. Issue: MATH-914.
o Added discrete distributions. Issue: MATH-941. Thanks to Piotr Wydrych.
o Added Hermite interpolator for RealFieldElement instances.
o Added RealFieldElement interface to represent anything that is
real number like, implemented by both Decimal64, Dfp and DerivativeStructure.
o Added partial derivatives computation for 3D vectors and rotations.
o Added accurate linear combination of DerivativeStructure instances,
avoiding cancellation.
o Added conversion of gradients and Hessians from spherical to Cartesian
coordinates in 3D.
Fixed Bugs:
o Fixed inverse cumulative probability for uniform distribution. Issue: MATH-957. Thanks to Evan Ward.
o "SpearmansCorrelation" now works correctly in case of a provided
"NaturalRanking" with a "NaNStrategy.REMOVED" strategy and the input
data contains NaN values. From version 4.0 onwards this strategy will
not be supported anymore. Issue: MATH-891.
o Fixed Complex.reciprocal() for zero argument. Issue: MATH-934.
o AbstractRealMatrix will now check for rectangular input arrays in
its copySubMatrix methods. Issue: MATH-862.
o Increment iteration counter in optimization algorithms. Issue: MATH-949.
o Fixed missing update in ODE event handlers, when a RESET_STATE is triggered. Issue: MATH-950.
o Fixed infinite loop when NaN occurs in singular value decomposition. Issue: MATH-947.
o Extended ranges for FastMath performance tests. Issue: MATH-580.
o Finalized implementation of diagonal matrix. Issue: MATH-925.
o Added rank revealing QR decomposition. Issue: MATH-630. Thanks to Christopher Nix.
o ArrayFieldVector can now be constructed from any FieldVector. Issue: MATH-570. Thanks to Arne Plöse.
o Improved checking of null vector elements. Issue: MATH-861. Thanks to Sébastien Brisard.
o Fixed generation of long random numbers between two bounds. Issue: MATH-936.
o Fixed creation of generic array. Issue: MATH-942. Thanks to Piotr Wydrych.
o Fixed abstract test class naming that broke ant builds. Issue: MATH-940. Thanks to Piotr Wydrych.
o Allow covariance to be computed for one-dimensional variables. Issue: MATH-939. Thanks to Piotr Wydrych.
o Fixed accuracy of 3D Line.revert(). Issue: MATH-938.
o Improved javadoc to explain how switching functions should
behave across events in ODE events detection. Issue: MATH-937.
o Fixed DerivativeStructure.atan2 for special cases when both arguments are +/-0. Issue: MATH-935.
o Improved class javadoc wrt convergence criteria and added
additional constructors to override the default epsilon and cut-off
values in class "SimplexSolver". Issue: MATH-930.
o Fixed truncated value in "MultivariateNormalDistribution". Issue: MATH-929. Thanks to Piotr Wydrych.
o Made "BitStreamGenerator" implement the "Serializable" interface. Issue: MATH-927. Thanks to Dennis Hendriks.
Changes:
o Replaced hard-coded numbers in "LevenbergMarquardtOptimizer". Issue: MATH-956.
o Fixed loading of test file when path contains a space. Issue: MATH-955. Thanks to Evan Ward.
o Improved speed of FastMath.abs methods for all signatures, by removing branching. Issue: MATH-954. Thanks to Charles Cooper.
o Improved speed of several FastMath methods. Issue: MATH-953. Thanks to Charles Cooper.
o Improved speed of FastMath copysign methods. Issue: MATH-951. Thanks to Charles Cooper.
o Made EmpiricalDisribution smoothing kernel pluggable. Issue: MATH-671.
o Allow direct use of SummaryStatistics in one-way ANOVA. Issue: MATH-877. Thanks to Peter Andrews.
o Normal distribution now uses a direct implementation of the
inverse error function to compute inverse cumulative probability
instead of relying on a numerical solver. This is much faster,
more accurate and does not need convergence threshold.
o Throw "MathUnsupportedOperationException" from optimizers that do
not support constraints (previous behaviour was to silently ignore
the "SimpleBounds" argument). Issue: MATH-933.
o Greater efficiency in "UnitSphereRandomVectorGenerator". Issue: MATH-931. Thanks to Sean Owen.
Have fun!
-Commons Math team