|
Commons Math example source code file (changes.xml)
The Commons Math changes.xml source code<?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 </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.1" date="TBD" 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> Other Commons Math examples (source code examples)Here is a short list of links related to this Commons Math changes.xml source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.