Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
comparison 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 |
comparison
equal
deleted
inserted
replaced
17:e8ccd518555b | 18:a705726863bc |
---|---|
1 | |
2 | |
3 Apache Commons Math 2.1 RELEASE NOTES | |
4 | |
5 This is primarily a maintenance release, but it also includes new features and enhancements. | |
6 Users of version 2.0 are encouraged to upgrade to 2.1, as this release includes some important | |
7 bug fixes. See the detailed list of changes below for full description of all bug fixes and | |
8 enhancements. | |
9 | |
10 This release contains some minor API compatibility breaks with version 2.0: | |
11 -------------------------------------------------------------------------- | |
12 - the return type of RealVector.copy() has been changed to AbstractRealVector | |
13 - the no-argument constructor of MatrixUtils() has been made private | |
14 - the mapXxxToSelf methods of OpenMapRealVector have been removed and some method return types | |
15 have been changed in this class | |
16 - new methods have been added to the RealVector interface | |
17 - several fields in AdaptiveStepSizeIntegrator have been made final | |
18 - DummyStepInterpolator requires an additional argument for one of its constructors | |
19 - some protected fields have been removed from AbstractLeastSquaresOptimizer, | |
20 AbstractScalarDifferentiableOptimizer and AbstractLinearOptimizer | |
21 - the isOptimal(SimplexTableau) method has been removed from SimplexSolver | |
22 | |
23 Changes in this version include: | |
24 | |
25 New features: | |
26 o MATH-357: Implementation of bicubic interpolation. | |
27 o Added a way to compute both the final state in an Initial Value Problem (IVP) | |
28 for Ordinary Differential Equations (ODE) and its derivatives with respect to | |
29 initial state and with respect to some problem parameters. This allows wrapping | |
30 ODE solvers into optimization or root finding algorithms, which in turn can be | |
31 used to solve Boundary Value Problems (BVP). There are no implementations (yet) | |
32 of BVP solvers in the library. | |
33 o MATH-323: Added SemiVariance statistic. Thanks to Larry Diamond. | |
34 o MATH-341: Added a warning in the getCoefficients method documentation for | |
35 PolynomialFunctionLagrangeForm. Computation may be ill-conditioned | |
36 so this method should be used with care. | |
37 o MATH-340: Fixed an error in BigFraction multiplication for large numerators that don't | |
38 fit in a primitive int. | |
39 o MATH-334: Added min/max getters for real vectors (not yet in the RealVector interface for | |
40 compatibility purposes, but in the AbstractRealVector abstract class). | |
41 o MATH-321: Singular Value Decomposition now computes either the compact SVD (using only | |
42 positive singular values) or truncated SVD (using a user-specified maximal | |
43 number of singular values). | |
44 o MATH-300: Added support for multidimensional interpolation using the robust microsphere algorithm. Thanks to Gilles Sadowski. | |
45 o MATH-287: Added support for weighted descriptive statistics. Thanks to Matthew Rowles. | |
46 o Added normalizeArray method to MathUtils. | |
47 | |
48 Fixed Bugs: | |
49 o MATH-360: Fix use of wrong variable in SmoothingBicubicSplineInterpolatorTest.testPreconditions() | |
50 o MATH-335: Fraction.hashCode() implementation was not fully consistent with Fraction.equals(). | |
51 Changed hashCode() to use fields directly to agree with equals(). | |
52 o MATH-282: Resolved multiple problems leading to inaccuracy and/or failure to compute Normal, | |
53 ChiSquare and Poisson probabilities, Erf and Gamma functions. Made Brent solver | |
54 absolute accuracy configurable for all continuous distributions. | |
55 o MATH-347: Fixed too stringent interval check in Brent solver: initial guess is now | |
56 allowed to be at either interval end | |
57 o MATH-358: Fixed an error in events handling in ODE solvers. In some rare cases, events | |
58 occurring close to a step start were handled without truncating the step, making | |
59 them appear as is they occurred close to the step end | |
60 o Fixed a problem with getInterpolatedDerivatives returning zero derivatives when | |
61 an ODE step handler is configured to not use interpolation. It now returns a | |
62 constant but non-zero value consistent with at least one point inside the step | |
63 o MATH-344: Fixed wrong return values when enpoints are roots in Brent solver with | |
64 a user provided initial guess | |
65 o MATH-343: Fixed a missing bracketing check of initial interval in Brent solver. | |
66 o MATH-342: In SVD, the matrices passed to EigenDecomposition are now symmetric | |
67 by construction (rather than simply by definition). In EigenDecomposition, | |
68 once the tridiagonal form is obtained, the non-significant elements are | |
69 set to 0. | |
70 o MATH-333: A EigenDecompositionImpl simplified makes it possible to compute | |
71 the SVD of a singular matrix (with the right number of elements in | |
72 the diagonal matrix) or a matrix with singular value(s) of multiplicity | |
73 greater than 1. | |
74 o Fixed a spurious exception in EigenDecompositionImpl when a 3x3 block | |
75 had two identical eigenvalues. | |
76 o MATH-338: Fixed automatic step initialization in embedded Runge-Kutta integrators. | |
77 The relative tolerance setting was never used, only the absolute tolerance | |
78 was used. Thanks to Vincent Morand. | |
79 o MATH-329: Fixed regression in Frequency.getPct(Object) introduced in 2.0. Cumulative | |
80 percent was being returned for Object arguments in place of percent. | |
81 o MATH-320: Fixed Singular Value Decomposition solving of singular systems. | |
82 o MATH-326: Fixed a wrong implementation of the Linf norm in vectors. Thanks to Jake Mannix. | |
83 o MATH-324: Fixed a convergence discrepancy with respect to theory in Gragg-Bulirsch-Stoer | |
84 integrator. Thanks to Vincent Morand. | |
85 o Fixed a wrong dimension check in SVD solver. Thanks to Dimitri Pourbaix. | |
86 o MATH-313: Added composition features for real functions. Thanks to Jake Mannix. | |
87 o MATH-312: Added mapping and iteration methods to vectors. Provided a default implementation | |
88 for the numerous simple methods in the RealVectorInterface. Thanks to Jake Mannix. | |
89 o MATH-322: Fixed an error in handling very close events in ODE integration. | |
90 o MATH-305: Fixed an overflow error in MathUtils.distance that was causing KMeansPlusPlusClusterer | |
91 to fail with a NullPointerException when component distances between points | |
92 exceeded Integer.MAXVALUE. Thanks to Erik van Ingen. | |
93 o MATH-318: Fixed an index computation error in eigen decomposition. Once again, kudos to Dimitri | |
94 for debugging this. Thanks to Dimitri Pourbaix. | |
95 o MATH-308: Fixed an ArrayIndexOutOfBoundsException in eigen decomposition. Kudos to Dimitri | |
96 for debugging this, it was really difficult. Thanks to Dimitri Pourbaix. | |
97 o MATH-309: Fixed parameter test in RandomDataImpl#nextExponential. The method now throws | |
98 IllegalArgumentException for mean = 0. Thanks to Mikkel Meyer Andersen. | |
99 o MATH-306: Removed dead code from Complex#divide. Thanks to Joerg Huber. | |
100 o MATH-294: Fixed implementation of RandomDataImpl#nextPoisson by implementing an alternative | |
101 algorithm for large means. | |
102 o MATH-298: Fixed implementation of EmpiricalDistributionImpl#getUpperBounds to match | |
103 interface contract. Added getGeneratorUpperBounds method to | |
104 EmpiricalDistributionImpl providing previous behavior. | |
105 o MATH-296: Fixed wrong results on Loess interpolation, also added a way to set weights | |
106 for smoothing and to ignore zero weights for coefficients computation Thanks to Eugene Kirpichov. | |
107 o MATH-293: Fixed a OutOfBoundException in simplex solver when some constraints are tight. Thanks to Benjamin McCann. | |
108 o MATH-291: Fixed misleading number formats in error messages for adaptive | |
109 stepsize integrators. Thanks to Sebb. | |
110 o MATH-290: Fixed a NullPointerException in simplex solver when no solution is possible | |
111 and some constraints are negative. Thanks to Benjamin McCann. | |
112 o MATH-289: Removed an unused argument in a private method in simplex solver. | |
113 o MATH-288: Fixed an error induced by entries set to 0 in simplex solver. Thanks to Benjamin McCann. | |
114 o MATH-286: Fixed an error leading the simplex solver to compute the right solution | |
115 but return another one. Thanks to Benjamin McCann. | |
116 o MATH-283: Prevent infinite loops in multi-directional direct optimization method when | |
117 the start point is exactly at the optimal point. Thanks to Michael Nischt. | |
118 o MATH-297: Prevent possible zero divides on eigenvectors of indefinite matrices Thanks to Axel Kramer. | |
119 | |
120 Changes: | |
121 o MATH-356: Added method to clear the list of observations in CurveFitter. | |
122 o MATH-332: Added density functions to remaining continuous distributions (F, T, Weibull, Cauchy). | |
123 As of Math 2.1, all continuous distributions implement density functions. The HasDensity | |
124 interface has been deprecated and in version 3.0, density(double) will be added to the | |
125 ContinuousDistribution interface. Thanks to Mikkel Meyer Andersen. | |
126 o MATH-337: Changed equals() methods to use instanceof check rather than catching ClassCastException; | |
127 this also allows some null checks to be omitted. | |
128 o MATH-336: Removed unnecessary null checks in equals methods. | |
129 o MATH-239: Added MathUtils methods to compute gcd and lcm for long arguments. Thanks to Christian Semrau. | |
130 o MATH-287: Added support for weighted univariate statistics. Thanks to Matthew Rowles. | |
131 o MATH-315: Added generationsEvolved property to GeneticAlgorithm to track the number of generations | |
132 evolved by the evolve() method before reaching the StoppingCondition. Thanks to Mikkel Meyer Andersen. | |
133 o MATH-311: Changed probability calculations for Binomial, Poisson, and Hypergeometric | |
134 distributions to use Catherine Loader's saddle point approximations. Thanks to Nipun Jawalkar. | |
135 | |
136 | |
137 For complete information on Commons Math, including instructions on how to submit bug reports, | |
138 patches, or suggestions for improvement, see the Apache Commons Math website: | |
139 | |
140 http://commons.apache.org/math/ | |
141 | |
142 |