Commons Math Release Notes

Release History

Version Date Description
2.1 TBD TBD
2.0 2009-08-03 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.
1.2 2008-02-24 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.
1.1 2005-12-17 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.
1.0 2004-12-06 Apache Commons Math 1.0 - Initial Release

Release 2.1 - TBD

Type Changes By
fix Prevent infinite loops in multi-directional direct optimization method when the start point is exactly at the optimal point Fixes MATH-283. Thanks to Michael Nischt. luc

Release 2.0 - 2009-08-03

Type Changes By
fix Fixed an error in RealMatrix javadoc Fixes MATH-281. Thanks to Albert Huang. luc
add Added an implementation of the Mersenne twister pseudo random number generator from Makoto Matsumoto and Takuji Nishimura luc
update Changed the return type of the various interpolation algorithms to the specific implementation of UnivariateRealFunction each one uses Thanks to Gilles Sadowski. luc
fix 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. Fixes MATH-280. luc
add Added a check for too few rows with respect to the number of predictors in linear regression Fixes MATH-279. Thanks to Michael Bjorkegren. luc
add Added a getCovariance method to singular value decomposition Thanks to Dimitri Pourbaix. luc
add Added robust locally weighted regression (Loess). Fixes MATH-278. Thanks to Eugene Kirpichov. luc
add Added a scalar multiply to the Complex class Fixes MATH-277. Thanks to Mark Anderson. luc
add Added curve fitting with a general case and two specific cases (polynomial and harmonic). luc
update Optimized Complex isNaN(), isInfinite() by moving computation to constructor. Fixes MATH-276. Thanks to Mark Anderson. psteitz
fix Added Genetic Algorithm implementation. Fixes MATH-207. Thanks to David Stefka. psteitz
fix Fixed detection of not positive definite matrices in Cholesky decomposition Fixes MATH-274. luc
fix Fixed a wrong check for basic variables Fixes MATH-273. Thanks to Benjamin McCann. luc
fix Fixed a problem when setting some variables (several variables were set instead of only one) Fixes MATH-272. Thanks to Benjamin McCann. luc
add Added a way to limit the number of functions evaluations in optimizers (the number of iterations could already be limited) Thanks to Gilles Sadowski. luc
add Added digamma function. Fixes MATH-267. Thanks to Ted Dunning. psteitz
add Added Spearman's rank correlation (SpearmansCorrelation). Fixes MATH-136. Thanks to John Gant. psteitz
add Added support for rank transformations. psteitz
update Completed internationalization of all error messages luc
add Added a clustering package with an implementation of the k-means++ algorithm Fixes MATH-266. Thanks to Benjamin McCann. luc
fix Added distance1, distance and distanceInf utility methods for double and int arrays in MathUtils Fixes MATH-265. Thanks to Benjamin McCann. luc
fix Added an utility equality method between double numbers using tolerance in ulps (Units in Last Position) Fixes MATH-264. Thanks to Gilles Sadowski. luc
fix Added getNorm1, getNormInf, distance1 and distanceInf to the Vector3D class Fixes MATH-263. luc
add Added support for any type of field in linear algebra (FielxMatrix, FieldVector, FieldLUDecomposition) luc
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 luc
add Added a block-based storage type for dense matrices improving speed for large dimensions luc
add Added AggregateSummaryStatistics class to support aggregation of SummaryStatistics. Thanks to John Bollinger. psteitz
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 luc
fix Fixed inconsistent access to multidimensional array in FastFourierTransformer Fixes MATH-257. Thanks to Sebb. luc
fix Greatly improved multiplication speed for sparse matrices Fixes MATH-248. luc
fix Fixed threading issues with MathException and MathRuntimeException Fixes MATH-253. Thanks to Sebb. luc
fix Fixed threading issues with UnivariateRealSolverUtils factory Fixes MATH-254. Thanks to Sebb. luc
fix Reduced visibility of MessagesResources_fr.contents field to private Fixes MATH-255. Thanks to Sebb. luc
add Added Fraction.toString() Fixes MATH-256. luc
add Added add/subtract/multiply/divide functions with integer parameters to Fraction luc
add Added some utility functions to compute powers with integral types (int, long, BigInteger). luc
fix Fixed a comparison error when two different fractions evaluate to the same double due to limited precision. Fixes MATH-252. luc
add Added a BigFraction class that does not overflow when big numerators or denominators are used. Fixes MATH-251. Thanks to Benjamin Croizet. luc
add Added an optimizer for constrained linear problems based on 2-phases standard simplex. Fixes MATH-246. Thanks to Benjamin McCann. luc
fix Redesigned the optimization framework for a simpler yet more powerful API. Added non-linear conjugate gradient optimizer. Fixes MATH-177. luc
fix Fixed an error in computing gcd and lcm for some extreme values at integer range boundaries. Fixes MATH-243. Thanks to Christian Semrau. luc
add Added a MathUtils method to check equality given some error bounds. Fixes MATH-247. Thanks to Benjamin McCann. luc
add Added PearsonsCorrelation class to compute correlation matrices, standard errors and p-values for correlation coefficients. Fixes MATH-114. Thanks to John Gant. psteitz
add Added Covariance class to compute variance-covariance matrices in new correlation package. Fixes MATH-114. psteitz
fix Improved fast Fourier transform efficiency. Fixes MATH-216. Thanks to Cyril Briquet. luc
add Added a SparseRealVector class that implements a sparse vector for the RealVector interface. billbarker
add Added factory methods to create Chebyshev, Hermite, Laguerre and Legendre polynomials. luc
add Added add, subtract, negate, multiply and toString methods to PolynomialFunction. luc
update Changed FractionFormat to extend NumberFormat. Fixes MATH-189. psteitz
update Forced symmetry in binomialCoefficientLog and added test cases for MathUtils. Fixes MATH-242. Thanks to Christian Semrau. psteitz
fix Fixed error in binomial coefficient computation. Fixes MATH-241. Thanks to Christian Semrau. psteitz
add Added a Legendre-Gauss integrator. luc
fix Fixed error in factorial computation for 17 <= n <= 20. Fixes MATH-240. Thanks to Christian Semrau. psteitz
update Integration algorithms now can have both relative and absolute accuracy settings. luc
add Added a new univariate sub-package below the optimization package. Fixes MATH-177. Thanks to Gilles Sadowski. luc
update The analysis package has been reorganized with several sub-packages. luc
fix Fixed an error in gcd computation for large values. Fixes MATH-238. Thanks to Christian Semrau. luc
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. luc
add Added Fast Hadamard Transform. Fixes MATH-215. Thanks to Bernhard Grünewaldt. luc
add Added nth root computation for complex numbers. Fixes MATH-236. Thanks to Bernhard Grünewaldt. luc
add Added support for sparse matrix. Fixes MATH-230. Thanks to Sujit Pal and Ismael Juma. luc
add Added an int/double hash map (OpenIntToDoubleHashMap) with much smaller memory overhead than standard java.util.Map (open addressing and no boxing). Thanks to Ismael Juma. luc
add Added support for multi-dimensional Fourier transform. Fixes MATH-152. Thanks to Remi Arntzen. luc
update 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. Fixes MATH-218. luc
add Added setter methods for rows and columns in matrices. Fixes MATH-234. luc
add Added Frobenius matrix norm. Fixes MATH-232. luc
add Added an abstract matrix implementation simplifying extension by users. Fixes MATH-231. luc
add Added support for the Zipf distribution. Fixes MATH-178. Thanks to Paul Cowan. luc
add 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. Fixes MATH-212. Thanks to Jason C. HandUber. psteitz
add Added a removal feature for observations in descriptive statistics. Fixes MATH-229. Thanks to Cyril Briquet. luc
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. luc
fix Fixed F distribution inverse CDF computation for small denominator degrees of freedom. Fixes MATH-227. Thanks to Joerg Henning. brentworden
fix Fixed an error in CorrelatedRandomVectorGenerator leading to a component of the generated vector being constant. Fixes MATH-226. Thanks to Stuart Siegel. luc
fix Greatly improved QR-decomposition speed using transposed matrices internally. Fixes MATH-223. Thanks to John Mulcahy. luc
fix Fixed an infinite loop encountered in some backward integration cases for ODE solvers. Thanks to Pascal Parraud. luc
add Added beta distribution. Fixes MATH-222. Thanks to Ted Dunning. luc
add Added probability density functions computation for distributions for which it is feasible. Fixes MATH-222. Thanks to Ted Dunning. luc
fix Changed the Complex.equals() method so that it considers +0 and -0 are equal, as required by IEEE-754 standard. Fixes MATH-221. Thanks to Dieter Roth. luc
add 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. Fixes MATH-220. luc
add 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). Fixes MATH-220. luc
add 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. Fixes MATH-219. Thanks to Andrew Berry. luc
add 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. Thanks to Andreas Rieger. luc
update Changed OLS regression implementation added in MATH-203 to use QR decomposition to solve the normal equations. Fixes MATH-217. psteitz
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 ... luc
fix Replaced size adjustment of all steps of fixed steps Runge-Kutta integrators by a truncation of the last step only. Fixes MATH-214. luc
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. luc
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. luc
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. luc
fix 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). Fixes MATH-213. luc
update Events handlers in the ODE package now also provide the switching function variation (increasing/decreasing) when an event occurs luc
update Clarified the ODE package by breaking in into several sub-packages and renaming classes (SwitchingFunctions/EventHandler, SwitchingFunctionsHandler/CombinedEventsManager) luc
fix 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. Fixes MATH-210. luc
fix Fixed dimension error on output vector for the operate method in RealMatrixImpl and BigMatrixImpl classes. Fixes MATH-209. Thanks to Thomas Chust. luc
update The FirstOrderDifferentialEquations, FirstOrderIntegrator and FixedStepHandler interfaces now extends Serializable, allowing integrators, problems and handlers to be embedded into users Serializable classes. luc
add Added several convenience methods and constants for Vector3D and Rotation. luc
update Replaced public no argument constructors with IDENTITY or ZERO static instances for immutable classes Vector3D and Rotation. luc
fix Fixed inconsistencies in the naming scheme for static fields in Vector3D and Rotation with respect to the overall library. luc
update Greatly improved RealMatrixImpl and BigMatrixImpl performances, both in terms of speed and in terms of temporary memory footprint. luc
add Added Mauro's patch to support multiple regression. Fixes MATH-203. Thanks to Mauro Talevi. luc
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. luc
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. luc
add Added the getSwitchingFunctions and clearSwitchingFunctions to the FirstOrderIntegrator interface and all its implementations Fixes MATH-202. luc
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. luc
fix Fixed formula in fast cosine transformer javadoc comments. Fixes MATH-205. Thanks to Roman Werpachowski. luc
fix Javadoc and style fixes. Fixes MATH-193. Thanks to Michael Heuer and Sebb. brentworden
fix Added an error detection for missing imaginary character while parsing complex string Fixes MATH-198. Thanks to Frederick Salardi. luc
fix Detect numerical problems in Q.R decomposition for Levenberg-Marquardt estimator and report them appropriately Fixes MATH-199. Thanks to Mick. luc
fix Fixed several crashes in getCovariances() and guessParametersErrors() in AbstractEstimator when some parameters are bound. The methods now explicitly give result only about unbound parameters. Fixes MATH-200. Thanks to Plamen Petrov. luc
fix Fixed truncation error in t-test classes for large t values. Fixes MATH-201. Thanks to Peter Wyngaard. brentworden
fix Added root checks for the endpoints. Fixes MATH-204. Thanks to Mick. brentworden

Release 1.2 - 2008-02-24

Type Changes By
fix Fixed numerous warnings in test code. luc
fix Use the initial guess provided by the user in BrentSolver.solve(), thus improving speed. Fixes MATH-156. Thanks to Tyler Ward. luc
add Added the estimation, optimization, geometry and ode packages from the Mantissa library. luc
fix Made ComplexFormat format double values with a provided NumberFormat instance instead of using the real part format for all values. Fixes MATH-18. Thanks to Phil Steitz. brentworden
add Added Pascal distribution implementation. Fixes MATH-120. Thanks to Todd C. Parnell. psteitz
add Added QR Decomposition. Fixes MATH-148. Thanks to Joni Salonen. psteitz
fix Modified ProperFractionFormat to reject embedded minus signs. Fixes MATH-60. Thanks to Nhung Nnguyen. psteitz
fix 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. Fixes MATH-151. Thanks to Luc Maisonobe. psteitz
add Added Fast Fourier Transform implementation. Fixes MATH-140. Thanks to Xiaogang Zhang. psteitz
fix Modified getSumSquaredErrors method in SimpleRegression to always return a non-negative result. Fixes MATH-85. Thanks to Mark Osborn, Luc Maisonobe. psteitz
fix Corrected nextInt and nextLong to handle wide value ranges. Fixes MATH-153. Thanks to Remi Arntzen. brentworden
fix Increased default precision of Gamma and Beta functions. Fixes MATH-166. Thanks to Lukas Theussl. psteitz
update Added log function to MathUtils. Fixes MATH-158. Thanks to Hasan Diwan. psteitz
update Added two sample (binned comparison) ChiSquare test. Fixes MATH-160. Thanks to Matthias Hummel. psteitz
fix Modified NormalDistributionImpl.cumulativeProbablity to catch MaxIterationsExceededException and return 0 or 1, resp. if the argument is more than 20 standard deviations from the mean. Fixes MATH-167. psteitz
update Added SynchronizedDescriptiveStatistics class. Fixes MATH-170. Thanks to David J. M. Karlsen. brentworden
update Added addAndCheck, mulAndCheck, and subAndCheck MathUtils methods for long integer arguments. Fixes MATH-154. Thanks to Remi Arntzen. brentworden
update Merged most functions from ComplexUtils into Complex class, added static factory method to Complex. Fixes MATH-171. Thanks to Niall Pemberton. psteitz
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. psteitz
fix 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. Fixes MATH-174. psteitz
fix Added check and rescaling of expected counts to sum to sum of expected counts if necessary in ChiSquare test. Fixes MATH-175. Thanks to Carl Anderson. psteitz
fix Handle multiplication of Complex numbers with infinite parts specially. Fixes MATH-164. luc
update Add errors guessing to least-squares estimators. Fixes MATH-176. Thanks to Kazuhiro Koshino. luc
update Add tests for Fraction constructor using double parameter. Fixes MATH-179. Thanks to Niall Pemberton. luc
add Added one-way ANOVA implementation. Fixes MATH-173. Thanks to Bob MacCallum. psteitz
update Add Fraction constructor using max denominator value. Fixes MATH-181. Thanks to Niall Pemberton. luc
fix Add integer overflow checks in Fraction constructor using double parameter. Fixes MATH-182. luc
fix Throw EOFException when using empty files with ValueServer in replay and digest modes. Fixes MATH-185. luc
update Added a equals and hash methods in MathUtils to check for double arrays luc
add Added an angle normalization method in MathUtils to force angles in some user-defined interval luc
add Added vectorial covariance computation (either sample or population covariance) luc
add Added multivariate summary statistics. luc
update Added getSumOfLogs method to SummaryStatistics and made SumOfLogs instance used by GeometricMean configurable. Fixes MATH-191. psteitz
fix Fixed AbstractIntegerDistribution cumulativeProbablility(-,-) to correctly handle double arguments. Fixes MATH-184. Thanks to Yegor Bryukhov. psteitz
update 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. Fixes MATH-188. Thanks to Sebastian Bazley. psteitz

Release 1.1 - 2005-12-17

Type Changes By
fix Made NewtonSolver derivative field transient and implemented readObject to initialize. Fixes MATH-74. psteitz
fix Made sampleStats field private and changed getUpperBounds to return a fresh copy in EmpiricalDistributionImpl. Fixes MATH-74. psteitz
update Added polar2Complex method to ComplexUtils to create Complex numbers from polar representations. psteitz
fix Made all serialVersionUIDs private. Fixes MATH-49. Thanks to Elliotte Harold. psteitz
fix Improved documentation and test cases related to handling of infinite and NaN values in Complex, ComplexUtils classes. Fixes MATH-5. psteitz
fix Fixed incorrect NaN handling in o.a.m.s.d.rank.Min, Max Fixes MATH-57. Thanks to Mauro Talevi. psteitz
fix Changed RealMatrixImpl.equals to use Double.doubleToLongBits to compare corresponding matrix entries. Fixes MATH-74. psteitz
fix Eliminated floating point equals comparison in Percentile.evaluate. Fixes MATH-74. psteitz
fix Eliminated unnecessary assignment statements in Skewness.getResult method. Fixes MATH-74. psteitz
fix Synchronized getters in ResizeableDoubleArray. Fixes MATH-74. psteitz
fix Eliminated unnecessary assignment statement in BisectionSolver.solve method. Fixes MATH-74. psteitz
fix Implemented hashCode in the Complex class and changed the semantics of equals to make all instances with real or imaginary part NaN equal. Fixes MATH-74. psteitz
fix Fixed bin index overflow problem in EmpiricalDistributionImpl. Fixes MATH-12. Thanks to Keith McDonald. psteitz
fix Added protection against numerical overflow and underflow in the isBracketing method. Fixes MATH-108. Thanks to Xiaogang Zhang. brentworden
fix Fixed division by zero error in rounding methods. Fixes MATH-47. Thanks to Nikhil Gupte. brentworden
fix Added upper tail cumulative probability method to HypergeometricDistributionImpl. Fixes MATH-100. Thanks to Mike Hu. brentworden
fix Added better handling of numerical overflow and division by zero in Complex calculations. Fixes MATH-22. Thanks to Xiaogang Zhang. brentworden
fix Changed ContinuedFraction to better handle infinite convergents that resulted in divergent continued fraction evaluations. Fixes MATH-92. Thanks to Mikael Weigelt. brentworden
fix Changed rounding methods to not rely on BigDecimal conversions which was causing numerical error. Fixes MATH-32. Thanks to Srinivas Vemury. brentworden
fix Changed Fraction(double) to correctly handle near-integral arguments. Fixes MATH-3. Thanks to Jörg Weimar. psteitz
fix Changed lcm to throw ArithmeticException (instead of returning bogus value) if the result is too large to store as an integer. Fixes MATH-143. Thanks to Jörg Weimar. psteitz
fix Added factories for TTest, ChiSquareTest and TestUtils class with static methods to create instances and execute tests. Fixes MATH-70. Thanks to Mary Ellen Foster. psteitz
update Eliminated repeated endpoint function evalutations in BrentSolver, SecantSolver. Fixes MATH-95. Thanks to Paul Field. psteitz
update Added setSubMatrix methods to RealMatrixImpl, BigMatrixImpl. To Preserve backward compatibility with version 1.0, these methods were not added to the RealMatrix, BigMatrix interfaces. Fixes MATH-137. Thanks to Rodrigo di Lorenzo Lopes. psteitz
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. psteitz
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). psteitz
update Added utility methods for overflow-checked integer arithmetic and improved gcd method in MathUtils. Thanks to C. Scott Ananian. psteitz
fix Fixed error in TTestImpl.homoscedasticTtest. Implementation was incorrectly using heteroscedastic t statistic. Also improved sensitivity of test cases. Fixes MATH-79. Thanks to Gilles Gaillard. psteitz
fix Fixed javadoc errors. One-sided t-test significance adjustment was reversed in javadoc for boolean-valued test methods. Fixes MATH-44. Thanks to Gilles Gaillard. psteitz
fix Fixed bug in PolynomialSplineFunction to allow evaluation of the function at the last knot point. Thanks to Ben Litchfield. brentworden
add Added Weibull distribution implementation. brentworden
add Added Cauchy distribution implementation. brentworden
add Added convenience methods for rounding. brentworden
add Added Fraction class based on commons-lang implementation. With the fraction class, FractionFormat and ProperFractionFormat classes were added to provide fraction formatting and parsing. Thanks to C. Scott Ananian. brentworden

Release 1.0 - 2004-12-06

Type Changes By