Updated release notes, download page.
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@926861 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
29573eb1f8
commit
43ffbb90bd
|
@ -1,448 +1,120 @@
|
||||||
|
|
||||||
|
|
||||||
Apache Commons Math Version 2.0
|
commons-math-2.1 RELEASE NOTES
|
||||||
RELEASE NOTES
|
|
||||||
|
|
||||||
|
This is a maintenance release including numerous bug fixes and enhancements.
|
||||||
|
|
||||||
This is a major release. It combines bug fixes, new features and
|
Changes in this version include:
|
||||||
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.
|
|
||||||
Users can ask for help with migration or any other problem related
|
|
||||||
to commons math by sending a message to the apache commons users
|
|
||||||
mailing list: user@commons.apache.org.
|
|
||||||
|
|
||||||
|
|
||||||
SUMMARY OF CHANGES
|
|
||||||
|
|
||||||
New features:
|
New features:
|
||||||
|
o Added a way to compute both the final state in an Initial Value Problem (IVP)
|
||||||
o Added curve fitting with a general case and two specific cases
|
for Ordinary Differential Equations (ODE) and its derivatives with respect to
|
||||||
(polynomial and harmonic).
|
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
|
||||||
o Added a way to limit the number of functions evaluations in
|
used to solve Boundary Value Problems (BVP). There are no implementations (yet)
|
||||||
optimizers (the number of iterations could already be limited)
|
of BVP solvers in the library.
|
||||||
Thanks to Gilles Sadowski.
|
o MATH-323: Added SemiVariance statistic. Thanks to Larry Diamond.
|
||||||
|
o MATH-341: Added a warning in the getCoefficients method documentation for
|
||||||
o Added support for rank transformations.
|
PolynomialFunctionLagrangeForm. Computation may be ill-conditioned
|
||||||
|
so this method should be used with care.
|
||||||
o Added an implementation of the Mersenne twister pseudo random number
|
o MATH-340: Fixed an error in BigFraction multiplication for large numerators that don't
|
||||||
generator from Makoto Matsumoto and Takuji Nishimura
|
fit in a primitive int.
|
||||||
|
o MATH-334: Added min/max getters for real vectors (not yet in the RealVector interface for
|
||||||
o Added support for any type of field in linear algebra (FielxMatrix,
|
compatibility purposes, but in the AbstractRealVector abstract class).
|
||||||
FieldVector, FieldLUDecomposition)
|
o MATH-321: Singular Value Decomposition now computes either the compact SVD (using only
|
||||||
|
positive singular values) or truncated SVD (using a user-specified maximal
|
||||||
o The RealMatrixImpl implementation classes has been renamed
|
number of singular values).
|
||||||
Array2DRowRealMatrix to reflect its specificities and for
|
o MATH-300: Added support for multidimensional interpolation using the robust microsphere algorithm. Thanks to Gilles Sadowski.
|
||||||
consistency with the new implementations. The previous name is still
|
o MATH-287: Added support for weighted descriptive statistics. Thanks to Matthew Rowles.
|
||||||
available but is deprecated
|
o Added normalizeArray method to MathUtils.
|
||||||
|
|
||||||
o Added a block-based storage type for dense matrices improving speed
|
|
||||||
for large dimensions
|
|
||||||
|
|
||||||
o Added AggregateSummaryStatistics class to support aggregation of
|
|
||||||
SummaryStatistics. Thanks to John Bollinger.
|
|
||||||
|
|
||||||
o 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
|
|
||||||
|
|
||||||
o Added a SparseRealVector class that implements a sparse vector for
|
|
||||||
the RealVector interface.
|
|
||||||
|
|
||||||
o Added a getCovariance method to singular value decomposition Thanks
|
|
||||||
to Dimitri Pourbaix.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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 ...
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o Added factory methods to create Chebyshev, Hermite, Laguerre and
|
|
||||||
Legendre polynomials.
|
|
||||||
|
|
||||||
o Added add, subtract, negate, multiply and toString methods to
|
|
||||||
PolynomialFunction.
|
|
||||||
|
|
||||||
o Added a Legendre-Gauss integrator.
|
|
||||||
|
|
||||||
o Added add/subtract/multiply/divide functions with integer parameters
|
|
||||||
to Fraction
|
|
||||||
|
|
||||||
o Added some utility functions to compute powers with integral types
|
|
||||||
(int, long, BigInteger).
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o Added several convenience methods and constants for Vector3D and
|
|
||||||
Rotation.
|
|
||||||
|
|
||||||
o MATH-114: Added PearsonsCorrelation class to compute correlation
|
|
||||||
matrices, standard errors and p-values for correlation
|
|
||||||
coefficients. Thanks to John Gant.
|
|
||||||
|
|
||||||
o MATH-114: Added Covariance class to compute variance-covariance
|
|
||||||
matrices in new correlation package.
|
|
||||||
|
|
||||||
o MATH-136: Added Spearman's rank correlation
|
|
||||||
(SpearmansCorrelation). Thanks to John Gant.
|
|
||||||
|
|
||||||
o MATH-152: Added support for multi-dimensional Fourier
|
|
||||||
transform. Thanks to Remi Arntzen.
|
|
||||||
|
|
||||||
o MATH-177: Added a new univariate sub-package below the optimization
|
|
||||||
package. Thanks to Gilles Sadowski.
|
|
||||||
|
|
||||||
o MATH-178: Added support for the Zipf distribution. Thanks to Paul
|
|
||||||
Cowan.
|
|
||||||
|
|
||||||
o MATH-202: Added the getSwitchingFunctions and
|
|
||||||
clearSwitchingFunctions to the FirstOrderIntegrator interface and
|
|
||||||
all its implementations
|
|
||||||
|
|
||||||
o MATH-203: Added Mauro's patch to support multiple regression. Thanks
|
|
||||||
to Mauro Talevi.
|
|
||||||
|
|
||||||
o MATH-212: 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. Thanks to Jason
|
|
||||||
C. HandUber.
|
|
||||||
|
|
||||||
o MATH-215: Added Fast Hadamard Transform. Thanks to Bernhard
|
|
||||||
Grünewaldt.
|
|
||||||
|
|
||||||
o MATH-219: 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. Thanks to Andrew
|
|
||||||
Berry.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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).
|
|
||||||
|
|
||||||
o MATH-222: Added beta distribution. Thanks to Ted Dunning.
|
|
||||||
|
|
||||||
o MATH-222: Added probability density functions computation for
|
|
||||||
distributions for which it is feasible. Thanks to Ted Dunning.
|
|
||||||
|
|
||||||
o MATH-229: Added a removal feature for observations in descriptive
|
|
||||||
statistics. Thanks to Cyril Briquet.
|
|
||||||
|
|
||||||
o MATH-230: Added support for sparse matrix. Thanks to Sujit Pal and
|
|
||||||
Ismael Juma.
|
|
||||||
|
|
||||||
o MATH-231: Added an abstract matrix implementation simplifying
|
|
||||||
extension by users.
|
|
||||||
|
|
||||||
o MATH-232: Added Frobenius matrix norm.
|
|
||||||
|
|
||||||
o MATH-234: Added setter methods for rows and columns in matrices.
|
|
||||||
|
|
||||||
o MATH-236: Added nth root computation for complex numbers. Thanks to
|
|
||||||
Bernhard Grünewaldt.
|
|
||||||
|
|
||||||
o MATH-246: Added an optimizer for constrained linear problems based
|
|
||||||
on 2-phases standard simplex. Thanks to Benjamin McCann.
|
|
||||||
|
|
||||||
o MATH-247: Added a MathUtils method to check equality given some
|
|
||||||
error bounds. Thanks to Benjamin McCann.
|
|
||||||
|
|
||||||
o MATH-251: Added a BigFraction class that does not overflow when big
|
|
||||||
numerators or denominators are used. Thanks to Benjamin Croizet.
|
|
||||||
|
|
||||||
o MATH-256: Added Fraction.toString()
|
|
||||||
|
|
||||||
o MATH-266: Added a clustering package with an implementation of the
|
|
||||||
k-means++ algorithm Thanks to Benjamin McCann.
|
|
||||||
|
|
||||||
o MATH-267: Added digamma function. Thanks to Ted Dunning.
|
|
||||||
|
|
||||||
o MATH-277: Added a scalar multiply to the Complex class Thanks to
|
|
||||||
Mark Anderson.
|
|
||||||
|
|
||||||
o MATH-278: Added robust locally weighted regression (Loess). Thanks
|
|
||||||
to Eugene Kirpichov.
|
|
||||||
|
|
||||||
o MATH-279: Added a check for too few rows with respect to the number
|
|
||||||
of predictors in linear regression Thanks to Michael Bjorkegren.
|
|
||||||
|
|
||||||
Fixed Bugs:
|
Fixed Bugs:
|
||||||
|
o MATH-335: Fraction.hashCode() implementation was not fully consistent with Fraction.equals().
|
||||||
o Fixed an infinite loop encountered in some backward integration
|
Changed hashCode() to use fields directly to agree with equals().
|
||||||
cases for ODE solvers. Thanks to Pascal Parraud.
|
o 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
|
||||||
o Fixed inconsistencies in the naming scheme for static fields in
|
absolute accuracy configurable for all continuous distributions.
|
||||||
Vector3D and Rotation with respect to the overall library.
|
o MATH-347: Fixed too stringent interval check in Brent solver: initial guess is now
|
||||||
|
allowed to be at either interval end
|
||||||
o MATH-177: Redesigned the optimization framework for a simpler yet
|
o Fixed a problem with getInterpolatedDerivatives returning zero derivatives when
|
||||||
more powerful API. Added non-linear conjugate gradient optimizer.
|
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
|
||||||
o MATH-193: Javadoc and style fixes. Thanks to Michael Heuer and Sebb.
|
o MATH-344: Fixed wrong return values when enpoints are roots in Brent solver with
|
||||||
|
a user provided initial guess
|
||||||
o MATH-198: Added an error detection for missing imaginary character
|
o MATH-343: Fixed a missing bracketing check of initial interval in Brent solver.
|
||||||
while parsing complex string Thanks to Frederick Salardi.
|
o MATH-342: In SVD, the matrices passed to EigenDecomposition are now symmetric
|
||||||
|
by construction (rather than simply by definition). In EigenDecomposition,
|
||||||
o MATH-199: Detect numerical problems in Q.R decomposition for
|
once the tridiagonal form is obtained, the non-significant elements are
|
||||||
Levenberg-Marquardt estimator and report them appropriately Thanks
|
set to 0.
|
||||||
to Mick.
|
o MATH-333: A EigenDecompositionImpl simplified makes it possible to compute
|
||||||
|
the SVD of a singular matrix (with the right number of elements in
|
||||||
o MATH-200: Fixed several crashes in getCovariances() and
|
the diagonal matrix) or a matrix with singular value(s) of multiplicity
|
||||||
guessParametersErrors() in AbstractEstimator when some parameters
|
greater than 1.
|
||||||
are bound. The methods now explicitly give result only about unbound
|
o Fixed a spurious exception in EigenDecompositionImpl when a 3x3 block
|
||||||
parameters. Thanks to Plamen Petrov.
|
had two identical eigenvalues.
|
||||||
|
o MATH-338: Fixed automatic step initialization in embedded Runge-Kutta integrators.
|
||||||
o MATH-201: Fixed truncation error in t-test classes for large t
|
The relative tolerance setting was never used, only the absolute tolerance
|
||||||
values. Thanks to Peter Wyngaard.
|
was used. Thanks to Vincent Morand.
|
||||||
|
o MATH-329: Fixed regression in Frequency.getPct(Object) introduced in 2.0. Cumulative
|
||||||
o MATH-204: Added root checks for the endpoints. Thanks to Mick.
|
percent was being returned for Object arguments in place of percent.
|
||||||
|
o MATH-320: Fixed Singular Value Decomposition solving of singular systems.
|
||||||
o MATH-205: Fixed formula in fast cosine transformer javadoc
|
o MATH-326: Fixed a wrong implementation of the Linf norm in vectors. Thanks to Jake Mannix.
|
||||||
comments. Thanks to Roman Werpachowski.
|
o MATH-324: Fixed a convergence discrepancy with respect to theory in Gragg-Bulirsch-Stoer
|
||||||
|
integrator. Thanks to Vincent Morand.
|
||||||
o MATH-207: Added Genetic Algorithm implementation. Thanks to David
|
o Fixed a wrong dimension check in SVD solver. Thanks to Dimitri Pourbaix.
|
||||||
Stefka.
|
o MATH-313: Added composition features for real functions. Thanks to Jake Mannix.
|
||||||
|
o MATH-312: Added mapping and iteration methods to vectors. Provided a default implementation
|
||||||
o MATH-209: Fixed dimension error on output vector for the operate
|
for the numerous simple methods in the RealVectorInterface. Thanks to Jake Mannix.
|
||||||
method in RealMatrixImpl and BigMatrixImpl classes. Thanks to Thomas
|
o MATH-322: Fixed an error in handling very close events in ODE integration.
|
||||||
Chust.
|
o MATH-305: Fixed an overflow error in MathUtils.distance that was causing KMeansPlusPlusClusterer
|
||||||
|
to fail with a NullPointerException when component distances between points
|
||||||
o MATH-210: Changed return type for
|
exceeded Integer.MAXVALUE. Thanks to Erik van Ingen.
|
||||||
FirstOrderIntegrator.getSwitchingFunctions() to a collection of
|
o MATH-318: Fixed an index computation error in eigen decomposition. Once again, kudos to Dimitri
|
||||||
SwitchingFunction instances. This better suits the intended use of
|
for debugging this. Thanks to Dimitri Pourbaix.
|
||||||
the method and fixes a visibility error since the previous return
|
o MATH-308: Fixed an ArrayIndexOutOfBoundsException in eigen decomposition. Kudos to Dimitri
|
||||||
type referenced the package private SwitchState class.
|
for debugging this, it was really difficult. Thanks to Dimitri Pourbaix.
|
||||||
|
o MATH-309: Fixed parameter test in RandomDataImpl#nextExponential. The method now throws
|
||||||
o MATH-213: Changed return type for FirstOrderIntegrator.integrate()
|
IllegalArgumentException for mean = 0. Thanks to Mikkel Meyer Andersen.
|
||||||
to double in order to retrieve exact stop time. This allows to
|
o MATH-306: Removed dead code from Complex#divide. Thanks to Joerg Huber.
|
||||||
handle properly integration interruption due to an EventHandler
|
o MATH-294: Fixed implementation of RandomDataImpl#nextPoisson by implementing an alternative
|
||||||
instance asking to stop the integration when its associated event is
|
algorithm for large means.
|
||||||
triggered. The state was already set to the current state at
|
o MATH-298: Fixed implementation of EmpiricalDistributionImpl#getUpperBounds to match
|
||||||
interruption time, but it was difficult to get the corresponding
|
interface contract. Added getGeneratorUpperBounds method to
|
||||||
time (it involved setting a step handler monitoring the last step
|
EmpiricalDistributionImpl providing previous behavior.
|
||||||
specially).
|
o MATH-296: Fixed wrong results on Loess interpolation, also added a way to set weights
|
||||||
|
for smoothing and to ignore zero weights for coefficients computation Thanks to Eugene Kirpichov.
|
||||||
o MATH-214: Replaced size adjustment of all steps of fixed steps
|
o MATH-293: Fixed a OutOfBoundException in simplex solver when some constraints are tight. Thanks to Benjamin McCann.
|
||||||
Runge-Kutta integrators by a truncation of the last step only.
|
o MATH-291: Fixed misleading number formats in error messages for adaptive
|
||||||
|
stepsize integrators. Thanks to Sebb.
|
||||||
o MATH-216: Improved fast Fourier transform efficiency. Thanks to
|
o MATH-290: Fixed a NullPointerException in simplex solver when no solution is possible
|
||||||
Cyril Briquet.
|
and some constraints are negative. Thanks to Benjamin McCann.
|
||||||
|
o MATH-289: Removed an unused argument in a private method in simplex solver.
|
||||||
o MATH-221: Changed the Complex.equals() method so that it considers
|
o MATH-288: Fixed an error induced by entries set to 0 in simplex solver. Thanks to Benjamin McCann.
|
||||||
+0 and -0 are equal, as required by IEEE-754 standard. Thanks to
|
o MATH-286: Fixed an error leading the simplex solver to compute the right solution
|
||||||
Dieter Roth.
|
but return another one. Thanks to Benjamin McCann.
|
||||||
|
o MATH-283: Prevent infinite loops in multi-directional direct optimization method when
|
||||||
o MATH-223: Greatly improved QR-decomposition speed using transposed
|
the start point is exactly at the optimal point. Thanks to Michael Nischt.
|
||||||
matrices internally. Thanks to John Mulcahy.
|
o MATH-297: Prevent possible zero divides on eigenvectors of indefinite matrices Thanks to Axel Kramer.
|
||||||
|
|
||||||
o MATH-226: Fixed an error in CorrelatedRandomVectorGenerator leading
|
|
||||||
to a component of the generated vector being constant. Thanks to
|
|
||||||
Stuart Siegel.
|
|
||||||
|
|
||||||
o MATH-227: Fixed F distribution inverse CDF computation for small
|
|
||||||
denominator degrees of freedom. Thanks to Joerg Henning.
|
|
||||||
|
|
||||||
o MATH-238: Fixed an error in gcd computation for large values. Thanks
|
|
||||||
to Christian Semrau.
|
|
||||||
|
|
||||||
o MATH-240: Fixed error in factorial computation for 17 <= n <= 20.
|
|
||||||
Thanks to Christian Semrau.
|
|
||||||
|
|
||||||
o MATH-241: Fixed error in binomial coefficient computation. Thanks to
|
|
||||||
Christian Semrau.
|
|
||||||
|
|
||||||
o MATH-243: Fixed an error in computing gcd and lcm for some extreme
|
|
||||||
values at integer range boundaries. Thanks to Christian Semrau.
|
|
||||||
|
|
||||||
o MATH-248: Greatly improved multiplication speed for sparse matrices
|
|
||||||
|
|
||||||
o MATH-252: Fixed a comparison error when two different fractions
|
|
||||||
evaluate to the same double due to limited precision.
|
|
||||||
|
|
||||||
o MATH-253: Fixed threading issues with MathException and
|
|
||||||
MathRuntimeException Thanks to Sebb.
|
|
||||||
|
|
||||||
o MATH-254: Fixed threading issues with UnivariateRealSolverUtils
|
|
||||||
factory Thanks to Sebb.
|
|
||||||
|
|
||||||
o MATH-255: Reduced visibility of MessagesResources_fr.contents field
|
|
||||||
to private Thanks to Sebb.
|
|
||||||
|
|
||||||
o MATH-257: Fixed inconsistent access to multidimensional array in
|
|
||||||
FastFourierTransformer Thanks to Sebb.
|
|
||||||
|
|
||||||
o MATH-263: Added getNorm1, getNormInf, distance1 and distanceInf to
|
|
||||||
the Vector3D class
|
|
||||||
|
|
||||||
o MATH-264: Added an utility equality method between double numbers
|
|
||||||
using tolerance in ulps (Units in Last Position) Thanks to Gilles
|
|
||||||
Sadowski.
|
|
||||||
|
|
||||||
o MATH-265: Added distance1, distance and distanceInf utility methods
|
|
||||||
for double and int arrays in MathUtils Thanks to Benjamin McCann.
|
|
||||||
|
|
||||||
o MATH-272: Fixed a problem when setting some variables (several
|
|
||||||
variables were set instead of only one) Thanks to Benjamin McCann.
|
|
||||||
|
|
||||||
o MATH-273: Fixed a wrong check for basic variables Thanks to Benjamin
|
|
||||||
McCann.
|
|
||||||
|
|
||||||
o MATH-274: Fixed detection of not positive definite matrices in
|
|
||||||
Cholesky decomposition
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o MATH-281: Fixed an error in RealMatrix javadoc
|
|
||||||
|
|
||||||
Changes:
|
Changes:
|
||||||
|
o MATH-332: 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. Thanks to Mikkel Meyer Andersen.
|
||||||
|
o MATH-337: Changed equals() methods to use instanceof check rather than catching ClassCastException;
|
||||||
|
this also allows some null checks to be omitted.
|
||||||
|
o MATH-336: Removed unnecessary null checks in equals methods.
|
||||||
|
o MATH-239: Added MathUtils methods to compute gcd and lcm for long arguments. Thanks to Christian Semrau.
|
||||||
|
o MATH-287: Added support for weighted univariate statistics. Thanks to Matthew Rowles.
|
||||||
|
o MATH-315: Added generationsEvolved property to GeneticAlgorithm to track the number of generations
|
||||||
|
evolved by the evolve() method before reaching the StoppingCondition. Thanks to Mikkel Meyer Andersen.
|
||||||
|
o MATH-311: Changed probability calculations for Binomial, Poisson, and Hypergeometric
|
||||||
|
distributions to use Catherine Loader's saddle point approximations. Thanks to Nipun Jawalkar.
|
||||||
|
|
||||||
o Changed the return type of the various interpolation algorithms to
|
|
||||||
the specific implementation of UnivariateRealFunction each one uses
|
For complete information on commons-math, including instructions on how to submit bug reports,
|
||||||
Thanks to Gilles Sadowski.
|
patches, or suggestions for improvement, see the commons-math website:
|
||||||
|
|
||||||
o Completed internationalization of all error messages
|
|
||||||
|
|
||||||
o Integration algorithms now can have both relative and absolute
|
|
||||||
accuracy settings.
|
|
||||||
|
|
||||||
o The analysis package has been reorganized with several sub-packages.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o Events handlers in the ODE package now also provide the switching
|
|
||||||
function variation (increasing/decreasing) when an event occurs
|
|
||||||
|
|
||||||
o Clarified the ODE package by breaking in into several sub-packages
|
|
||||||
and renaming classes (SwitchingFunctions/EventHandler,
|
|
||||||
SwitchingFunctionsHandler/CombinedEventsManager)
|
|
||||||
|
|
||||||
o The FirstOrderDifferentialEquations, FirstOrderIntegrator and
|
|
||||||
FixedStepHandler interfaces now extends Serializable, allowing
|
|
||||||
integrators, problems and handlers to be embedded into users
|
|
||||||
Serializable classes.
|
|
||||||
|
|
||||||
o Replaced public no argument constructors with IDENTITY or ZERO
|
|
||||||
static instances for immutable classes Vector3D and Rotation.
|
|
||||||
|
|
||||||
o Greatly improved RealMatrixImpl and BigMatrixImpl performances, both
|
|
||||||
in terms of speed and in terms of temporary memory footprint.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o MATH-189: Changed FractionFormat to extend NumberFormat.
|
|
||||||
|
|
||||||
o MATH-217: Changed OLS regression implementation added in MATH-203 to
|
|
||||||
use QR decomposition to solve the normal equations.
|
|
||||||
|
|
||||||
o 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.
|
|
||||||
|
|
||||||
o MATH-242: Forced symmetry in binomialCoefficientLog and added test
|
|
||||||
cases for MathUtils. Thanks to Christian Semrau.
|
|
||||||
|
|
||||||
o MATH-276: Optimized Complex isNaN(), isInfinite() by moving
|
|
||||||
computation to constructor. Thanks to Mark Anderson.
|
|
||||||
|
|
||||||
|
|
||||||
For complete information on commons-math, including instructions on
|
|
||||||
how to submit bug reports, patches, or suggestions for improvement,
|
|
||||||
see the commons-math website:
|
|
||||||
|
|
||||||
http://commons.apache.org/math/
|
http://commons.apache.org/math/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -95,32 +95,32 @@ limitations under the License.
|
||||||
</p>
|
</p>
|
||||||
</subsection>
|
</subsection>
|
||||||
</section>
|
</section>
|
||||||
<section name="Commons Math 2.0 ">
|
<section name="Commons Math 2.1 ">
|
||||||
<subsection name="Binaries">
|
<subsection name="Binaries">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="[preferred]/commons/math/binaries/commons-math-2.0.tar.gz">commons-math-2.0.tar.gz</a></td>
|
<td><a href="[preferred]/commons/math/binaries/commons-math-2.1.tar.gz">commons-math-2.1.tar.gz</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.0.tar.gz.md5">md5</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.1.tar.gz.md5">md5</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.0.tar.gz.asc">pgp</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.1.tar.gz.asc">pgp</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="[preferred]/commons/math/binaries/commons-math-2.0.zip">commons-math-2.0.zip</a></td>
|
<td><a href="[preferred]/commons/math/binaries/commons-math-2.1.zip">commons-math-2.1.zip</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.0.zip.md5">md5</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.1.zip.md5">md5</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.0.zip.asc">pgp</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/binaries/commons-math-2.1.zip.asc">pgp</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</subsection>
|
</subsection>
|
||||||
<subsection name="Source">
|
<subsection name="Source">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="[preferred]/commons/math/source/commons-math-2.0-src.tar.gz">commons-math-2.0-src.tar.gz</a></td>
|
<td><a href="[preferred]/commons/math/source/commons-math-2.1-src.tar.gz">commons-math-2.1-src.tar.gz</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.0-src.tar.gz.md5">md5</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.1-src.tar.gz.md5">md5</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.0-src.tar.gz.asc">pgp</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.1-src.tar.gz.asc">pgp</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="[preferred]/commons/math/source/commons-math-2.0-src.zip">commons-math-2.0-src.zip</a></td>
|
<td><a href="[preferred]/commons/math/source/commons-math-2.1-src.zip">commons-math-2.1-src.zip</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.0-src.zip.md5">md5</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.1-src.zip.md5">md5</a></td>
|
||||||
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.0-src.zip.asc">pgp</a></td>
|
<td><a href="http://www.apache.org/dist/commons/math/source/commons-math-2.1-src.zip.asc">pgp</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</subsection>
|
</subsection>
|
||||||
|
|
Loading…
Reference in New Issue