| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <!-- |
| This file is used by the maven-changes-plugin to generate the release notes. |
| Useful ways of finding items to add to this file are: |
| |
| 1. Add items when you fix a bug or add a feature (this makes the |
| release process easy :-). |
| |
| 2. Do a JIRA search for tickets closed since the previous release. |
| |
| 3. Use the report generated by the maven-changelog-plugin to see all |
| SVN commits. TBA how to use this with SVN. |
| |
| To generate the release notes from this file: |
| |
| mvn changes:announcement-generate |
| mv target/announcement/math-release-notes.vm RELEASE_NOTES.txt |
| then tweak the formatting |
| (e.g. copy/paste the description to replace the one-line version) |
| and commit |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| |
| <document> |
| <properties> |
| <title>Commons Math Release Notes</title> |
| </properties> |
| <body> |
| <!-- NOTE: |
| The description below is specially formatted so as to improve the layout of the generated release notes: |
| The parsing process removes all line feeds, replacing them with a single space. |
| The Velocity template in resources/templates has been enhanced to replace pairs of adjacent spaces |
| with a new-line in the release notes. (These spaces are ignored when displaying HTML). |
| If the output is not quite correct, check for invisible trailing spaces! |
| --> |
| <release version="2.2.1" date="TBD" description="TBD"> |
| <action dev="erans" type="fix" issue="MATH-560"> |
| Removed unwarranted deprecated tags. |
| </action> |
| </release> |
| |
| <release version="2.2" date="2011-03-02" description=" |
| This is primarily a maintenance release, but it also includes new features and enhancements. |
| |
| Users of version 2.1 are encouraged to upgrade to 2.2, 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 compatibility breaks with version 2.1 in some internal classes but none |
| of them are in APIs likely to be accessed by user code: |
| the MessagesResources_fr class has been removed (replaced by a properties file); |
| the arguments of the EventState.reinitializeBegin method have changed; |
| some protected fields which already had public accessors in AbstractStepInterpolator have been replaced. |
| |
| There is a behavior change that users of the multiple regression classes should be aware of. In version |
| 2.1, there was no way to estimate models without intercept terms, and, while this was not clear from |
| the documentation, design (X) matrices needed to include initial unitary columns. In 2.2, initial |
| unitary columns are not necessary and whether or not models include intercept terms is configurable. |
| See the change log and javadoc for the classes in org.apache.commons.math.stat.regression for details. |
| |
| The major new features are: |
| a new FastMath class, both faster, more accurate and with a few additional functions than StrictMath and Math; |
| a new package for floating point arbitrary precision computing, including high level functions like exponential, sine, square root ...; |
| new linear and tricubic interpolators; |
| a new Gaussian curve fitter; |
| a new erfc function; |
| characteristic support for distributions; |
| a set of new Well Equidistributed Long-period Linear (WELL) random generators."> |
| <action dev="sebb" type="fix" issue="MATH-505"> |
| TestUtils is thread-hostile. Deprecate the getters and setters. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-498"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) added scalb(double, int), scalb(float, int) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-478"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) added hypot(double, double), nextAfter(double, double) |
| and nextAfter(float,double) (beware of the strange double second argument) |
| so that they handle special values in the way as StrictMath |
| </action> |
| <action dev="luc" type="fix" issue="MATH-497"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) added getExponent(double) and getExponent(float) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-496"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) Add copySign(double), copySign(float) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-494"> |
| FastMath atan2 does not agree with StrictMath for special cases |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-489"> |
| FastMath acos fails when input abs value is less than about 5.7851920321187236E-300 - returns NaN |
| </action> |
| <action dev="luc" type="fix" issue="MATH-484"> |
| separate discrete event detection from adaptive step size handling in ODE solvers, |
| thus improving robustness, maintainability and speed |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-486"> |
| FastMath toRadian and toDegree don't handle large double numbers well |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-483"> |
| FastMath does not handle all special cases correctly |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-480"> |
| Fix ulp(Infinity) to return Infinity rather than NaN |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-479"> |
| FastMath.signum(-0.0) does not agree with Math.signum(-0.0) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-478"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) Add signum(float), ulp(float) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-471"> |
| MathUtils.equals(double, double) does not work properly for floats |
| - add equivalent (float, float) methods and basic tests |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-482"> |
| FastMath.max(50.0f, -50.0f) => -50.0f; should be +50.0f |
| Fixed FastMath.max(float, float) so it returns correct value. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-467"> |
| Fixed an awkward statement that triggered a false positive warning. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-364" due-to="Christian Winter"> |
| Added complementary error function, erfc. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-456"> |
| Modified erf (and erfc) to return extreme values for x with abs(x) > 40. |
| For these arguments, the true value is indistinguishable from an extrema as a double. |
| </action> |
| <action dev="mikl" type="add" issue="MATH-385"> |
| Added characteristic support to distributions, including methods to return numerical |
| estimates of the mean and variance and upper and lower bounds of support. In version 2.2, |
| methods returning distribution characteristics have been added only to the implementation |
| classes. In version 3, supporting methods have been added to the abstract base classes |
| and distribution interfaces. |
| </action> |
| <action dev="mikl" type="update" issue="MATH-384"> |
| Added a constructor and addValues(double[]) methods allowing DescriptiveStatistics to |
| be initialized with values from a double[] array. Similarly enhanced |
| ResizeableDoubleArray. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-448" due-to="Patrick Meyer"> |
| Added a getUniqueCount() method to Frequency to return the number of unique |
| values included in the frequency table. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-414"> |
| Modified NormalDistributionImpl.cumulativeProbability to return 0 or 1, |
| respectively for values more than 40 standard deviations from the mean. |
| For these values, the actual probability is indistinguishable from 0 or 1 |
| as a double. Top coding improves performance for extreme values and prevents |
| convergence exceptions. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-420"> |
| Added toString() override to StatisticalSummaryValues. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-380"> |
| Deprecated the whole ode.jacobians package. It is clumsy and difficult to use. It will |
| be replaced by a completely rewritten implementation in 3.0, which will be more tightly |
| bound to the top level ode package |
| </action> |
| <action dev="luc" type="fix" issue="MATH-426" due-to="Erik van Ingen"> |
| Added a normalization feature to transform samples so they have zero mean and unit standard deviation |
| </action> |
| <action dev="erans" type="add" issue="MATH-440"> |
| Created "MathUserException" class to convey cause of failure between |
| layers of user code separated by a layer of Commons-Math code. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-429"> |
| Fixed k-means++ to add several strategies to deal with empty clusters that may appear |
| during iterations |
| </action> |
| <action dev="luc" type="update" issue="MATH-417"> |
| Improved Percentile performance by using a selection algorithm instead of a |
| complete sort, and by allowing caching data array and pivots when several |
| different percentiles are desired |
| </action> |
| <action dev="luc" type="fix" issue="MATH-391"> |
| Fixed an error preventing zero length vectors to be built by some constructors |
| </action> |
| <action dev="luc" type="fix" issue="MATH-421"> |
| Fixed an error preventing ODE solvers to be restarted after they have been stopped by a discrete event |
| </action> |
| <action dev="luc" type="add" issue="MATH-419"> |
| Added new random number generators from the Well Equidistributed Long-period Linear (WELL). |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-409"> |
| Made intercept / no intercept configurable in multiple regression classes. By default, regression |
| models are estimated with an intercept term. When the "noIntercept" property is set to |
| true, regression models are estimated without intercepts. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-415"> |
| Fixed lost cause in MathRuntimeException.createInternalError. Note that the message is still the default |
| message for internal errors asking to report a bug to commons-math JIRA tracker. In order to retrieve |
| the message from the root cause, one has to get the cause itself by getCause(). |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-411"> |
| Modified multiple regression newSample methods to ensure that by default in all cases, |
| regression models are estimated with intercept terms. Prior to the fix for this issue, |
| newXSampleData(double[][]), newSampleData(double[], double[][]) and |
| newSampleData(double[], double[][], double[][]) all required columns of "1's" to be inserted |
| into the x[][] arrays to create a model with an intercept term; while newSampleData(double[], int, int) |
| created a model including an intercept term without requiring the unitary column. All methods have |
| been changed to eliminate the need for users to add unitary columns to specify regression models. |
| Users of OLSMultipleLinearRegression or GLSMultipleLinearRegression versions 2.0 or 2.1 should either |
| verify that their code either does not use the first set of data loading methods above or set the noIntercept |
| property to true on estimated models to get the previous behavior. |
| </action> |
| <action dev="luc" type="add" issue="MATH-412" due-to="Bill Rossi"> |
| Added the dfp library providing arbitrary precision floating point computation in the spirit of |
| IEEE 854-1987 (not exactly as it uses base 1000 instead of base 10). In addition to finite numbers, |
| infinities and NaNs are available (but there are no subnormals). All IEEE 854-1987 rounding modes and |
| signaling flags are supported. The available operations are +, -, *, / and the available functions |
| are sqrt, sin, cos, tan, asin, acos, atan, exp, log. |
| </action> |
| <action dev="luc" type="add" issue="MATH-375" due-to="Bill Rossi"> |
| Added faster and more accurate version of traditional mathematical functions in a FastMath |
| class intended to be a drop-in replacement for java.util.Math at source-level. Some functions |
| still directly delegates to Math but this will improve with time. Some functions like exp |
| may be twice as fast (even 3 times faster on some processors). Sine, cosine or power functions |
| show typical speedups of 1.5 times faster or more. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-386"> |
| Added R-squared and adjusted R-squared statistics to OLSMultipleLinearRegression. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-392" due-to="Mark Devaney"> |
| Corrected the formula used for Y variance returned by calculateYVariance and associated |
| methods in multiple regression classes (AbstractMultipleLinearRegression, |
| OLSMultipleLinearRegression, GLSMultipleLinearRegression). These methods previously returned |
| estimates of the variance in the model error term. New "calulateErrorVariance" methods have |
| been added to compute what was previously returned by calculateYVariance. |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-406"> |
| Bug fixed in Levenberg-Marquardt (handling of weights). |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-405"> |
| Bug fixed in Levenberg-Marquardt (consistency of current). |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-377"> |
| Bug fixed in chi-square computation in AbstractLeastSquaresOptimizer. |
| </action> |
| <action dev="luc" type="add" issue="MATH-400" due-to="J. Lewis Muir"> |
| Added support for Gaussian curve fitting. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-395"> |
| Fixed several bugs in "BrentOptimizer". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-393"> |
| Fixed inconsistency in return values in "MultiStartUnivariateRealOptimizer". |
| </action> |
| <action dev="luc" type="add" issue="MATH-388"> |
| Added a feature allowing error estimation to be computed only on a subset of |
| Ordinary Differential Equations, considered as the main set, the remaining equations |
| being considered only as an extension set that should not influence the ODE integration |
| algorithm |
| </action> |
| <action dev="erans" type="fix" issue="MATH-382"> |
| Fixed bug in precondition check (method "setMicrosphereElements"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-379"> |
| Created "MultidimensionalCounter" class. |
| </action> |
| <action dev="erans" type="update" issue="MATH-361"> |
| Created package "exception" to contain the new exceptions hierarchy. |
| Created package "exception.util": utilities for the exception classes |
| (e.g. managing the localization of error messages). |
| Default policy for dealing with invalid null references: raise a |
| "NullArgumentException" (subclass of "IllegalArgumentException"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-378" due-to="Matthew Rowles"> |
| Implementation of linear interpolation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-361"> |
| Improved localization of error messages. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-376"> |
| Allow multiple optimizations with a default simplex. |
| </action> |
| <action dev="erans" type="add" issue="MATH-370"> |
| Added new "equalsIncludingNaN" methods that have the same semantics as the old "equals" methods. |
| The semantics of the old methods will be modified (in the next major release) such that |
| NaNs are not considered equal (to be more compliant with IEEE754). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-352" > |
| Added a setQRRankingThreshold method to Levenberg-Marquardt optimizer to improve robustness |
| of rank determination. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-310"> |
| Added random data generation methods to RandomDataImpl for the remaining distributions in the |
| distributions package. Added a generic nextInversionDeviate method that takes a discrete |
| or continuous distribution as argument and generates a random deviate from the distribution. |
| Also added sampling methods based on the implementations in RandomDataImpl to distributions. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-362" > |
| Fixed Levenberg-Marquardt optimizer that did not use the vectorial convergence checker. |
| Now this optimizer can use either the general vectorial convergence checker or its own |
| specialized convergence settings. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-371" due-to="Kevin Childs"> |
| Fixed loss of significance error in PersonsCorrelation p-value computation causing p-values |
| smaller than the machine epsilon (~1E-16) to be reported as 0. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-369" due-to="Sasun Pundev"> |
| Fix NullPointerException in BisectionSolver.solve(f, min, max, initial) |
| </action> |
| <action dev="billbarker" type="fix" issue="MATH-368"> |
| Fix spelling of getSparcity [sic] method of OpenMapRealVector |
| </action> |
| <action dev="billbarker" type="fix" issue="MATH-367" due-to="Albert Huang"> |
| Fix problem with the default sparseIterator when a RealVector has exactly one non-zero entry |
| </action> |
| <action dev="erans" type="add" issue="MATH-366"> |
| Implementation of tricubic interpolation. |
| </action> |
| <action dev="erans" type="update" issue="MATH-365"> |
| Deprecated SmoothingBicubicSplineInterpolator and SmoothingBicubicSplineInterpolatorTest. |
| Added BicubicSplineInterpolator and BicubicSplineInterpolatorTest. |
| Added SmoothingPolynomialBicubicSplineInterpolator and SmoothingPolynomialBicubicSplineInterpolatorTest. |
| Added method to clear the list of observations in PolynomialFitter. |
| </action> |
| </release> |
| <release version="2.1" date="2010-04-02" description=" |
| 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; |
| and the isOptimal(SimplexTableau) method has been removed from SimplexSolver. "> |
| <action dev="sebb" type="fix" issue="MATH-360"> |
| Fix use of wrong variable in SmoothingBicubicSplineInterpolatorTest.testPreconditions() |
| </action> |
| <action dev="erans" type="update" issue="MATH-356"> |
| Added method to clear the list of observations in CurveFitter. |
| </action> |
| <action dev="erans" type="add" issue="MATH-357"> |
| Implementation of bicubic interpolation. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-332" due-to="Mikkel Meyer Andersen"> |
| 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. |
| </action> |
| <action dev="sebb" type="update" issue="MATH-337"> |
| Changed equals() methods to use instanceof check rather than catching ClassCastException; |
| this also allows some null checks to be omitted. |
| </action> |
| <action dev="sebb" type="update" issue="MATH-336"> |
| Removed unnecessary null checks in equals methods. |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-335"> |
| Fraction.hashCode() implementation was not fully consistent with Fraction.equals(). |
| Changed hashCode() to use fields directly to agree with equals(). |
| </action> |
| <action dev="psteitz" type="fix" issue="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. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-347" > |
| Fixed too stringent interval check in Brent solver: initial guess is now |
| allowed to be at either interval end |
| </action> |
| <action dev="luc" type="add" > |
| 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. |
| </action> |
| <action dev="luc" type="fix" issue="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 |
| </action> |
| <action dev="luc" type="fix" > |
| 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 |
| </action> |
| <action dev="luc" type="fix" issue="MATH-344" > |
| Fixed wrong return values when enpoints are roots in Brent solver with |
| a user provided initial guess |
| </action> |
| <action dev="luc" type="fix" issue="MATH-343" > |
| Fixed a missing bracketing check of initial interval in Brent solver. |
| </action> |
| <action dev="dimpbx" type="fix" issue="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. |
| </action> |
| <action dev="dimpbx" type="fix" issue="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. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-323" due-to="Larry Diamond"> |
| Added SemiVariance statistic. |
| </action> |
| <action dev="luc" type="add" issue="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. |
| </action> |
| <action dev="luc" type="add" issue="MATH-340" > |
| Fixed an error in BigFraction multiplication for large numerators that don't |
| fit in a primitive int. |
| </action> |
| <action dev="luc" type="fix" > |
| Fixed a spurious exception in EigenDecompositionImpl when a 3x3 block |
| had two identical eigenvalues. |
| </action> |
| <action dev="luc" type="add" issue="MATH-334" > |
| Added min/max getters for real vectors (not yet in the RealVector interface for |
| compatibility purposes, but in the AbstractRealVector abstract class). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-338" due-to="Vincent Morand"> |
| Fixed automatic step initialization in embedded Runge-Kutta integrators. |
| The relative tolerance setting was never used, only the absolute tolerance |
| was used. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-329"> |
| Fixed regression in Frequency.getPct(Object) introduced in 2.0. Cumulative |
| percent was being returned for Object arguments in place of percent. |
| </action> |
| <action dev="luc" type="add" issue="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). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-320" > |
| Fixed Singular Value Decomposition solving of singular systems. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-239" due-to="Christian Semrau"> |
| Added MathUtils methods to compute gcd and lcm for long arguments. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-287" due-to="Matthew Rowles"> |
| Added support for weighted univariate statistics. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-326" due-to="Jake Mannix"> |
| Fixed a wrong implementation of the Linf norm in vectors. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-324" due-to="Vincent Morand"> |
| Fixed a convergence discrepancy with respect to theory in Gragg-Bulirsch-Stoer |
| integrator. |
| </action> |
| <action dev="luc" type="fix" due-to="Dimitri Pourbaix"> |
| Fixed a wrong dimension check in SVD solver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-313" due-to="Jake Mannix"> |
| Added composition features for real functions. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-312" due-to="Jake Mannix"> |
| Added mapping and iteration methods to vectors. Provided a default implementation |
| for the numerous simple methods in the RealVectorInterface. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-322" > |
| Fixed an error in handling very close events in ODE integration. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-305" due-to="Erik van Ingen"> |
| Fixed an overflow error in MathUtils.distance that was causing KMeansPlusPlusClusterer |
| to fail with a NullPointerException when component distances between points |
| exceeded Integer.MAXVALUE. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-315" due-to="Mikkel Meyer Andersen"> |
| Added generationsEvolved property to GeneticAlgorithm to track the number of generations |
| evolved by the evolve() method before reaching the StoppingCondition. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-318" due-to="Dimitri Pourbaix"> |
| Fixed an index computation error in eigen decomposition. Once again, kudos to Dimitri |
| for debugging this. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-308" due-to="Dimitri Pourbaix"> |
| Fixed an ArrayIndexOutOfBoundsException in eigen decomposition. Kudos to Dimitri |
| for debugging this, it was really difficult. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-309" due-to="Mikkel Meyer Andersen"> |
| Fixed parameter test in RandomDataImpl#nextExponential. The method now throws |
| IllegalArgumentException for mean = 0. |
| </action> |
| <action dev="brentworden" type="update" issue="MATH-311" due-to="Nipun Jawalkar"> |
| Changed probability calculations for Binomial, Poisson, and Hypergeometric |
| distributions to use Catherine Loader's saddle point approximations. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-306" due-to="Joerg Huber"> |
| Removed dead code from Complex#divide. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-294"> |
| Fixed implementation of RandomDataImpl#nextPoisson by implementing an alternative |
| algorithm for large means. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-300" due-to="Gilles Sadowski"> |
| Added support for multidimensional interpolation using the robust microsphere algorithm. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-298"> |
| Fixed implementation of EmpiricalDistributionImpl#getUpperBounds to match |
| interface contract. Added getGeneratorUpperBounds method to |
| EmpiricalDistributionImpl providing previous behavior. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-296" due-to="Eugene Kirpichov"> |
| Fixed wrong results on Loess interpolation, also added a way to set weights |
| for smoothing and to ignore zero weights for coefficients computation |
| </action> |
| <action dev="luc" type="fix" issue="MATH-293" due-to="Benjamin McCann"> |
| Fixed a OutOfBoundException in simplex solver when some constraints are tight. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-291" due-to="Sebb"> |
| Fixed misleading number formats in error messages for adaptive |
| stepsize integrators. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-287" due-to="Matthew Rowles"> |
| Added support for weighted descriptive statistics. |
| </action> |
| <action dev="psteitz" type="add"> |
| Added normalizeArray method to MathUtils. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-290" due-to="Benjamin McCann"> |
| Fixed a NullPointerException in simplex solver when no solution is possible |
| and some constraints are negative. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-289" > |
| Removed an unused argument in a private method in simplex solver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-288" due-to="Benjamin McCann"> |
| Fixed an error induced by entries set to 0 in simplex solver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-286" due-to="Benjamin McCann"> |
| Fixed an error leading the simplex solver to compute the right solution |
| but return another one. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-283" due-to="Michael Nischt"> |
| Prevent infinite loops in multi-directional direct optimization method when |
| the start point is exactly at the optimal point. |
| </action> |
| <action dev="billbarker" type="fix" issue="MATH-297" due-to="Axel Kramer"> |
| Prevent possible zero divides on eigenvectors of indefinite matrices |
| </action> |
| </release> |
| <release version="2.0" date="2009-08-03" description=" |
| This is a major release. It combines bug fixes, new features and |
| changes to existing features. Most notable among the new features are: |
| decomposition algorithms in the linear algebra package (LU, QR, Cholesky, |
| SVD, eigen decomposition) which are based on the popular JAMA API (but |
| much faster); support for sparse matrices and vectors; |
| support for any field-based matrix (Complex, Fraction ...); |
| support for genetic algorithms; |
| several new optimization algorithms (Dantzig's simplex for linear |
| constrained problems, conjugate gradient, Brent); |
| support for curve fitting with special cases for harmonic and polynomial |
| functions; |
| support for state derivative in ODE step handlers; |
| new multistep integrators (Adams-Bashforth and Adams-Moulton) with |
| variable stepsize; |
| regression algorithms; |
| rank transformations; |
| Mersenne twister pseudo random number generator. |
| This release is NOT source and binary compatible with earlier versions |
| of Commons Math. Starting with version 2.0 of the library, the minimal |
| version of the Java platform required to compile and use commons-math |
| is Java 5. Users are encouraged to upgrade to this version, as in addition |
| to new features, this release includes numerous bug fixes. Users of |
| Commons Math 1.0-1.2 should recompile their code against the 2.0 jar. |
| Most of the compilation errors users will encounter after the switch |
| will be due to classes moved due to package reorganization. These errors |
| are simply solved by adjusting the import statements in users code."> |
| <action dev="luc" type="fix" issue="MATH-281" due-to="Albert Huang"> |
| Fixed an error in RealMatrix javadoc |
| </action> |
| <action dev="luc" type="add" > |
| Added an implementation of the Mersenne twister pseudo random number generator |
| from Makoto Matsumoto and Takuji Nishimura |
| </action> |
| <action dev="luc" type="update" due-to="Gilles Sadowski"> |
| Changed the return type of the various interpolation algorithms to the |
| specific implementation of UnivariateRealFunction each one uses |
| </action> |
| <action dev="luc" type="fix" issue="MATH-280"> |
| The behavior of the bracket method in UnivariateRealSolverUtils has been changed to return successfully |
| when a tentative bracketing interval has a root exactly at one of its end points. Previously, such intervals |
| triggered an exception. |
| </action> |
| <action dev="luc" type="add" issue="MATH-279" due-to="Michael Bjorkegren"> |
| Added a check for too few rows with respect to the number of predictors in linear regression |
| </action> |
| <action dev="luc" type="add" due-to="Dimitri Pourbaix"> |
| Added a getCovariance method to singular value decomposition |
| </action> |
| <action dev="luc" type="add" issue="MATH-278" due-to="Eugene Kirpichov"> |
| Added robust locally weighted regression (Loess). |
| </action> |
| <action dev="luc" type="add" issue="MATH-277" due-to="Mark Anderson"> |
| Added a scalar multiply to the Complex class |
| </action> |
| <action dev="luc" type="add" > |
| Added curve fitting with a general case and two specific cases (polynomial and harmonic). |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-276" due-to="Mark Anderson"> |
| Optimized Complex isNaN(), isInfinite() by moving computation to constructor. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-207" due-to="David Stefka"> |
| Added Genetic Algorithm implementation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-274" > |
| Fixed detection of not positive definite matrices in Cholesky decomposition |
| </action> |
| <action dev="luc" type="fix" issue="MATH-273" due-to="Benjamin McCann"> |
| Fixed a wrong check for basic variables |
| </action> |
| <action dev="luc" type="fix" issue="MATH-272" due-to="Benjamin McCann"> |
| Fixed a problem when setting some variables (several variables were set |
| instead of only one) |
| </action> |
| <action dev="luc" type="add" due-to="Gilles Sadowski"> |
| Added a way to limit the number of functions evaluations in optimizers |
| (the number of iterations could already be limited) |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-267" due-to="Ted Dunning"> |
| Added digamma function. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-136" due-to="John Gant"> |
| Added Spearman's rank correlation (SpearmansCorrelation). |
| </action> |
| <action dev="psteitz" type="add"> |
| Added support for rank transformations. |
| </action> |
| <action dev="luc" type="update"> |
| Completed internationalization of all error messages |
| </action> |
| <action dev="luc" type="add" issue="MATH-266" due-to="Benjamin McCann"> |
| Added a clustering package with an implementation of the k-means++ algorithm |
| </action> |
| <action dev="luc" type="fix" issue="MATH-265" due-to="Benjamin McCann"> |
| Added distance1, distance and distanceInf utility methods for double and |
| int arrays in MathUtils |
| </action> |
| <action dev="luc" type="fix" issue="MATH-264" due-to="Gilles Sadowski"> |
| Added an utility equality method between double numbers using tolerance |
| in ulps (Units in Last Position) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-263"> |
| Added getNorm1, getNormInf, distance1 and distanceInf to the Vector3D class |
| </action> |
| <action dev="luc" type="add" > |
| Added support for any type of field in linear algebra (FielxMatrix, FieldVector, |
| FieldLUDecomposition) |
| </action> |
| <action dev="luc" type="add" > |
| The RealMatrixImpl implementation classes has been renamed Array2DRowRealMatrix |
| to reflect its specificities and for consistency with the new implementations. The |
| previous name is still available but is deprecated |
| </action> |
| <action dev="luc" type="add" > |
| Added a block-based storage type for dense matrices improving speed for large dimensions |
| </action> |
| <action dev="psteitz" type="add" due-to="John Bollinger"> |
| Added AggregateSummaryStatistics class to support aggregation of SummaryStatistics. |
| </action> |
| <action dev="luc" type="add" > |
| Added general Field and FieldElement interfaces to allow generic algorithms |
| to operate on fields. The library already provides several implementations: |
| Complex, Fraction, BigFraction and BigReal |
| </action> |
| <action dev="luc" type="fix" issue="MATH-257" due-to="Sebb"> |
| Fixed inconsistent access to multidimensional array in FastFourierTransformer |
| </action> |
| <action dev="luc" type="fix" issue="MATH-248" > |
| Greatly improved multiplication speed for sparse matrices |
| </action> |
| <action dev="luc" type="fix" issue="MATH-253" due-to="Sebb"> |
| Fixed threading issues with MathException and MathRuntimeException |
| </action> |
| <action dev="luc" type="fix" issue="MATH-254" due-to="Sebb"> |
| Fixed threading issues with UnivariateRealSolverUtils factory |
| </action> |
| <action dev="luc" type="fix" issue="MATH-255" due-to="Sebb"> |
| Reduced visibility of MessagesResources_fr.contents field to private |
| </action> |
| <action dev="luc" type="add" issue="MATH-256" > |
| Added Fraction.toString() |
| </action> |
| <action dev="luc" type="add"> |
| Added add/subtract/multiply/divide functions with integer parameters to Fraction |
| </action> |
| <action dev="luc" type="add"> |
| Added some utility functions to compute powers with integral types (int, long, BigInteger). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-252"> |
| Fixed a comparison error when two different fractions evaluate to the |
| same double due to limited precision. |
| </action> |
| <action dev="luc" type="add" issue="MATH-251" due-to="Benjamin Croizet"> |
| Added a BigFraction class that does not overflow when big numerators or |
| denominators are used. |
| </action> |
| <action dev="luc" type="add" issue="MATH-246" due-to="Benjamin McCann"> |
| Added an optimizer for constrained linear problems based on 2-phases standard simplex. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-177" > |
| Redesigned the optimization framework for a simpler yet more powerful API. |
| Added non-linear conjugate gradient optimizer. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-243" due-to="Christian Semrau"> |
| Fixed an error in computing gcd and lcm for some extreme values at integer |
| range boundaries. |
| </action> |
| <action dev="luc" type="add" issue="MATH-247" due-to="Benjamin McCann"> |
| Added a MathUtils method to check equality given some error bounds. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-114" due-to="John Gant"> |
| Added PearsonsCorrelation class to compute correlation matrices, standard |
| errors and p-values for correlation coefficients. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-114"> |
| Added Covariance class to compute variance-covariance matrices in new |
| correlation package. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-216" due-to="Cyril Briquet"> |
| Improved fast Fourier transform efficiency. |
| </action> |
| <action dev="billbarker" type="add"> |
| Added a SparseRealVector class that implements a sparse vector for the RealVector interface. |
| </action> |
| <action dev="luc" type="add" > |
| Added factory methods to create Chebyshev, Hermite, Laguerre and Legendre polynomials. |
| </action> |
| <action dev="luc" type="add" > |
| Added add, subtract, negate, multiply and toString methods to PolynomialFunction. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-189"> |
| Changed FractionFormat to extend NumberFormat. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-242" due-to="Christian Semrau"> |
| Forced symmetry in binomialCoefficientLog and added test cases for MathUtils. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-241" due-to="Christian Semrau"> |
| Fixed error in binomial coefficient computation. |
| </action> |
| <action dev="luc" type="add" > |
| Added a Legendre-Gauss integrator. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-240" due-to="Christian Semrau"> |
| Fixed error in factorial computation for 17 <= n <= 20. |
| </action> |
| <action dev="luc" type="update" > |
| Integration algorithms now can have both relative and absolute |
| accuracy settings. |
| </action> |
| <action dev="luc" type="add" issue="MATH-177" due-to="Gilles Sadowski"> |
| Added a new univariate sub-package below the optimization package. |
| </action> |
| <action dev="luc" type="update" > |
| The analysis package has been reorganized with several sub-packages. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-238" due-to="Christian Semrau"> |
| Fixed an error in gcd computation for large values. |
| </action> |
| <action dev="luc" type="add" > |
| Added method to walk matrix entries with or without changing them in the |
| visitor design pattern sense. Three different orders can be used, row by row, |
| column by column or optimized order according to internal storage. Optimized |
| order should be preferred when no specific order is needed, because it will be |
| more cache efficient. |
| </action> |
| <action dev="luc" type="add" issue="MATH-215" due-to="Bernhard Grünewaldt"> |
| Added Fast Hadamard Transform. |
| </action> |
| <action dev="luc" type="add" issue="MATH-236" due-to="Bernhard Grünewaldt"> |
| Added nth root computation for complex numbers. |
| </action> |
| <action dev="luc" type="add" issue="MATH-230" due-to="Sujit Pal and Ismael Juma"> |
| Added support for sparse matrix. |
| </action> |
| <action dev="luc" type="add" due-to="Ismael Juma"> |
| Added an int/double hash map (OpenIntToDoubleHashMap) with much smaller |
| memory overhead than standard java.util.Map (open addressing and no boxing). |
| </action> |
| <action dev="luc" type="add" issue="MATH-152" due-to="Remi Arntzen"> |
| Added support for multi-dimensional Fourier transform. |
| </action> |
| <action dev="luc" type="update" issue="MATH-218" > |
| The root solvers and the integrators now take the function to solve as a |
| parameter to the solve/integrate methods, thus allowing to reuse the same |
| solver/integrator for different functions. |
| </action> |
| <action dev="luc" type="add" issue="MATH-234" > |
| Added setter methods for rows and columns in matrices. |
| </action> |
| <action dev="luc" type="add" issue="MATH-232" > |
| Added Frobenius matrix norm. |
| </action> |
| <action dev="luc" type="add" issue="MATH-231" > |
| Added an abstract matrix implementation simplifying extension by users. |
| </action> |
| <action dev="luc" type="add" issue="MATH-178" due-to="Paul Cowan"> |
| Added support for the Zipf distribution. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-212" due-to="Jason C. HandUber"> |
| Added support for copying statistics. Changes to stats classes |
| include copy constructor, static copy(-,-) and instance copy() |
| methods. Added copy() to UnivariateStatistic and StorelessUnivariateStatistic |
| interfaces. |
| </action> |
| <action dev="luc" type="add" issue="MATH-229" due-to="Cyril Briquet"> |
| Added a removal feature for observations in descriptive statistics. |
| </action> |
| <action dev="luc" type="add" > |
| Added a scalb method in MathUtils. This method is similar to the method |
| with same name added in java.lang.Math as of Java 6. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-227" due-to="Joerg Henning"> |
| Fixed F distribution inverse CDF computation for small denominator degrees of freedom. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-226" due-to="Stuart Siegel"> |
| Fixed an error in CorrelatedRandomVectorGenerator leading to a component of |
| the generated vector being constant. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-223" due-to="John Mulcahy"> |
| Greatly improved QR-decomposition speed using transposed matrices internally. |
| </action> |
| <action dev="luc" type="fix" due-to="Pascal Parraud"> |
| Fixed an infinite loop encountered in some backward integration cases for ODE solvers. |
| </action> |
| <action dev="luc" type="add" issue="MATH-222" due-to="Ted Dunning"> |
| Added beta distribution. |
| </action> |
| <action dev="luc" type="add" issue="MATH-222" due-to="Ted Dunning"> |
| Added probability density functions computation for distributions for which |
| it is feasible. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-221" due-to="Dieter Roth"> |
| Changed the Complex.equals() method so that it considers +0 and -0 are equal, |
| as required by IEEE-754 standard. |
| </action> |
| <action dev="luc" type="add" issue="MATH-220"> |
| Added JAMA-like interfaces for eigen/singular problems. The implementation |
| are based on the very quick dqd/dqds algorithms and some parts of the MRRR |
| algorithm. This leads to very fast and accurate solutions. |
| </action> |
| <action dev="luc" type="add" issue="MATH-220" > |
| Added JAMA-like interfaces for decomposition algorithms. These interfaces |
| decompose a matrix as a product of several other matrices with predefined |
| properties and shapes depending on the algorithm. These algorithms allow to |
| solve the equation A * X = B, either for an exact linear solution |
| (LU-decomposition, Cholesky decomposition) or an exact or least-squares |
| solution (QR-decomposition). |
| </action> |
| <action dev="luc" type="add" issue="MATH-219" due-to="Andrew Berry"> |
| Added removeData methods for the SimpleRegression class. This allows |
| to support regression calculations across a sliding window of (time-based) |
| observations without having to recalculate for the entire window every time. |
| </action> |
| <action dev="luc" type="add" due-to="Andreas Rieger"> |
| Support for one dimensional vectors has been added to the linear algebra |
| package with a RealVector interface, a RealVectorImpl default implementation |
| using a single double array to store elements and a RealVectorFormat for |
| input/output. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-217"> |
| Changed OLS regression implementation added in MATH-203 to use |
| QR decomposition to solve the normal equations. |
| </action> |
| <action dev="luc" type="add"> |
| New ODE integrators have been added: the explicit Adams-Bashforth and implicit |
| Adams-Moulton multistep methods. As the implementations of these methods are based |
| on Nordsieck vector rather than a traditional array of previous steps, they both |
| have been improved to handle adaptive stepsize. These methods provide the same rich |
| features has the existing ones: continuous output, step handlers, discrete events, |
| G-stop ... |
| </action> |
| <action dev="luc" type="fix" issue="MATH-214" > |
| Replaced size adjustment of all steps of fixed steps Runge-Kutta integrators by |
| a truncation of the last step only. |
| </action> |
| <action dev="luc" type="update"> |
| The ODE integrators now support several step handlers at once, instead of just one. |
| This is more consistent with event handlers management. |
| The setStepHandler method has therefore been replaced by addStephandler, the |
| getStepHandler method has been replaced by getStepHandlers which returns a Collection |
| and a clearStepHandlers method has been added. |
| </action> |
| <action dev="luc" type="add"> |
| All ODE integrators now support setting a maximal number of evaluations of differential |
| equations function. If this number is exceeded, an exception will be thrown during |
| integration. This can be used to prevent infinite loops if for example error control or |
| discrete events create a really large number of extremely small steps. |
| </action> |
| <action dev="luc" type="add"> |
| All step interpolators for ODE integrators now provide interpolation for |
| both the state and its time derivatives. The interpolated derivatives are |
| the exact derivatives of the interpolated state, thus preserving consistency. |
| The general step handlers hence do not need to call the derivation function |
| anymore. The fixed step handlers also get the time derivative of the state |
| as an additional argument along with the state when they are called. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-213" > |
| Changed return type for FirstOrderIntegrator.integrate() to double |
| in order to retrieve exact stop time. This allows to handle properly |
| integration interruption due to an EventHandler instance asking to |
| stop the integration when its associated event is triggered. The state |
| was already set to the current state at interruption time, but it was |
| difficult to get the corresponding time (it involved setting a step |
| handler monitoring the last step specially). |
| </action> |
| <action dev="luc" type="update" > |
| Events handlers in the ODE package now also provide the switching function |
| variation (increasing/decreasing) when an event occurs |
| </action> |
| <action dev="luc" type="update"> |
| Clarified the ODE package by breaking in into several sub-packages and renaming |
| classes (SwitchingFunctions/EventHandler, SwitchingFunctionsHandler/CombinedEventsManager) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-210" > |
| Changed return type for FirstOrderIntegrator.getSwitchingFunctions() |
| to a collection of SwitchingFunction instances. This better suits the |
| intended use of the method and fixes a visibility error since the |
| previous return type referenced the package private SwitchState class. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-209" due-to="Thomas Chust"> |
| Fixed dimension error on output vector for the operate method |
| in RealMatrixImpl and BigMatrixImpl classes. |
| </action> |
| <action dev="luc" type="update"> |
| The FirstOrderDifferentialEquations, FirstOrderIntegrator and FixedStepHandler |
| interfaces now extends Serializable, allowing integrators, problems and |
| handlers to be embedded into users Serializable classes. |
| </action> |
| <action dev="luc" type="add"> |
| Added several convenience methods and constants for Vector3D and Rotation. |
| </action> |
| <action dev="luc" type="update"> |
| Replaced public no argument constructors with IDENTITY or ZERO |
| static instances for immutable classes Vector3D and Rotation. |
| </action> |
| <action dev="luc" type="fix"> |
| Fixed inconsistencies in the naming scheme for static fields in |
| Vector3D and Rotation with respect to the overall library. |
| </action> |
| <action dev="luc" type="update" > |
| Greatly improved RealMatrixImpl and BigMatrixImpl performances, |
| both in terms of speed and in terms of temporary memory footprint. |
| </action> |
| <action dev="luc" type="add" issue="MATH-203" due-to="Mauro Talevi"> |
| Added Mauro's patch to support multiple regression. |
| </action> |
| <action dev="luc" type="update" > |
| Starting with version 2.0 of the library, the minimal version of the Java |
| platform required to compile and use commons-math is Java 5. This version |
| is widely deployed now on many systems. It brings new important features |
| for specific mathematical developments, for example new functions (log10, |
| cbrt, ulp, signum, cosh, sinh, tanh, hypot, expm1, log1p), autoboxing, |
| MathContext or RoundingMode. It also brings important features for general |
| development, for example enums, generics or annotations. |
| </action> |
| <action dev="luc" type="add" > |
| Switching functions can now throw dedicated SwitchException from all their |
| method. At upper call level, the various ODE integrators handle these new |
| exceptions and wrap them into IntegratorException instances, hence the |
| integrators methods signature did not change. |
| </action> |
| <action dev="luc" type="add" issue="MATH-202"> |
| Added the getSwitchingFunctions and clearSwitchingFunctions to the |
| FirstOrderIntegrator interface and all its implementations |
| </action> |
| <action dev="luc" type="update" > |
| Removed deprecated features. This includes the following changes. Factory-based |
| instantiation replaced by setter injection in 1.2 in several classes have been |
| removed. Protected fields in matrices implementations have been declared final |
| and private. Identity factory methods moved to MatrixUtils class have been |
| removed. Complex utilities methods that have been superseded by Complex instance |
| methods have been removed. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-205" due-to="Roman Werpachowski"> |
| Fixed formula in fast cosine transformer javadoc comments. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-193" due-to="Michael Heuer and Sebb"> |
| Javadoc and style fixes. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-198" due-to="Frederick Salardi"> |
| Added an error detection for missing imaginary character while parsing complex string |
| </action> |
| <action dev="luc" type="fix" issue="MATH-199" due-to="Mick"> |
| Detect numerical problems in Q.R decomposition for Levenberg-Marquardt estimator |
| and report them appropriately |
| </action> |
| <action dev="luc" type="fix" issue="MATH-200" due-to="Plamen Petrov"> |
| Fixed several crashes in getCovariances() and guessParametersErrors() in |
| AbstractEstimator when some parameters are bound. The methods now explicitly |
| give result only about unbound parameters. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-201" due-to="Peter Wyngaard"> |
| Fixed truncation error in t-test classes for large t values. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-204" due-to="Mick"> |
| Added root checks for the endpoints. |
| </action> |
| </release> |
| <release version="1.2" date="2008-02-24" |
| description="This release combines bug fixes and new features. Most notable |
| among the new features are the estimation, optimization, geometry and ode |
| packages added from the Mantissa library. Implementations of fast Fourier |
| transform, QR decomposition and several numerical integration algorithms |
| have also been added, along with enhancements and extensions to packages |
| included in Commons Math 1.1. This release is source and binary compatible |
| with earlier versions of Commons Math."> |
| <action dev="luc" type="fix"> |
| Fixed numerous warnings in test code. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-156" due-to="Tyler Ward"> |
| Use the initial guess provided by the user in BrentSolver.solve(), thus |
| improving speed. |
| </action> |
| <action dev="luc" type="add"> |
| Added the estimation, optimization, geometry and ode packages from the |
| Mantissa library. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-18" due-to="Phil Steitz"> |
| Made ComplexFormat format double values with a provided NumberFormat |
| instance instead of using the real part format for all values. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-120" due-to="Todd C. Parnell"> |
| Added Pascal distribution implementation. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-148" due-to="Joni Salonen"> |
| Added QR Decomposition. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-60" due-to="Nhung Nnguyen"> |
| Modified ProperFractionFormat to reject embedded minus signs. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-151" due-to="Luc Maisonobe"> |
| Added a nextAfter method in MathUtils to return the next |
| machine-representable number in a specified direction from a given |
| floating point number. Used this to ensure that MathUtils.round does |
| not return incorrect results for numbers with bad IEEE754 |
| representations. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-140" due-to="Xiaogang Zhang"> |
| Added Fast Fourier Transform implementation. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-85" due-to="Mark Osborn, Luc Maisonobe"> |
| Modified getSumSquaredErrors method in SimpleRegression to always |
| return a non-negative result. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-153" due-to="Remi Arntzen"> |
| Corrected nextInt and nextLong to handle wide value ranges. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-166" due-to="Lukas Theussl"> |
| Increased default precision of Gamma and Beta functions. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-158" due-to="Hasan Diwan"> |
| Added log function to MathUtils. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-160" due-to="Matthias Hummel"> |
| Added two sample (binned comparison) ChiSquare test. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-167"> |
| Modified NormalDistributionImpl.cumulativeProbablity to catch |
| MaxIterationsExceededException and return 0 or 1, resp. if the argument |
| is more than 20 standard deviations from the mean. |
| </action> |
| <action dev="brentworden" type="update" issue="MATH-170" due-to="David J. M. Karlsen"> |
| Added SynchronizedDescriptiveStatistics class. |
| </action> |
| <action dev="brentworden" type="update" issue="MATH-154" due-to="Remi Arntzen"> |
| Added addAndCheck, mulAndCheck, and subAndCheck MathUtils methods for |
| long integer arguments. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-171" due-to="Niall Pemberton"> |
| Merged most functions from ComplexUtils into Complex class, added |
| static factory method to Complex. |
| </action> |
| <action dev="psteitz" type="update"> |
| Deprecated abstract factory methods and made DescriptiveStatistics and |
| and SummaryStatistics concrete classes. Pushed implementations up |
| from DescriptiveStatisticsImpl, SummaryStatisticsImpl. Made |
| implementations of statistics configurable via setters. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-174"> |
| Changed Mean.evaluate() to use a two-pass algorithm, improving accuracy |
| by exploiting the the fact that this method has access to the full |
| array of data values. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-175" due-to="Carl Anderson"> |
| Added check and rescaling of expected counts to sum to sum of expected |
| counts if necessary in ChiSquare test. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-164"> |
| Handle multiplication of Complex numbers with infinite parts specially. |
| </action> |
| <action dev="luc" type="update" issue="MATH-176" due-to="Kazuhiro Koshino"> |
| Add errors guessing to least-squares estimators. |
| </action> |
| <action dev="luc" type="update" issue="MATH-179" due-to="Niall Pemberton"> |
| Add tests for Fraction constructor using double parameter. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-173" due-to="Bob MacCallum"> |
| Added one-way ANOVA implementation. |
| </action> |
| <action dev="luc" type="update" issue="MATH-181" due-to="Niall Pemberton"> |
| Add Fraction constructor using max denominator value. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-182"> |
| Add integer overflow checks in Fraction constructor using double parameter. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-185"> |
| Throw EOFException when using empty files with ValueServer in replay and |
| digest modes. |
| </action> |
| <action dev="luc" type="update" > |
| Added a equals and hash methods in MathUtils to check for double arrays |
| </action> |
| <action dev="luc" type="add" > |
| Added an angle normalization method in MathUtils to force angles in some |
| user-defined interval |
| </action> |
| <action dev="luc" type="add" > |
| Added vectorial covariance computation (either sample or population |
| covariance) |
| </action> |
| <action dev="luc" type="add" > |
| Added multivariate summary statistics. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-191"> |
| Added getSumOfLogs method to SummaryStatistics and made SumOfLogs |
| instance used by GeometricMean configurable. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-184" due-to="Yegor Bryukhov"> |
| Fixed AbstractIntegerDistribution cumulativeProbablility(-,-) |
| to correctly handle double arguments. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-188" due-to="Sebastian Bazley"> |
| Made numerator and denominator final in Fraction and |
| deprecated protected real and imaginary parts fields in Complex, |
| making Fraction immutable and preparing Complex to become fully |
| immutable in 2.0. |
| </action> |
| </release> |
| <release version="1.1" date="2005-12-17" |
| description="This is a maintenance release containing bug fixes and enhancements. |
| All API changes are binary compatible with version 1.0. The enhancements |
| include some new probability distributions, a Fraction class, new matrix |
| and numerical utilities, and a PRNG pluggability framework making it |
| possible to replace the JDK-supplied random number generator in |
| commons-math (and elsewhere) with alternative PRNG implementations."> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Made NewtonSolver derivative field transient and implemented readObject to |
| initialize. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Made sampleStats field private and changed getUpperBounds to return a fresh |
| copy in EmpiricalDistributionImpl. |
| </action> |
| <action dev="psteitz" type="update"> |
| Added polar2Complex method to ComplexUtils to create Complex numbers |
| from polar representations. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-49" due-to="Elliotte Harold"> |
| Made all serialVersionUIDs private. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-5"> |
| Improved documentation and test cases related to handling of infinite |
| and NaN values in Complex, ComplexUtils classes. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-57" due-to="Mauro Talevi"> |
| Fixed incorrect NaN handling in o.a.m.s.d.rank.Min, Max |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Changed RealMatrixImpl.equals to use Double.doubleToLongBits to compare |
| corresponding matrix entries. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Eliminated floating point equals comparison in Percentile.evaluate. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Eliminated unnecessary assignment statements in Skewness.getResult |
| method. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Synchronized getters in ResizeableDoubleArray. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Eliminated unnecessary assignment statement in BisectionSolver.solve |
| method. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Implemented hashCode in the Complex class and changed the semantics of |
| equals to make all instances with real or imaginary part NaN equal. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-12" due-to="Keith McDonald"> |
| Fixed bin index overflow problem in EmpiricalDistributionImpl. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-108" due-to="Xiaogang Zhang"> |
| Added protection against numerical overflow and underflow in the |
| isBracketing method. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-47" due-to="Nikhil Gupte"> |
| Fixed division by zero error in rounding methods. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-100" due-to="Mike Hu"> |
| Added upper tail cumulative probability method to HypergeometricDistributionImpl. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-22" due-to="Xiaogang Zhang"> |
| Added better handling of numerical overflow and division by zero in |
| Complex calculations. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-92" due-to="Mikael Weigelt"> |
| Changed ContinuedFraction to better handle infinite convergents that |
| resulted in divergent continued fraction evaluations. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-32" due-to="Srinivas Vemury"> |
| Changed rounding methods to not rely on BigDecimal conversions which |
| was causing numerical error. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-3" due-to="Jörg Weimar"> |
| Changed Fraction(double) to correctly handle near-integral arguments. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-143" due-to="Jörg Weimar"> |
| Changed lcm to throw ArithmeticException (instead of returning bogus |
| value) if the result is too large to store as an integer. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-70" due-to="Mary Ellen Foster"> |
| Added factories for TTest, ChiSquareTest and TestUtils class with |
| static methods to create instances and execute tests. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-95" due-to="Paul Field"> |
| Eliminated repeated endpoint function evalutations in BrentSolver, SecantSolver. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-137" due-to="Rodrigo di Lorenzo Lopes"> |
| Added setSubMatrix methods to RealMatrixImpl, BigMatrixImpl. To |
| Preserve backward compatibility with version 1.0, these methods were |
| not added to the RealMatrix, BigMatrix interfaces. |
| </action> |
| <action dev="psteitz" type="update"> |
| Added createXIdentityMatrix methods to MatrixUtils and deprecated |
| getIdentity methods in RealMatrixImpl, BigMatrixImpl. |
| Modified RealMatrixImpl, BigMatrixImpl constructors to throw |
| IllegalArgumentExceptions instead of ArrayIndexOutOfBounds when |
| dimension arguments are not positive. |
| </action> |
| <action dev="psteitz" type="update"> |
| Made PRNG pluggable for classes in the random package. Added |
| RandomGenerator interface extracted from java.util.random and abstract |
| implementation, AbstractRandomGenerator providing default |
| implementations of methods based on nextDouble(). Added a constructor |
| taking a RandomGenerator as an argument to RandomDataImpl. Changed |
| ValueServer to use a RandomData in its constructor. Changes to |
| 1.0 classes should be backward compatible (including serialization). |
| </action> |
| <action dev="psteitz" type="update" due-to="C. Scott Ananian"> |
| Added utility methods for overflow-checked integer arithmetic and |
| improved gcd method in MathUtils. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-79" due-to="Gilles Gaillard"> |
| Fixed error in TTestImpl.homoscedasticTtest. Implementation was |
| incorrectly using heteroscedastic t statistic. Also improved |
| sensitivity of test cases. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-44" due-to="Gilles Gaillard"> |
| Fixed javadoc errors. One-sided t-test significance adjustment was |
| reversed in javadoc for boolean-valued test methods. |
| </action> |
| <action dev="brentworden" type="fix" due-to="Ben Litchfield"> |
| Fixed bug in PolynomialSplineFunction to allow evaluation of the |
| function at the last knot point. |
| </action> |
| <action dev="brentworden" type="add"> |
| Added Weibull distribution implementation. |
| </action> |
| <action dev="brentworden" type="add"> |
| Added Cauchy distribution implementation. |
| </action> |
| <action dev="brentworden" type="add"> |
| Added convenience methods for rounding. |
| </action> |
| <action dev="brentworden" type="add" due-to="C. Scott Ananian"> |
| Added Fraction class based on commons-lang implementation. With the |
| fraction class, FractionFormat and ProperFractionFormat classes were |
| added to provide fraction formatting and parsing. |
| </action> |
| </release> |
| <release version="1.0" date="2004-12-06" |
| description="Apache Commons Math 1.0 - Initial Release"> |
| </release> |
| </body> |
| </document> |