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