Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
diff libs/commons-math-2.1/RELEASE-NOTES.txt @ 18:a705726863bc
commons-math-2.1 added
author | dwinter |
---|---|
date | Tue, 04 Jan 2011 10:03:11 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs/commons-math-2.1/RELEASE-NOTES.txt Tue Jan 04 10:03:11 2011 +0100 @@ -0,0 +1,142 @@ + + + Apache Commons Math 2.1 RELEASE NOTES + +This is primarily a maintenance release, but it also includes new features and enhancements. +Users of version 2.0 are encouraged to upgrade to 2.1, as this release includes some important +bug fixes. See the detailed list of changes below for full description of all bug fixes and +enhancements. + +This release contains some minor API compatibility breaks with version 2.0: + -------------------------------------------------------------------------- + - the return type of RealVector.copy() has been changed to AbstractRealVector + - the no-argument constructor of MatrixUtils() has been made private + - the mapXxxToSelf methods of OpenMapRealVector have been removed and some method return types + have been changed in this class + - new methods have been added to the RealVector interface + - several fields in AdaptiveStepSizeIntegrator have been made final + - DummyStepInterpolator requires an additional argument for one of its constructors + - some protected fields have been removed from AbstractLeastSquaresOptimizer, + AbstractScalarDifferentiableOptimizer and AbstractLinearOptimizer + - the isOptimal(SimplexTableau) method has been removed from SimplexSolver + +Changes in this version include: + +New features: +o MATH-357: Implementation of bicubic interpolation. +o Added a way to compute both the final state in an Initial Value Problem (IVP) + for Ordinary Differential Equations (ODE) and its derivatives with respect to + initial state and with respect to some problem parameters. This allows wrapping + ODE solvers into optimization or root finding algorithms, which in turn can be + used to solve Boundary Value Problems (BVP). There are no implementations (yet) + of BVP solvers in the library. +o MATH-323: Added SemiVariance statistic. Thanks to Larry Diamond. +o MATH-341: Added a warning in the getCoefficients method documentation for + PolynomialFunctionLagrangeForm. Computation may be ill-conditioned + so this method should be used with care. +o MATH-340: Fixed an error in BigFraction multiplication for large numerators that don't + fit in a primitive int. +o MATH-334: Added min/max getters for real vectors (not yet in the RealVector interface for + compatibility purposes, but in the AbstractRealVector abstract class). +o MATH-321: Singular Value Decomposition now computes either the compact SVD (using only + positive singular values) or truncated SVD (using a user-specified maximal + number of singular values). +o MATH-300: Added support for multidimensional interpolation using the robust microsphere algorithm. Thanks to Gilles Sadowski. +o MATH-287: Added support for weighted descriptive statistics. Thanks to Matthew Rowles. +o Added normalizeArray method to MathUtils. + +Fixed Bugs: +o MATH-360: Fix use of wrong variable in SmoothingBicubicSplineInterpolatorTest.testPreconditions() +o MATH-335: Fraction.hashCode() implementation was not fully consistent with Fraction.equals(). + Changed hashCode() to use fields directly to agree with equals(). +o MATH-282: Resolved multiple problems leading to inaccuracy and/or failure to compute Normal, + ChiSquare and Poisson probabilities, Erf and Gamma functions. Made Brent solver + absolute accuracy configurable for all continuous distributions. +o MATH-347: Fixed too stringent interval check in Brent solver: initial guess is now + allowed to be at either interval end +o MATH-358: Fixed an error in events handling in ODE solvers. In some rare cases, events + occurring close to a step start were handled without truncating the step, making + them appear as is they occurred close to the step end +o Fixed a problem with getInterpolatedDerivatives returning zero derivatives when + an ODE step handler is configured to not use interpolation. It now returns a + constant but non-zero value consistent with at least one point inside the step +o MATH-344: Fixed wrong return values when enpoints are roots in Brent solver with + a user provided initial guess +o MATH-343: Fixed a missing bracketing check of initial interval in Brent solver. +o MATH-342: In SVD, the matrices passed to EigenDecomposition are now symmetric + by construction (rather than simply by definition). In EigenDecomposition, + once the tridiagonal form is obtained, the non-significant elements are + set to 0. +o MATH-333: A EigenDecompositionImpl simplified makes it possible to compute + the SVD of a singular matrix (with the right number of elements in + the diagonal matrix) or a matrix with singular value(s) of multiplicity + greater than 1. +o Fixed a spurious exception in EigenDecompositionImpl when a 3x3 block + had two identical eigenvalues. +o MATH-338: Fixed automatic step initialization in embedded Runge-Kutta integrators. + The relative tolerance setting was never used, only the absolute tolerance + was used. Thanks to Vincent Morand. +o MATH-329: Fixed regression in Frequency.getPct(Object) introduced in 2.0. Cumulative + percent was being returned for Object arguments in place of percent. +o MATH-320: Fixed Singular Value Decomposition solving of singular systems. +o MATH-326: Fixed a wrong implementation of the Linf norm in vectors. Thanks to Jake Mannix. +o MATH-324: Fixed a convergence discrepancy with respect to theory in Gragg-Bulirsch-Stoer + integrator. Thanks to Vincent Morand. +o Fixed a wrong dimension check in SVD solver. Thanks to Dimitri Pourbaix. +o MATH-313: Added composition features for real functions. Thanks to Jake Mannix. +o MATH-312: Added mapping and iteration methods to vectors. Provided a default implementation + for the numerous simple methods in the RealVectorInterface. Thanks to Jake Mannix. +o MATH-322: Fixed an error in handling very close events in ODE integration. +o MATH-305: Fixed an overflow error in MathUtils.distance that was causing KMeansPlusPlusClusterer + to fail with a NullPointerException when component distances between points + exceeded Integer.MAXVALUE. Thanks to Erik van Ingen. +o MATH-318: Fixed an index computation error in eigen decomposition. Once again, kudos to Dimitri + for debugging this. Thanks to Dimitri Pourbaix. +o MATH-308: Fixed an ArrayIndexOutOfBoundsException in eigen decomposition. Kudos to Dimitri + for debugging this, it was really difficult. Thanks to Dimitri Pourbaix. +o MATH-309: Fixed parameter test in RandomDataImpl#nextExponential. The method now throws + IllegalArgumentException for mean = 0. Thanks to Mikkel Meyer Andersen. +o MATH-306: Removed dead code from Complex#divide. Thanks to Joerg Huber. +o MATH-294: Fixed implementation of RandomDataImpl#nextPoisson by implementing an alternative + algorithm for large means. +o MATH-298: Fixed implementation of EmpiricalDistributionImpl#getUpperBounds to match + interface contract. Added getGeneratorUpperBounds method to + EmpiricalDistributionImpl providing previous behavior. +o MATH-296: Fixed wrong results on Loess interpolation, also added a way to set weights + for smoothing and to ignore zero weights for coefficients computation Thanks to Eugene Kirpichov. +o MATH-293: Fixed a OutOfBoundException in simplex solver when some constraints are tight. Thanks to Benjamin McCann. +o MATH-291: Fixed misleading number formats in error messages for adaptive + stepsize integrators. Thanks to Sebb. +o MATH-290: Fixed a NullPointerException in simplex solver when no solution is possible + and some constraints are negative. Thanks to Benjamin McCann. +o MATH-289: Removed an unused argument in a private method in simplex solver. +o MATH-288: Fixed an error induced by entries set to 0 in simplex solver. Thanks to Benjamin McCann. +o MATH-286: Fixed an error leading the simplex solver to compute the right solution + but return another one. Thanks to Benjamin McCann. +o MATH-283: Prevent infinite loops in multi-directional direct optimization method when + the start point is exactly at the optimal point. Thanks to Michael Nischt. +o MATH-297: Prevent possible zero divides on eigenvectors of indefinite matrices Thanks to Axel Kramer. + +Changes: +o MATH-356: Added method to clear the list of observations in CurveFitter. +o MATH-332: Added density functions to remaining continuous distributions (F, T, Weibull, Cauchy). + As of Math 2.1, all continuous distributions implement density functions. The HasDensity + interface has been deprecated and in version 3.0, density(double) will be added to the + ContinuousDistribution interface. Thanks to Mikkel Meyer Andersen. +o MATH-337: Changed equals() methods to use instanceof check rather than catching ClassCastException; + this also allows some null checks to be omitted. +o MATH-336: Removed unnecessary null checks in equals methods. +o MATH-239: Added MathUtils methods to compute gcd and lcm for long arguments. Thanks to Christian Semrau. +o MATH-287: Added support for weighted univariate statistics. Thanks to Matthew Rowles. +o MATH-315: Added generationsEvolved property to GeneticAlgorithm to track the number of generations + evolved by the evolve() method before reaching the StoppingCondition. Thanks to Mikkel Meyer Andersen. +o MATH-311: Changed probability calculations for Binomial, Poisson, and Hypergeometric + distributions to use Catherine Loader's saddle point approximations. Thanks to Nipun Jawalkar. + + +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/math/ + +