127 lines
7.7 KiB
Plaintext
127 lines
7.7 KiB
Plaintext
|
|
Apache Commons Math 3.4 RELEASE NOTES
|
|
|
|
The Apache Commons Math team is pleased to announce the release of commons-math3-3.4
|
|
|
|
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.
|
|
|
|
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.3 JAR file.
|
|
|
|
Most notable among the new features are:
|
|
new distributions (Gumbel, Laplace, Logistic, Nakagami), and
|
|
improvements on percentiles algorithms (better handling for NaNs
|
|
in the regular algorithm, plus a new storeless implementation).
|
|
Bicubic and tricubic interpolators have been fixed and new
|
|
implementations added. There have been numerous bug fixes and
|
|
several improvements on performances or robustness. See below
|
|
for a full list.
|
|
|
|
The minimum version of the Java platform required to compile and use
|
|
Apache 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-1066: Added Bessel functions of the first kind, based on NetLib implementation. Thanks to Brian Wignall.
|
|
o MATH-1180: Method to create a sequence of integers (in "o.a.c.m.util.MathArrays").
|
|
o MATH-1172: New class "SimpleCurveFitter": Boiler-plate code to allow fitting of
|
|
a user-defined parametric function.
|
|
o MATH-1173: New classes "TricubicInterpolatingFunction" and "TricubicInterpolator" to
|
|
replace "TricubicSplineInterpolatingFunction" and "TricubicSplineInterpolator".
|
|
o MATH-1166: New classes "BicubicInterpolatingFunction" and "BicubicInterpolator" to
|
|
replace "BicubicSplineInterpolatingFunction" and "BicubicSplineInterpolator".
|
|
o Boundary attributes in regions now provides the BSP tree nodes that
|
|
were used to split the sub-hyperplane forming the boundary part of the facet.
|
|
o MATH-1144: Interface to allow parameter validation in "o.a.c.m.fitting.leastsquares":
|
|
the point computed by by the optimizer can be modified before evaluation.
|
|
o MATH-1154: Changed classes in the inference package that instantiate distributions to
|
|
pass null RandomGenerators to avoid initialization overhead for the default
|
|
generator.
|
|
o MATH-1156: Added all Java 8 StrictMath methods to FastMath, so FastMath remains compatible
|
|
with newer Java versions.
|
|
o MATH-1139: Added Gumbel, Laplace, Logistic and Nakagami distributions. Thanks to Alexey Volkov.
|
|
o MATH-1120: Added several different estimation types and NaN handling strategies for Percentile. Thanks to Venkatesha Murthy.
|
|
o MATH-418: Added implementation of PSquare algorithm to estimate percentiles without
|
|
storing data in memory (i.e. as StorelessUnivariateStatistic). Thanks to Venkatesha Murthy.
|
|
|
|
Fixed Bugs:
|
|
o MATH-1142: Improve performance of kalman gain calculation in "KalmanFilter" by
|
|
directly solving a linear system rather than computing the matrix
|
|
inverse. Thanks to Arne Schwarz.
|
|
o MATH-1181: Fixed integer overflow in KolmogorovSmirnovTest causing 2-sample test
|
|
to use exact method when the product of the sample sizes exceeds
|
|
Integer.MAX_VALUE, resulting in effectively hung execution.
|
|
o MATH-1178: Fixed example in userguide ("stat" section). Thanks to Dmitriy.
|
|
o MATH-1175: Fixed inverse cumulative probability of 0 in "LaplaceDistribution". Thanks to Karsten Loesing.
|
|
o MATH-1174: Fixed a problem with too thin polygons considered to have infinite size.
|
|
o MATH-1162: Fixed a problem with vanishing cut sub-hyperplanes during BSP tree merging.
|
|
o MATH-1167: "o.a.c.m.stat.regression.OLSMultipleLinearRegression": Use threshold
|
|
when performing "QRDecomposition". Thanks to Neil Ireson.
|
|
o MATH-1165: "FuzzyKMeansClusterer" has thrown an exception in case one of the data
|
|
points was equal to a cluster center. Thanks to Pashutan Modaresi.
|
|
o MATH-1160: Provide access to state derivatives in ContinuousOutputModel.
|
|
o MATH-1138: Fixed bicubic spline interpolator, using Akima splines. Thanks to Hank Grabowski.
|
|
o MATH-1147: Added statistics missing from toString method in SummaryStatistics.
|
|
o MATH-1152: Improved performance of "EnumeratedDistribution#sample()" by caching
|
|
the cumulative probabilities and using binary rather than a linear search. Thanks to Andras Sereny.
|
|
o MATH-1148: "MonotoneChain" did not take the tolerance factor into account when
|
|
sorting the input points. In case of collinear points this could result
|
|
in a "ConvergenceException" when computing the hull. Thanks to Guillaume Marceau.
|
|
o MATH-1151: Interface "ValueAndJacobianFunction" is a precondition for lazy
|
|
evaluation (in "o.a.c.m.fitting.leastsquares").
|
|
o MATH-1145: Fix potential integer overflows in "MannWhitneyUTest" when providing
|
|
large sample arrays. Thanks to Anders Conbere.
|
|
o MATH-1149: Fixed potential null pointer dereferencing in constructor of
|
|
"DummyStepInterpolator(DummyStepInterpolator)". Thanks to M Kim.
|
|
o MATH-1136: Fixed BinomialDistribution to deal with degenerate cases correctly. Thanks to Aleksei Dievskii.
|
|
o MATH-1135: "MonotoneChain" failed to generate a convex hull if only a minimal hull
|
|
shall be created (includeCollinearPoints=false) and collinear hull points
|
|
were present in the input. Thanks to Guillaume Marceau.
|
|
o MATH-1131: Improve performance of "KolmogorovSmirnovTest#kolmogorovSmirnovTest(...)" for
|
|
large samples. Also changed implementation for large n to use Pelz-Good
|
|
approximation. Thanks to Schalk W. Cronjé.
|
|
o MATH-1134: "BicubicSplineInterpolatingFunction": all fields made final and initialized in
|
|
the constructor. Added flag to request initialization, or not, of the internal
|
|
data needed for partial derivatives.
|
|
o MATH-984: Constrained EmpiricalDistribution sample/getNextValue methods to return
|
|
values within the range of the data; correctly linked RandomGenerator to
|
|
superclass so that RealDistribution reseedRandomGenerator method works.
|
|
o MATH-1129: "Percentile": wrong sorting in the presence of NaN.
|
|
o MATH-1127: Fixed overflow in Precision.equals with ulps (both double and float versions).
|
|
o MATH-1125: Performance improvements for Student's t-distribution. Thanks to Ajo Fod.
|
|
o MATH-1123: Fixed NullPointerException when chopping-off a sub-hyperplane
|
|
that is exactly at a region boundary. Thanks to Aurélien Labrosse.
|
|
o MATH-1121: "BrentOptimizer": increment base class iteration counter. Thanks to Ajo Fod.
|
|
|
|
Changes:
|
|
o Spurious vertices in the middle of otherwise straight edges are now
|
|
filtered out when rebuilding polygons boundaries from BSP trees.
|
|
o MATH-1128: Added lazy evaluation to "LeastSquaresFactory" (in "o.a.c.m.fitting.leastsquares")
|
|
to avoid evaluating the model when the optimization algorithm does not actually
|
|
require it.
|
|
|
|
|
|
For complete information on Apache 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/
|
|
|
|
|