116 lines
6.8 KiB
Plaintext
116 lines
6.8 KiB
Plaintext
|
|
Apache Commons Math 3.2 RELEASE NOTES
|
|
|
|
The Commons Math team is pleased to announce the release of commons-math3-3.2
|
|
|
|
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.
|
|
|
|
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.1[.1] JAR file.
|
|
|
|
Most notable among the new features are: Framework for automatic
|
|
differentiation, Lévy distribution, prime numbers, enumerated
|
|
distributions, real field allowing to use several algorithms
|
|
(solvers, linear algebra, 3D geometry) with different real-like
|
|
classes (high accuracy or automatic differentiation), spherical
|
|
coordinates with gradients and Hessians, reorganized clustering
|
|
package with different distance implementations.
|
|
|
|
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).
|
|
|
|
Changes in this version include:
|
|
|
|
New features:
|
|
o MATH-917,MATH-918,MATH-919,MATH-920: 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". Thanks to Reid Hochstedler.
|
|
o MATH-817: Added Multivariate Normal Mixture Model Fitting by Expectation Maximization. Thanks to Jared Becksfort.
|
|
o MATH-811: Added a way to trigger only increasing or decreasing events in ODE integration.
|
|
o MATH-946: Added array-scaling methods to MathArrays. Thanks to Jared Becksfort.
|
|
o MATH-460: Added the Lévy distribution. Thanks to Andrew Waterman.
|
|
o MATH-948: Implementations for inverse error function and inverse complementary
|
|
error functions have been added.
|
|
o MATH-845: Added utilities for prime numbers. Thanks to Sébastien Riou.
|
|
o MATH-914: Check bounds in multi-start vector optimizers.
|
|
o MATH-941: Added discrete distributions. 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 MATH-957: Fixed inverse cumulative probability for uniform distribution. Thanks to Evan Ward.
|
|
o MATH-891: "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.
|
|
o MATH-934: Fixed Complex.reciprocal() for zero argument.
|
|
o MATH-862: AbstractRealMatrix will now check for rectangular input arrays in
|
|
its copySubMatrix methods.
|
|
o MATH-949: Increment iteration counter in optimization algorithms.
|
|
o MATH-950: Fixed missing update in ODE event handlers, when a RESET_STATE is triggered.
|
|
o MATH-947: Fixed infinite loop when NaN occurs in singular value decomposition.
|
|
o MATH-580: Extended ranges for FastMath performance tests.
|
|
o MATH-925: Finalized implementation of diagonal matrix.
|
|
o MATH-630: Added rank revealing QR decomposition. Thanks to Christopher Nix.
|
|
o MATH-570: ArrayFieldVector can now be constructed from any FieldVector. Thanks to Arne Plöse.
|
|
o MATH-861: Improved checking of null vector elements. Thanks to Sébastien Brisard.
|
|
o MATH-936: Fixed generation of long random numbers between two bounds.
|
|
o MATH-942: Fixed creation of generic array. Thanks to Piotr Wydrych.
|
|
o MATH-940: Fixed abstract test class naming that broke ant builds. Thanks to Piotr Wydrych.
|
|
o MATH-939: Allow covariance to be computed for one-dimensional variables. Thanks to Piotr Wydrych.
|
|
o MATH-938: Fixed accuracy of 3D Line.revert().
|
|
o MATH-937: Improved javadoc to explain how switching functions should
|
|
behave across events in ODE events detection.
|
|
o MATH-935: Fixed DerivativeStructure.atan2 for special cases when both arguments are +/-0.
|
|
o MATH-930: Improved class javadoc wrt convergence criteria and added
|
|
additional constructors to override the default epsilon and cut-off
|
|
values in class "SimplexSolver".
|
|
o MATH-929: Fixed truncated value in "MultivariateNormalDistribution". Thanks to Piotr Wydrych.
|
|
o MATH-927: Made "BitStreamGenerator" implement the "Serializable" interface. Thanks to Dennis Hendriks.
|
|
|
|
Changes:
|
|
o MATH-956: Replaced hard-coded numbers in "LevenbergMarquardtOptimizer".
|
|
o MATH-955: Fixed loading of test file when path contains a space. Thanks to Evan Ward.
|
|
o MATH-954: Improved speed of FastMath.abs methods for all signatures, by removing branching. Thanks to Charles Cooper.
|
|
o MATH-953: Improved speed of several FastMath methods. Thanks to Charles Cooper.
|
|
o MATH-951: Improved speed of FastMath copysign methods. Thanks to Charles Cooper.
|
|
o MATH-671: Made EmpiricalDisribution smoothing kernel pluggable.
|
|
o MATH-877: Allow direct use of SummaryStatistics in one-way ANOVA. 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 MATH-933: Throw "MathUnsupportedOperationException" from optimizers that do
|
|
not support constraints (previous behaviour was to silently ignore
|
|
the "SimpleBounds" argument).
|
|
o MATH-931: Greater efficiency in "UnitSphereRandomVectorGenerator". Thanks to Sean Owen.
|
|
|
|
|
|
For complete information on Commons Math, including instructions on how to submit bug reports,
|
|
patches, or suggestions for improvement, see the Apache Commons Math website:
|
|
|
|
http://commons.apache.org/proper/commons-math/
|
|
|
|
|