| <?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. |
| |
| To generate the file RELEASE-NOTES.txt from this file: |
| |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version] |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| |
| <!-- NOTE: |
| The description attribute entries below are specially formatted |
| so as to improve the layout of the generated text release notes. |
| |
| The parsing process removes all line feeds, replacing them with a single space. |
| The Velocity template in src/changes/release-notes.vm 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! |
| --> |
| |
| <document xmlns="http://maven.apache.org/changes/1.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> |
| <properties> |
| <title>Apache Commons Math Release Notes</title> |
| </properties> |
| <body> |
| <release version="TBD" date="TBD" description="TBD"> |
| </release> |
| |
| <release version="4.0" date="XXXX-XX-XX" description=" |
| This is a major release that requires source changes in applications. |
| |
| Lower-level functionality has been split off to new components, often |
| with bug-fixes, performance enhancements and improved API: |
| Commons RNG, |
| Commons Numbers, |
| Commons Geometry, |
| Commons Statistics. |
| |
| Functionality still within Commons Math has been modularized and |
| partly refactored. |
| This is a work-in-progress (help welcome). |
| Codes for which the refactoring has not been undertaken (or was |
| deemed incomplete) have been moved to 'legacy' modules. |
| |
| The minimum version of the Java platform required to compile and use |
| Commons Math is Java 8. |
| |
| Users are encouraged to upgrade to this version, and to the new |
| components listed above (they are now Commons Math's dependencies). |
| |
| For codes that are now located in the 'commons-math-legacy' module, |
| upgrading will be a matter of changing the top-level package name: |
| From 'org.apache.commons.math3' to 'org.apache.commons.math4.legacy'. |
| Codes that are now located in the 'commons-math-legacy-core' module |
| comprise classes that moved from packages 'org.apache.commons.math3' |
| and 'org.apache.commons.math3.util' (e.g. 'MathArrays') over to |
| package 'org.apache.commons.math4.legacy.core'. |
| |
| Notes: |
| Class 'FastMath' has been renamed 'AccurateMath' (now located in |
| package 'org.apache.commons.math4.legacy.core.jdkmath'). |
| |
| Caveat: |
| Although hundreds of issues have been fixed (see 'git log' and the |
| reports in the bug-tracking system of all the listed components), |
| many remain, due to the lack of human resources necessary in order |
| to support the whole codebase. [The Commons Math maintenance |
| nightmare was one of the main reasons for creating more focused |
| components.] |
| "> |
| <action dev="erans" type="update" issue="MATH-1630"> |
| Introduce "JdkMath" class for redirecting calls to either JDK or CM |
| implementations of the functions defined in "java.lang.Math". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1462"> |
| "EmpiricalDistribution": Use constant kernel for bins that contain up to 3 values. |
| </action> |
| <action dev="aherbert" due-to="Arturo Bernal" type="update"> |
| Simplify assertions with simpler equivalent. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1622"> |
| Update class "SimplexOptimizer" (in package "o.a.c.m.legacy.optim.nonlinear.scalar.noderiv") |
| to support simulated annealing. |
| </action> |
| <action dev="aherbert" due-to="Arturo Bernal" type="update" issue="MATH-1573"> |
| Remove redundant local variables. |
| </action> |
| <action dev="aherbert" due-to="Arturo Bernal" type="update" issue="MATH-1572"> |
| Simplify conditional expressions. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1616"> |
| Refactor "EmpiricalDistribution" class (in package "o.a.c.m.legacy.distribution"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1379" due-to="Richard Wilkinson"> |
| Fix "LoessInterpolator" (in package "o.a.c.m.legacy.analysis.interpolation"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1617" due-to="Ng Tsz Sum"> |
| Class "BigReal": Fix equality check. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1595"> |
| Clean up "o.a.c.math4.legacy.random" package. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1615"> |
| Remove class "StableRandomGenerator" (in package "o.a.c.m.legacy.random"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1614"> |
| Refactor "SimplexOptimizer" (in package "o.a.c.m.legacy.optim.nonlinear.scalar.noderiv"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1613"> |
| Decrease maximum number of iterations in "SimpsonIntegrator" and |
| "TrapezoidIntegrator" (due to the available range of the internal |
| counter of function evaluations). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1431" due-to="Artem Onuchin"> |
| "EmpiricalDistribution" handles empty bin. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1582"> |
| Transforms codes moved into a dedicated maven module. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1578"> |
| ANN codes moved into a dedicated maven module. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1575"> |
| Modularization set-up: All codes were moved into a "legacy" maven module. |
| WIP: Functionalities should gradually be moved into dedicated modules. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1565" due-to="Randy Strauss"> |
| Add context to "OutOfRangeException". |
| </action> |
| <action dev="erans" type="update" issue="MATH-1562" due-to="Frank Ulbricht"> |
| Add "Automatic-Module-Name" entry to JAR manifest file. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1558" due-to="Sam Ritchie"> |
| "MidPointIntegrator": Fix iterative procedure in order to actually benefit |
| from evaluations performed at earlier stages. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1555" due-to="Laurent Galluccio"> |
| "Atan2": Documentation issue. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1551" due-to="Allen Yu"> |
| "Percentile": Partial support for weighted data. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1554"> |
| Remove package "o.a.c.math4.geometry". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1549" due-to="Mohammad Rezaei"> |
| "SimplexTableau": Internally "scale down" the problem definition when the |
| constraints are defined with large numbers, in order to avoid spurious |
| exceptions caused by floating-point accuracy errors. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1548"> |
| Avoid inefficiencies in computing the standard quality measures of a SOFM. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1547"> |
| More flexible ranking of SOFM. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1537" due-to="Jin Xu"> |
| Clean-up (typos and unused "import" statements). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1531"> |
| "EmpiricalDistribution": Workaround to avoid spurious exception. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1530" due-to="Yassine Damerdji"> |
| "SplineInterpolator": Improved performance. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1529"> |
| "AkimaSplineInterpolator": Option to use alternative weights. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1509" due-to="Chen Tao"> |
| Add "MiniBatchKMeansClusterer" clustering algorithm. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1524" due-to="Chen Tao"> |
| Code reuse. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1511"> |
| Issue in site generation and developers documentation. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1522" due-to="Chen Tao"> |
| Remove generic parameter in clustering evaluator interfaces. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1519" due-to="Chen Tao"> |
| Add "Calinski-Harabsz" clustering evaluator. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1523"> |
| Abstract class "ClusterEvaluator" replaced by an interface. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1518"> |
| Remove code duplication by moving method to class "Cluster". |
| </action> |
| <action dev="erans" type="add" issue="MATH-1516"> |
| Interface for ranking a list of clusters. |
| </action> |
| <action dev="kinow" type="update" issue="MATH-1408"> |
| Do not use exceptions for control flow |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1388"> |
| Avoid overflow. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1362"> |
| Removed deprecated class "Incrementor" (replaced by "IntegerSequence.Incrementor"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1506"> |
| Removed class "MultidimensionalCounter" (ported to "Commons Numbers"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1504"> |
| Removed class "BigFraction" (ported to "Commons Numbers"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1446"> |
| Removed class "Fraction" (ported to "Commons Numbers"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1469"> |
| Removed most codes in package "o.a.c.m.geometry". |
| "Commons Math" now depends on "Commons Geometry". |
| </action> |
| <action dev="erans" type="update" issue="MATH-1481" due-to="Théophile Charmont"> |
| "SobolSequenceGenerator": Update data file. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1401" due-to="Michele De Stefano"> |
| "ClopperPearsonInterval": Missing cases. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1477" due-to="Chee Sing Lee"> |
| "MillerUpdatingRegression": Fixed "ArrayIndexOutOfBounds" exception. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1463"> |
| "IntegerSequence.incrementor": Throw "NoSuchElementException" from "next" method. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1459" due-to="Adrian Porter"> |
| Create a way to automatically calculate a Jacobian matrix using a differentiator. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1458" due-to="Alex Herbert"> |
| "SimpsonIntegrator": Fixed iteration. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1426" due-to="Karl Richter"> |
| "DescriptiveStatistics": allow "Double[]" as initializer. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1419" due-to="Hang Park"> |
| "PolynomialSplineFunction": incorrect usage of exception. |
| </action> |
| <action dev="kinow" type="fix" issue="MATH-1413"> |
| add generics to the Frequency class |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1417" due-to="Jean-Francois Lecomte"> |
| "RRQRDecomposition": bug in method "performHouseholderReflection". |
| </action> |
| <action dev="kinow" type="fix" issue="MATH-1381" due-to="Kexin Xie"> |
| Fix "BinomialTest": P-value larger than 1. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1382" due-to="Stefan Bunk"> |
| "MultivariateNormalDistribution": performance improvement (by |
| removing unnecessary copying). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1405" due-to="Daniil Finkel"> |
| "KolmogorovSmirnovTest": bug in "fixTies". |
| </action> |
| <action dev="ebourg" type="update" issue="MATH-1389" due-to="Christoph Dibak"> |
| Performance improvement for Array2DRowRealMatrix.getSubMatrix() |
| </action> |
| <action dev="erans" type="add" issue="MATH-1383"> |
| Dependency toward the "Commons Rng" component. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1377"> |
| "SimplexOptimizer": Slight performance improvement. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1376" due-to="Thomas Weise"> |
| "SimplexOptimizer": Wrong value of iteration number was passed to the convergence checker. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1319"> |
| Major refactoring of package "o.a.c.m.random". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1366"> |
| Removed obsolete RNG API (replaced by classes under "o.a.c.m.rng"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1015" due-to="Thomas Neidhart"> |
| Gauss-Laguerre quadrature. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1318" due-to="Eric Prescott-Gagnon"> |
| "o.a.c.m.special.Gamma.digamma": Improved performance (through the use of |
| the reflection formula for negative arguments). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1350" due-to="Rob Tompkins"> |
| Improved code coverage (unit tests). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1336"> |
| New 64-bits RNG implementations. On 64-bits systems, they are ~35% faster than |
| "java.util.Random" for generating "long" or "double" values. They also guarantee |
| much better randomness than "Random" (cf. MATH-1327). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1335"> |
| Refactoring of uniform random number generator functionality: new API |
| implemented in package "o.a.c.m.rng". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1340"> |
| Avoid exception swallowing (in class "TestUtils"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1339"> |
| Avoid redundant object creation. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1337"> |
| Adaptor class from new API ("o.a.c.m.rng.RandomSource") to old API |
| ("o.a.c.m.random.RandomGenerator"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1327"> |
| Report on performance and correctness of the new RNG implementations. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1314"> |
| Javadoc of the new RNG API ("o.a.c.m.rng") mentions the "seed problem". |
| </action> |
| <action dev="erans" type="add" issue="MATH-1158"> |
| New interface for sampling from distribution (package "o.a.c.m.distribution"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1356"> |
| "HypergeometricDistribution": Handle special cases that produced NaN. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1351"> |
| New sampler API for "MultivariateRealDistribution". |
| </action> |
| <action dev="erans" type="add" issue="MATH-1348"> |
| Adaptor for using one of the new RNG implementations where an instance of |
| "java.util.Random" is required. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1343"> |
| "BetaDistribution": Removed unnecessary recomputation. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1124"> |
| "JDKRandomGenerator": Method "nextInt(int)" now throws a "NotStrictlyPositiveException". |
| The class now delegates to (rather inherits from) "java.util.Random". |
| </action> |
| <action dev="erans" type="update" issue="MATH-1305" due-to="Rostislav Krasny"> |
| "AbstractRandomGenerator" and "BitsStreamGenerator": Slight performance |
| improvement of the "nextBytes" method (particularly when the number of |
| requested bytes is a multiple of 4). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1300" due-to="Rostislav Krasny"> |
| "AbstractRandomGenerator" and "BitsStreamGenerator": Remove a redundant call |
| to the random data provider. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1295" due-to="Aleksei Dievskii"> |
| "FactorialLog": Cache-based computation of the "log factorial" function (implemented |
| as an inner class of "CombinatoricsUtils" in package "o.a.c.m.util"). |
| </action> |
| <action dev="luc" type="add" issue="MATH-1271" due-to="Qualtagh"> |
| Added divideUnsigned and remainderUnsigned to ArithmeticUtils. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1231"> |
| Lifted unnecessary restriction on constructor's argument of |
| "MicrosphereInterpolator" (package "o.a.c.m.analysis.interpolation"). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1230"> |
| The "SimplexSolver" will now throw a "DimensionMismatchException" |
| when calling "optimize(...)" with linear constraints whose dimension |
| does not match the dimension of the objective function. |
| </action> |
| <action dev="luc" type="add" > |
| Added a fast implementation of IEEEremainder in FastMath. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1222" due-to="Benedikt Ritter"> |
| Use Double.isNaN rather than x != x in FastMath. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1143"> |
| Added helper methods to FunctionUtils for univariate and multivariate differentiable functions conversion. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-964"> |
| Removed unused package private class PollardRho in package primes. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1221"> |
| Improve performance of "ZipfDistribution" by caching the nth generalized harmonic. |
| </action> |
| <action dev="tn" type="update" issue="MATH-853"> |
| "MathRuntimeException" is now the base class for all commons-math |
| exceptions (except for "NullArgumentException" which extends |
| "NullPointerException"). |
| </action> |
| <action dev="tn" type="remove" issue="MATH-1205"> |
| Removed methods "test(...)" from "AbstractUnivariateStatistic". |
| The already existing methods "MathArrays#verifyValues(...)" shall |
| be used instead. |
| </action> |
| <action dev="tn" type="update" issue="MATH-1205"> |
| The abstract class "AbstractStorelessUnivariateStatistic" does not |
| extend anymore from "AbstractUnivariateStatistic". |
| </action> |
| <action dev="tn" type="update" issue="MATH-1205"> |
| Default implementation of |
| "AbstractStorelessUnivariateStatistic#equals(Object)" |
| will only return true if both instances have the same type. Previously |
| different statistics were considered to be equal if their current state |
| happened to be equal. |
| </action> |
| <action dev="tn" type="update" issue="MATH-1205"> |
| Default implementations of "AbstractStorelessUnivariateStatistic#evaluate(...)" |
| do not alter the internal state anymore. Instead a temporary copy of |
| the statistic is created for evaluation purposes. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1205"> |
| Methods "evaluate(...)" of class "Variance" changed the internal state |
| although it was stated differently in the javadoc. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1191"> |
| Fixed ignored method parameters in QRDecomposition protected methods. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1212"> |
| Changed javadoc as the RandomDataGenerator class does not implement |
| an interface anymore (the previous interface has been deprecated in |
| 3.X and removed in 4.0). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1206"> |
| Added new API methods in "LeastSquaresProblem.Evaluation" (package |
| "o.a.c.m.fitting.leastsquares"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1210"> |
| "QRDecomposition": include information about the condition that |
| triggers a "SingularMatrixException". |
| </action> |
| <action dev="tn" type="update" issue="MATH-757"> |
| Removed broken synchronization support in "ResizableDoubleArray". |
| </action> |
| <action dev="tn" type="add" issue="MATH-945"> |
| Added method "T log10()" to interface "RealFieldElement". |
| </action> |
| <action dev="tn" type="update" issue="MATH-869"> |
| "SpearmansCorrelation" will now throw an "MathIllegalArgumentException" |
| if provided with a "NaturalRanking" instance that uses "REMOVED" as "NaNStrategy". |
| </action> |
| <action dev="tn" type="update" issue="MATH-869"> |
| "NullArgumentException" extends now "java.lang.NullPointerException" |
| instead of "MathIllegalArgumentException". |
| </action> |
| <action dev="tn" type="update" issue="MATH-839" due-to="Gilles Sadowski"> |
| Renamed "cumulativeProbability(double, double)" to "probability(double, double)" |
| in "IntegerDistribution" and "RealDistribution". |
| </action> |
| <action dev="tn" type="add" issue="MATH-1039" due-to="Aleksei Dievskii"> |
| Added logDensity(double) to RealDistribution and logProbability(int) |
| to IntegerDistribution interface. The implementations have already been |
| updated in release 3.3. |
| </action> |
| <action dev="tn" type="update" issue="MATH-1155"> |
| WELL type pseudo-random number generators have been refactored: |
| the cached indirection index tables per instance are now stored |
| in a static instance. This reduces the initialization cost when |
| creating a new instance. |
| </action> |
| <action dev="tn" type="remove" issue="MATH-1050"> |
| Removed "ArithmeticUtils#pow(int, long)" and "ArithmeticUtils#pow(long, long)". |
| </action> |
| <action dev="tn" type="update" issue="MATH-825" due-to="Gilles Sadowski"> |
| Method "LaguerreSolver#laguerre(...)" has been made private. |
| </action> |
| <action dev="tn" type="update" issue="MATH-760" due-to="sebb"> |
| Field "windowSize" in "DescriptiveStatistics" has been made private. |
| </action> |
| </release> |
| |
| <release version="3.6.1" date="2016-03-21" description=" |
| This is a minor bug fix release. It incorporates three bug fixes since version 3.6. |
| |
| The minimum version of the Java platform required to compile and use |
| Commons Math 3.6.1 is Java 5. |
| "> |
| <action dev="psteitz" type="update" issue="MATH-1317"> |
| Add uniformity unit tests to "RandomGeneratorAbstractTest". |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1316"> |
| Fix code example in User Guide > Statistics > Multiple linear regression. |
| </action> |
| <action dev="evan" type="fix" issue="MATH-1342"> |
| Fix ODE integrators when multiple events are nearly simultaneous. |
| </action> |
| </release> |
| |
| <release version="3.6" date="2016-01-05" description=" |
| This is a minor release: It combines bug fixes and new features. |
| Changes to existing features were made in a backwards-compatible |
| way such as to allow drop-in replacement of the v3.x JAR file. |
| |
| Most notable among the new features are: |
| field-based version of Ordinary Differential Equations framework, |
| numerous improvements in distributions, statistics and neuralnet packages, |
| refactored implementation of microsphere interpolation algorithm, |
| explicit specification of rotation convention to use (both vector |
| operator and frame transform conventions are now available). |
| |
| The minimum version of the Java platform required to compile and use |
| Commons Math is Java 5. |
| |
| Users are encouraged to upgrade to this version as this release not |
| only includes bug fixes but also deprecates numerous classes and |
| methods that will be deleted from the next major release (4.0). |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha |
| state (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901). |
| "> |
| <action dev="psteitz" type="fix" issue="MATH-1310"> |
| Improved performance and accuracy of 2-sample KolmogorovSmirnov tests. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1297"> |
| Detect start failures with multi-step ODE integrators. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1302,MATH-1303"> |
| Added a RotationConvention enumerate to allow specifying the semantics |
| or axis/angle for rotations. This enumerate has two values: |
| VECTOR_OPERATOR and FRAME_TRANSFORM. |
| </action> |
| <action dev="luc" type="fix" due-to="Julien Queyrel"> |
| Fixed stability issues with Adams-Bashforth and Adams-Moulton ODE integrators. |
| The integrators did not estimate the local error properly and were sometimes |
| stuck attempting to reduce indefinitely the step size as they thought the |
| error was too high. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1288"> |
| Added a field-based version of Ordinary Differential Equations framework. |
| This allows integrating ode that refer to RealField elements instead of |
| primitive double, hence opening the way to use DerivativeStructure to |
| compute partial differential without using variational equations, or to solve |
| ode with extended precision using Dfp. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1295" due-to="Luke Lindsay"> |
| Increased default value for number of allowed evaluations in |
| "o.a.c.m.optim.univariate.BracketFinder". |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-1246"> |
| Modified 2-sample KolmogorovSmirnovTest to handle ties in sample data. By default, |
| ties are broken by adding random jitter to input data. Also added bootstrap method |
| analogous to ks.boot in R Matching package. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1294" due-to="Kamil Włodarczyk"> |
| Fixed potential race condition in PolynomialUtils#buildPolynomial in |
| case polynomials are generated from multiple threads. Furthermore, the |
| synchronization is now performed on the coefficient list instead of the class. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-1246"> |
| Added bootstrap method to KolmogorovSmirnov test. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-1287"> |
| Added constructors taking sample data as arguments to enumerated real and integer distributions. |
| </action> |
| <action dev="oertl" type="fix" issue="MATH-1269"> |
| Fixed FastMath.exp that potentially returned NaN for non-NaN argument. |
| </action> |
| <action dev="luc" type="add"> |
| Added a nth order Brent solver for general real fields, replacing the former |
| solver that was restricted to Dfp fields only. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1286"> |
| New "Range" inner class of "o.a.c.m.util.IntegerSequence". |
| </action> |
| <action dev="oertl" type="fix" issue="MATH-1285" due-to="Pim van der Hoorn "> |
| Updated reference in ZipfDistribution's javadoc. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1283" due-to="Jean Noel Delavalade"> |
| Fixed "Gamma#gamma(double)" for negative values smaller than -20. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1237" due-to="Ken Williams"> |
| Fixed javadoc of methods {floorDiv,floorMod} in class "FastMath". |
| </action> |
| <action dev="tn" type="add" issue="MATH-837"> |
| "AggregateSummaryStatistics" can now aggregate any kind of |
| "StatisticalSummary". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1279"> |
| Check precondition (class "o.a.c.m.random.EmpiricalDistribution"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1278"> |
| Deep copy of "Network" (package "o.a.c.m.ml.neuralnet") to allow evaluation of |
| of intermediate states during training. |
| </action> |
| <action dev="oertl" type="update" issue="MATH-1276"> |
| Improved performance of sampling and inverse cumulative probability calculation |
| for geometric distributions. |
| </action> |
| <action dev="oertl" type="fix" issue="MATH-1277" due-to="Marc Rosen"> |
| Fixed incorrect Kendall's tau coefficient calculation due to internal integer overflow. |
| </action> |
| <action dev="oertl" type="update" issue="MATH-1274"> |
| Representation of Kolmogorov-Smirnov statistic as integral value. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1273" due-to="Qualtagh"> |
| Added negative zero support in FastMath.pow. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1270"> |
| Various SOFM visualizations (in package "o.a.c.m.ml.neuralnet.twod.util"): |
| Unified distance matrix, hit histogram, smoothed data histograms, |
| topographic error, quantization error. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1268"> |
| New interfaces to be implemented by algorithms that visualizes properties |
| of a "NeuronSquareMesh2D" (package "o.a.c.m.ml.neuralnet.twod.util"). |
| </action> |
| <action dev="luc" type="add" > |
| Reimplemented pow(double, double) in FastMath, for better accuracy in |
| integral power cases and trying to fix erroneous JIT optimization again. |
| </action> |
| <action dev="luc" type="add" > |
| Added a pow(double, long) method in FastMath. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1266"> |
| Fixed split/side inconsistencies in BSP trees. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1265"> |
| "NeuronSquareMesh2D" (package "o.a.c.m.ml.neuralnet.twod") implements "Iterable". |
| </action> |
| <action dev="erans" type="add" issue="MATH-1264"> |
| "MapUtils" (package "o.a.c.m.ml.neuralnet"): Method to sort units according to distance |
| from a given vector. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1263"> |
| Accessor (class "o.a.c.m.ml.neuralnet.twod.NeuronSquareMesh2D"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1259"> |
| New "IntegerSequence" class (in package "o.a.c.m.util") with "Incrementor" inner class. |
| </action> |
| <action dev="oertl" type="update" issue="MATH-1220"> |
| Faster generation of Zipf distributed random numbers by using rejection-inversion sampling. |
| </action> |
| <action dev="oertl" type="update" issue="MATH-990"> |
| Improved performance of sort-in-place methods by avoiding boxing. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1261" due-to="Osamu Ikeuchi"> |
| Avoid overflow in "Fraction" (multiplication or division by an int). |
| </action> |
| <action dev="oertl" type="fix" issue="MATH-1258" due-to="Gunel Jahangirova"> |
| Added check for equal array lengths to distance measure functions. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1257" due-to="Bill Murphy"> |
| Better accuracy in computation of cumulative probability of "NormalDistribution" |
| (package "o.a.c.m.distribution"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1256"> |
| Boundary check to construct an "Interval" (package "o.a.c.m.geometry.euclidean.oned"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1255"> |
| Wrong neighbourhood size in class "KohonenUpdateAction" (package "o.a.c.m.ml.neuralnet.sofm"). |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1252" due-to="John Bay"> |
| ResizableDoubleArray constructor does not work with double array of size 1. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1251"> |
| Fixed initial value of "number of calls" counter in class "KohonenUpdateAction" |
| (package "o.a.c.m.ml.neuralnet.sofm"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1250"> |
| "Neuron" class (package "o.a.c.m.ml.neuralnet"): added methods that can be used |
| to assess concurrency performance. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1248" due-to="Chris Popp"> |
| Removed unnecessary allocations in "BigFraction" (package "o.a.c.m.fraction"). |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1245"> |
| Fixed error in computing discrete distribution of D statistics for small-sample |
| 2-sample Kolmogorov-Smirnov tests. Error was causing incorrect p-values returned |
| by exactP and monteCarloP methods (used by default for small, mid-size samples). |
| </action> |
| <action dev="erans" type="update" issue="MATH-1243"> |
| Refactored implementation of the "miscrosphere projection" |
| interpolation algorithm. |
| New classes: "MicrosphereProjectionInterpolator", |
| "InterpolatingMicrosphere" and "InterpolatingMicrosphere2D" |
| replace "MicrosphereInterpolator" and "MicrosphereInterpolatingFunction". |
| (package "o.a.c.m.analysis.interpolation"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1244"> |
| Method "cosAngle" in "o.a.c.m.util.MathArrays". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1240"> |
| "KolmogorovSmirnovTest#ksSum(...)" returned wrong result in case the provided |
| t-parameters was zero. This affected the calculation of "approximateP(...)" for |
| identical samples. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1242" due-to="Otmar Ertl"> |
| Improved performance to calculate the two-sample Kolmogorov-Smirnov test |
| via monte carlo simulation ("KolmogorovSmirnovTets#monteCarloP(...)"). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1241" due-to="Aleksei Dievskii"> |
| A "StackOverflowException" was thrown when passing Double.NaN or infinity |
| to "Gamma#digamma(double)" or "Gamma#trigamma(double)". Now the input value |
| is propagated to the output if it is not a real number. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1232" due-to="Otmar Ertl"> |
| Improved performance of calculating the two-sample Kolmogorov-Smirnov |
| test statistic. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1232"> |
| Fixed error message for unknown parameter name in ODE. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1226"> |
| Fixed wrong event detection in case of close events pairs. |
| </action> |
| <action dev="tn" type="fix"> |
| Fix potential branching errors in "FastMath#pow(double, double)" when |
| passing special values, i.e. infinity, due to erroneous JIT optimization. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1118" > |
| Fixed equals/hashcode contract failure for Dfp. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1223" > |
| Fixed wrong splitting of huge number in extended accuracy algorithms. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1153" due-to="Sergei Lebedev"> |
| Improve performance of "BetaDistribution#sample()" by using Cheng's algorithm. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1197"> |
| Computation of 2-sample Kolmogorov-Smirnov statistic in case of ties |
| was not correct. |
| </action> |
| </release> |
| |
| <release version="3.5" date="2015-04-17" description=" |
| This is a minor release: It combines bug fixes and new features. |
| Changes to existing features were made in a backwards-compatible |
| way such as to allow drop-in replacement of the v3.4.1 JAR file. |
| |
| Most notable among the new features are: |
| getQuadraticMean method added to DescriptiveStatistics SummaryStatistics |
| which calculates the root mean square, and a way to build polyhedrons sets |
| from list of vertices and the facets they belong too. There have been |
| numerous bug fixes. See below for a full list. |
| |
| The minimum version of the Java platform required to compile and use |
| Apache Commons Math is Java 5. |
| |
| Users are encouraged to upgrade to this version as this release not |
| only includes bug fixes but also deprecates numerous classes and |
| methods that will be deleted from the next major release (4.0). |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha |
| state (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901). |
| "> |
| <action dev="luc" type="fix" issue="MATH-1195"> |
| Moved FastMathTestPerformance out of the main test tree, as is is |
| a benchmark rather than a test. |
| </action> |
| <action dev="luc" type="add"> |
| Added a way to build polyhedrons sets from a list of vertices and |
| facets specified using vertices indices. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-1213"> |
| Added Laguerre complex solve methods taking maxEval parameters. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1191"> |
| Fixed ignored method parameters in QRDecomposition protected methods. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1211" due-to="Mike Zimmerman"> |
| Fixed wrong selection of line/polyhedron intersection point. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1162"> |
| Improved fix for corner cases in BSP-tree merging, when cut sub-hyperplanes vanish. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1209" due-to="Jonathan Ogilvie"> |
| Fixed link to algorithm description in "PoissonDistribution#sample()". |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1208"> |
| EmpiricalDistribution cumulativeProbability can return NaN when evaluated within a constant bin. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1203"> |
| EmpiricalDistribution getKernel fails for buckets with only multiple instances of the same value. |
| </action> |
| <action dev="evanward" type="fix" issue="MATH-1204"> |
| "UnivariateSolverUtils#bracket(...)" sometimes failed to bracket |
| if a reached the lower bound. |
| </action> |
| <action dev="sebb" type="add" issue="MATH-1198"> |
| Simplified "FastMath#exp(double)" in order to avoid a potential |
| Java 1.5 JIT bug when calling with negative infinity as argument. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1199"> |
| Added method "getQuadraticMean()" to "DescriptiveStatistics" |
| and "SummaryStatistics" which calculates the root mean square. |
| </action> |
| </release> |
| |
| <release version="3.4.1" date="2015-01-11" description=" |
| This is a maintenance release: It fixes issue MATH-1188. |
| "> |
| <action dev="sebb" type="fix" issue="MATH-1188"> |
| Fixed non-Java1.5 code in BesselJ. |
| </action> |
| </release> |
| |
| <release version="3.4" date="2014-12-26" description=" |
| This is a minor release: It combines bug fixes and new features. |
| Changes to existing features were made in a backwards-compatible |
| way such as to allow drop-in replacement of the v3.3 JAR file. |
| |
| Most notable among the new features are: |
| new distributions (Gumbel, Laplace, Logistic, Nakagami), and |
| improvements on percentiles algorithms (better handling for NaNs |
| in the regular algorithm, plus a new storeless implementation). |
| Bicubic and tricubic interpolators have been fixed and new |
| implementations added. There have been numerous bug fixes and |
| several improvements on performances or robustness. See below |
| for a full list. |
| |
| The minimum version of the Java platform required to compile and use |
| Apache Commons Math is Java 5. |
| |
| Users are encouraged to upgrade to this version as this release not |
| only includes bug fixes but also deprecates numerous classes and |
| methods that will be deleted from the next major release (4.0). |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha |
| state (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901). |
| "> |
| <action dev="psteitz" type="add" issue="MATH-1066" due-to="Brian Wignall"> |
| Added Bessel functions of the first kind, based on NetLib implementation. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1142" due-to="Arne Schwarz"> |
| Improve performance of kalman gain calculation in "KalmanFilter" by |
| directly solving a linear system rather than computing the matrix |
| inverse. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1181"> |
| Fixed integer overflow in KolmogorovSmirnovTest causing 2-sample test |
| to use exact method when the product of the sample sizes exceeds |
| Integer.MAX_VALUE, resulting in effectively hung execution. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1180"> |
| Method to create a sequence of integers (in "o.a.c.m.util.MathArrays"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1172"> |
| New class "SimpleCurveFitter": Boiler-plate code to allow fitting of |
| a user-defined parametric function. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1173"> |
| New classes "TricubicInterpolatingFunction" and "TricubicInterpolator" to |
| replace "TricubicSplineInterpolatingFunction" and "TricubicSplineInterpolator". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1178" due-to="Dmitriy"> |
| Fixed example in userguide ("stat" section). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1175" due-to="Karsten Loesing"> |
| Fixed inverse cumulative probability of 0 in "LaplaceDistribution". |
| </action> |
| <action dev="erans" type="add" issue="MATH-1166"> |
| New classes "BicubicInterpolatingFunction" and "BicubicInterpolator" to |
| replace "BicubicSplineInterpolatingFunction" and "BicubicSplineInterpolator". |
| </action> |
| <action dev="luc" type="update" > |
| Spurious vertices in the middle of otherwise straight edges are now |
| filtered out when rebuilding polygons boundaries from BSP trees. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1174" > |
| Fixed a problem with too thin polygons considered to have infinite size. |
| </action> |
| <action dev="luc" type="add" > |
| Boundary attributes in regions now provides the BSP tree nodes that |
| were used to split the sub-hyperplane forming the boundary part of the facet. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1162" > |
| Fixed a problem with vanishing cut sub-hyperplanes during BSP tree merging. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1167" due-to="Neil Ireson"> |
| "o.a.c.m.stat.regression.OLSMultipleLinearRegression": Use threshold |
| when performing "QRDecomposition". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1165" due-to="Pashutan Modaresi"> |
| "FuzzyKMeansClusterer" has thrown an exception in case one of the data |
| points was equal to a cluster center. |
| </action> |
| <action dev="erans" type="add" issue="MATH-1144"> |
| Interface to allow parameter validation in "o.a.c.m.fitting.leastsquares": |
| the point computed by by the optimizer can be modified before evaluation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1160" > |
| Provide access to state derivatives in ContinuousOutputModel. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1138" due-to="Hank Grabowski"> |
| Fixed bicubic spline interpolator, using Akima splines. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-1154" > |
| Changed classes in the inference package that instantiate distributions to |
| pass null RandomGenerators to avoid initialization overhead for the default |
| generator. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1156" > |
| Added all Java 8 StrictMath methods to FastMath, so FastMath remains compatible |
| with newer Java versions. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1139" due-to="Alexey Volkov"> |
| Added Gumbel, Laplace, Logistic and Nakagami distributions. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1147"> |
| Added statistics missing from toString method in SummaryStatistics. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1152" due-to="Andras Sereny"> |
| Improved performance of "EnumeratedDistribution#sample()" by caching |
| the cumulative probabilities and using binary rather than a linear search. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1148" due-to="Guillaume Marceau"> |
| "MonotoneChain" did not take the tolerance factor into account when |
| sorting the input points. In case of collinear points this could result |
| in a "ConvergenceException" when computing the hull. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1151"> |
| Interface "ValueAndJacobianFunction" is a precondition for lazy |
| evaluation (in "o.a.c.m.fitting.leastsquares"). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1145" due-to="Anders Conbere"> |
| Fix potential integer overflows in "MannWhitneyUTest" when providing |
| large sample arrays. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1149" due-to="M Kim"> |
| Fixed potential null pointer dereferencing in constructor of |
| "DummyStepInterpolator(DummyStepInterpolator)". |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1136" due-to="Aleksei Dievskii"> |
| Fixed BinomialDistribution to deal with degenerate cases correctly. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1135" due-to="Guillaume Marceau"> |
| "MonotoneChain" failed to generate a convex hull if only a minimal hull |
| shall be created (includeCollinearPoints=false) and collinear hull points |
| were present in the input. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1131" due-to="Schalk W. Cronjé"> |
| Improve performance of "KolmogorovSmirnovTest#kolmogorovSmirnovTest(...)" for |
| large samples. Also changed implementation for large n to use Pelz-Good |
| approximation. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1134"> |
| "BicubicSplineInterpolatingFunction": all fields made final and initialized in |
| the constructor. Added flag to request initialization, or not, of the internal |
| data needed for partial derivatives. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-984"> |
| Constrained EmpiricalDistribution sample/getNextValue methods to return |
| values within the range of the data; correctly linked RandomGenerator to |
| superclass so that RealDistribution reseedRandomGenerator method works. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1120" due-to="Venkatesha Murthy"> |
| Added several different estimation types and NaN handling strategies for Percentile. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-418" due-to="Venkatesha Murthy"> |
| Added implementation of PSquare algorithm to estimate percentiles without |
| storing data in memory (i.e. as StorelessUnivariateStatistic). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1129"> |
| "Percentile": wrong sorting in the presence of NaN. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1128"> |
| Added lazy evaluation to "LeastSquaresFactory" (in "o.a.c.m.fitting.leastsquares") |
| to avoid evaluating the model when the optimization algorithm does not actually |
| require it. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1127"> |
| Fixed overflow in Precision.equals with ulps (both double and float versions). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1125" due-to="Ajo Fod"> |
| Performance improvements for Student's t-distribution. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1123" due-to="Aurélien Labrosse"> |
| Fixed NullPointerException when chopping-off a sub-hyperplane |
| that is exactly at a region boundary. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1121" due-to="Ajo Fod"> |
| "BrentOptimizer": increment base class iteration counter. |
| </action> |
| </release> |
| |
| <release version="3.3" date="2014-05-05" description=" |
| This is a minor release: It combines bug fixes and new features. |
| Changes to existing features were made in a backwards-compatible |
| way such as to allow drop-in replacement of the v3.x JAR file. |
| |
| Most notable among the new features are: |
| Framework for creating artificial neural nets, self organizing feature maps, |
| computational geometry algorithms (convex hull, enclosing ball), performance |
| improvements of the linear simplex solver, refactoring of curve fitters, |
| low-discrepancy random generators (sobol, halton), least-squares fitting. |
| |
| The minimum version of the Java platform required to compile and use |
| Commons Math is Java 5. |
| |
| Users are encouraged to upgrade to this version as this release not |
| only includes bug fixes but also deprecates numerous classes and |
| methods that will be deleted from the next major release (4.0). |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha |
| state (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901). |
| 3. A few methods/constructors in the package o.a.c.m.geometry.partitioning |
| have changed their signature in a non backwards-compatible way. The respective |
| classes are intended to be package private only and are not supposed to be |
| used for other purposes. |
| "> |
| <action dev="tn" type="add" issue="MATH-1110" due-to="Edward Segall"> |
| Added new constructor to "OLSMultipleLinearRegression" to be able |
| to specify a custom singularity threshold for QR decomposition. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1092"> |
| Extracted class "LineSearch" from "PowellOptimizer", to be used in |
| "NonLinearConjugateGradientOptimizer" (in place of the implementation |
| that triggered this issue). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1115"> |
| Build properly empty polyhedrons set when given equal min/max boundaries. Also explained |
| better in the javadoc about some wrong usage of PolyhedronsSet constructor. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1117"> |
| Build properly empty polygons set when given equal min/max boundaries. Also explained |
| better in the javadoc about some wrong usage of PolygonsSet constructor. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1119"> |
| Added a fast single-step method for fixed-step Runge-Kutta integrators. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1118"> |
| "Complex": Fixed compatibility of "equals(Object)" with "hashCode()". |
| Added new methods for testing floating-point equality between the real |
| (resp. imaginary) parts of two complex numbers. |
| </action> |
| <action dev="luc" type="add" > |
| Added an order 6 fixed-step ODE integrator designed by H. A. Luther in 1968. |
| </action> |
| <action dev="luc" type="update" > |
| Bracketing utility for univariate root solvers returns a tighter interval than before. |
| It also allows choosing the search interval expansion rate, supporting both linear |
| and asymptotically exponential rates. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-1107" due-to="Bruce A Johnson"> |
| Prevent penalties to grow multiplicatively in CMAES for out of bounds points. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-437"> |
| Added KolmogorovSmirnovTest class, deprecating KolmogorovSmirnovDistribution. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1101"> |
| Improved documentation of QR decomposition handling of singular matrices. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1053" due-to="Sean Owen"> |
| QR decomposition can compute pseudo-inverses for tall matrices. |
| </action> |
| <action dev="luc" type="add" issue="MATH-820"> |
| Field vectors now implement the visitor pattern just like real vectors. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-875"> |
| Un-deprecated RealVector.sparseIterator, documenting explicitly that entries |
| not iterated above are the zero ones. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-821"> |
| Relaxed specification for function mapping on vectors, thus allowing straightforward |
| implementation for sparse vectors. |
| </action> |
| <action dev="luc" type="update" issue="MATH-1099" due-to="Evan Ward"> |
| Make QR the default in GaussNewtonOptimizer. |
| </action> |
| <action dev="luc" type="update" issue="MATH-1099" due-to="Evan Ward"> |
| Add Cholesky option to GaussNewtonOptimizer. |
| </action> |
| <action dev="luc" type="update" issue="MATH-1099" due-to="Evan Ward"> |
| Make QR in GaussNewton faster and more accurate. |
| </action> |
| <action dev="luc" type="update" issue="MATH-870"> |
| The sparse vector and matrix classes have been un-deprecated. This is a reversal |
| of a former decision, as we now think we should adopt a generally accepted |
| behavior which is ... to ignore the problems of NaNs and infinities in |
| sparse linear algebra entities. |
| </action> |
| <action dev="tn" type="add" issue="MATH-749"> |
| Added MonotoneChain algorithm to compute the convex hull of a collection of |
| points in 2D. Additionally, the AklToussaintHeuristic can be used to speed up |
| the generation. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1065" due-to="matteodg"> |
| Calculating the inverse cumulative probability of an "EnumeratedRealDistribution" |
| will now return the correct result according to the selected enumerated probability |
| mass function. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1050"> |
| Deprecated "ArithmeticUtils#pow(int, long)" and "ArithmeticUtils#pow(long, long)" |
| in favor of corresponding methods "ArithmeticUtils#pow(..., int)". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-976"> |
| Create additional artifact "commons-math3-x.y.z-tools.jar" as part of the |
| release process. This artifact contains useful tools, e.g. for performance testing. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-990"> |
| Improved performance of "MathArrays#sortInPlace(...)". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1044" due-to="Sean Owen"> |
| Clarify javadoc of "DecompositionSolver#getInverse()" and corresponding implementations |
| wrt the actually returned inverse. Several decomposition implementations are able |
| to return a pseudo-inverse in case of a singular matrix. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1095"> |
| Added Emo Welzl algorithm to find the smallest enclosing ball of a collection of points. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-985" due-to="Johnathan Kool"> |
| Fixed an indexing problem in "BicubicSplineInterpolatingFunction" which |
| resulted in wrong interpolations. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1072"> |
| Added a constructor to "AbstractListChromosome" that does not copy the |
| input argument. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1091"> |
| BSP tree now provides an API to compute a global signed distance from |
| a test point to the region. The distance is positive if the point is |
| outside of the region, negative if the point is inside, and zero |
| when the point is at the boundary. The distance is continuous |
| everywhere, so it can be used with a root solver to identify accurately |
| boundary crossings. This API is available for all BSP trees, in |
| Euclidean and spherical geometries, and in all dimensions. |
| </action> |
| <action dev="luc" type="add"> |
| Added new geometry sub-packages: spherical.oned which deals with geometry |
| on the 1-sphere (i.e. the circle) and spherical.twod which deals with the |
| 2-sphere (i.e. the regular sphere). BSP trees can be used in these new |
| spaces, so one can build arcs sets and spherical polygons sets with all |
| the regular operations (inside/outside/boundary checks, union, intersection, |
| symetric difference, complement ...). |
| </action> |
| <action dev="luc" type="add" issue="MATH-1090"> |
| IntervalsSet now implements Iterable<double[]>, so one can iterate |
| over the sub-intervals without building a full list containing |
| a copy of everything beforehand. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1089"> |
| "Precision#round(double, ...)" will now return negative zero for negative |
| values rounded to zero, similar to the float variant. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1088"> |
| The iterator returned by "MultiDimensionalCounter#iterator()" will now |
| correctly throw a "NoSuchElementException" when calling "next()" and the |
| iterator is already exhausted. |
| </action> |
| <action dev="luc" type="fix" > |
| Fixed an issue with noisy functions for ODE events detection. |
| </action> |
| <action dev="erans" type="add" issue="MATH-923"> |
| Utilities for creating artificial neural networks (package "o.a.c.m.ml.neuralnet"). |
| Implementation of Kohonen's Self-Organizing Feature Map (SOFM). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1082"> |
| The cutOff mechanism of the "SimplexSolver" in package o.a.c.math3.optim.linear |
| could lead to invalid solutions. The mechanism has been improved in a way that |
| the tableau does not need to be updated anymore. Additionally, a new check will |
| prevent impossible solutions to be returned as valid. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1079"> |
| Improved performance of "SimplexSolver" in package o.a.c.math3.optim.linear by |
| directly performing row operations and keeping track of the current basic variables. |
| </action> |
| <action dev="tn" type="update" issue="MATH-1080"> |
| The "LinearConstraintSet" will now return the enclosed collection of "LinearConstraint" |
| objects in the same order as they have been added. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-842"> |
| Added support for different pivot selection rules to the "SimplexSolver" by introducing |
| the new "OptimizationData" class "PivotSelectionRule". Currently supported rules are: |
| Dantzig (default) and Bland (avoids cycles). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1070" due-to="Oleksandr Muliarevych"> |
| Fix "Precision#round(float, int, int)" when using rounding mode "BigDecimal.ROUND_UP" |
| and the discarded fraction is zero. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1059"> |
| Use "FastMath" instead of "Math" within Commons Math. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1068" due-to="Gal Lalouche"> |
| Avoid overflow when calculating Kendall's correlation for large arrays. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1067" due-to="Florian Erhard"> |
| Avoid infinite recursion in "Beta.regularizedBeta" (package "o.a.c.m.special"); |
| </action> |
| <action dev="erans" type="add" issue="MATH-1014"> |
| Refactoring of curve fitters (package "o.a.c.m.fitting"). |
| </action> |
| <action dev="tn" type="add" issue="MATH-970"> |
| Added possibility to retrieve the best found solution of the "SimplexSolver" in case |
| the iteration limit has been reached. The "optimize(OptimizationData...)" method now |
| supports a "SolutionCallback" which provides access to the best solution if |
| a feasible solution could be found (phase 2 of the Two-Phase simplex method has been reached). |
| </action> |
| <action dev="tn" type="update" issue="MATH-1031" due-to="Thorsten Schäfer"> |
| Added new class "ClusterEvaluator" to evaluate the result of a clustering algorithm |
| and refactored existing evaluation code in "MultiKMeansPlusPlusClusterer" |
| into separate class "SumOfClusterVariances". |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-1061"> |
| Added InsufficientDataException. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-1056" due-to="Sean Owen"> |
| Fixed unintended integer division error in PoissonDistribution sampling method. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1057"> |
| Fixed failing unit tests for "BOBYQAOptimizer" when executed with a Oracle/Sun JVM 1.5. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1062"> |
| A call to "KalmanFilter#correct(...)" may have resulted in "NonSymmetricMatrixException" |
| as the internally used matrix inversion method was using a too strict symmetry check. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1058" due-to="Sean Owen"> |
| Precision improvements (for small values of the argument) in "Beta" function |
| and in "LogNormalDistribution" and "WeibullDistribution". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1055" due-to="Sean Owen"> |
| Fixed some invalid links inside javadoc and added missing deprecated annotations. |
| </action> |
| <action dev="tn" type="add" issue="MATH-983"> |
| Added a graphical overview of available continuous distributions to the userguide. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1051" due-to="Matt Adereth,devl"> |
| Added Kendall's tau correlation (KendallsCorrelation). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1051"> |
| "EigenDecomposition" may have failed to compute the decomposition for certain |
| non-symmetric matrices. Port of the respective bugfix in Jama-1.0.3. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1047"> |
| Check for overflow in methods "pow" (class "o.a.c.m.util.ArithmeticUtils"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1045" due-to="Sean Owen"> |
| "EigenDecomposition": Using tolerance for detecting whether a matrix is singular. |
| </action> |
| <action dev="luc" type="add" issue="MATH-1036" due-to="Ajo Fod"> |
| Added SparseGradient to deal efficiently with first derivatives when the number |
| of variables is very large but most computations depend only on a few of the |
| variables. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-1039" due-to="Aleksei Dievskii"> |
| Added logDensity methods to AbstractReal/IntegerDistribution with naive default |
| implementations and improved implementations for some current distributions. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-1038" due-to="Thorsten Schäfer"> |
| Added ConfidenceInterval class and BinomialConfidenceInterval providing several |
| estimators for confidence intervals for binomial probabilities. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1035" due-to="derphead"> |
| Simplified and improved performance of "ArithmeticUtils#addAndCheck(long, long)". |
| </action> |
| <action dev="tn" type="add" issue="MATH-1004" due-to="Ajo Fod"> |
| Added new methods to compute the inverse of a matrix to "DiagonalMatrix" |
| and "MatrixUtils". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1029"> |
| The "BigFraction" constructor will throw a "FractionConversionException" |
| also in case negative values are provided which exceed the allowed range |
| (+/- Integer.MAX_VALUE). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1041" due-to="Sean Owen"> |
| "Pair": added factory method and "toString" method. |
| </action> |
| <action dev="sebb" type="add" issue="MATH-1002"> |
| "AbstractUnivariateStatistic.test(...)" methods have uses outside subclasses; |
| implementation moved to MathArrays.verifyValues(...). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1033" due-to="Yuan Qu"> |
| The "KalmanFilter" wrongly enforced a column dimension of 1 for |
| the provided control and measurement noise matrix. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-1037" due-to="Aleksei Dievskii"> |
| Fix a typo in the test class of "GeometricDistribution" and ensure that a meaningful |
| tolerance value is used when comparing test results with expected values. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-1034" due-to="Thorsten Schäfer"> |
| Added exact binomial test implementation. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1018" due-to="Ajo Fod"> |
| Added overloaded constructors for subclasses of "RealDistribution" implementations |
| which do not require an explicit "inverseCumulativeAccuracy". The default accuracy will |
| be used instead. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1001" due-to="sebb"> |
| Added overloaded methods for "Frequency#incrementValue(Comparable, long)" with |
| int, long and char primitive arguments. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1030" due-to="Thorsten Schäfer"> |
| Added a section to the userguide for the new package o.a.c.m.ml with an |
| overview of available clustering algorithms and a code example. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-996" due-to="Tim Allison"> |
| Creating a "Fraction" or "BigFraction" object with a maxDenominator parameter |
| does not throw a "FractionConversionException" anymore in case the value is |
| very close to fraction. |
| </action> |
| <action dev="tn" type="add" issue="MATH-1028" due-to="Thorsten Schäfer"> |
| Added new distance metric "EarthMoversDistance". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-999" due-to="Ajo Fod"> |
| Improve performance of "DiagonalMatrix#preMultiply(RealVector)". |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-1025"> |
| Added CombinatoricsUtils to the util package, moving binomial |
| coefficients, factorials and Stirling numbers there and adding |
| a combinations iterator. |
| </action> |
| <action dev="erans" type="add" issue="MATH-991"> |
| "PolynomialSplineFunction": added method "isValidPoint" that |
| checks whether a point is within the interpolation range. |
| </action> |
| <action dev="erans" type="add" issue="MATH-989"> |
| "BicubicSplineInterpolatingFunction": added method "isValidPoint" that |
| checks whether a point is within the interpolation range. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1021" due-to="Brian Bloniarz"> |
| Fixed overflow in "HypergeometricDistribution". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1020"> |
| Fixed "nextPermutation" method (in "o.a.c.m.random.RandomDataGenerator"). |
| This bug does not affect applications using a previous version of |
| Commons Math. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1019"> |
| Buggy (private) method "shuffle" in "o.a.c.m.random.RandomDataGenerator" |
| superseded by "MathArrays.shuffle" (cf. MATH-1010). |
| </action> |
| <action dev="erans" type="add" issue="MATH-1010"> |
| Utility to shuffle an array. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1012"> |
| Created "RandomGeneratorFactory" (package "o.a.c.m.random") to reduce |
| code duplication in "RandomDataGenerator". |
| </action> |
| <action dev="erans" type="add" issue="MATH-1008"> |
| Created package ("o.a.c.m.fitting.leastsquares") for least-squares |
| fitting, with implementations of "LevenbergMarquardtOptimizer" and |
| "GaussNewtonOptimizer" adapted to a new ("fluent") API. |
| </action> |
| <action dev="erans" type="update" issue="MATH-1011"> |
| Improved implementation of "sample" method of "UniformIntegerDistribution". |
| </action> |
| <action dev="sebb" type="add" issue="MATH-1007"> |
| Add mode function to StatUtils class. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-1006"> |
| Enabled LaTeX expressions in javadoc and site docs via MathJax. |
| </action> |
| <action dev="sebb" type="add" issue="MATH-1000"> |
| Add mode function to Frequency class. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-1005" due-to="Roman Werpachowski"> |
| Fixed "MathArrays.linearCombination" when array length is 1. |
| </action> |
| <action dev="erans" type="add" issue="MATH-997"> |
| Implemented Gauss-Hermite quadrature scheme (in package |
| "o.a.c.m.analysis.integration.gauss"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-995"> |
| Documented limitation of "IterativeLegendreGaussIntegrator" (added |
| warning about potential wrong usage). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-993"> |
| In "GaussNewtonOptimizer", check for convergence before updating the |
| parameters estimation for the next iteration. |
| </action> |
| <action dev="luc" type="add" issue="MATH-967" due-to="Oleksandr Kornieiev"> |
| Added midpoint integration method. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-988" due-to="Andreas Huber"> |
| Fixed NullPointerException in 2D and 3D sub-line intersections. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-987" due-to="Ajo Fod"> |
| Added append method to SimpleRegression, making this class map/reducible. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-978" due-to="Ajo Fod"> |
| Added append method to StorelessCovariance, making this class map/reducible. |
| </action> |
| <action dev="tn" type="add" issue="MATH-851" due-to="Clemens Novak"> |
| Added method "MathArrays#convolve(double[], double[])" to compute the |
| discrete, linear convolution of two sequences. |
| </action> |
| <action dev="tn" type="add" issue="MATH-977"> |
| Added low-discrepancy random generator "HaltonSequenceGenerator". |
| </action> |
| <action dev="tn" type="add" issue="MATH-826" due-to="Sam Halliday"> |
| Added low-discrepancy random generator "SobolSequenceGenerator". |
| </action> |
| <action dev="tn" type="add" issue="MATH-973" due-to="Mauro Tortonesi"> |
| Added "GeometricDistribution" to "o.a.c.m.distribution" package. |
| </action> |
| <action dev="tn" type="add" issue="MATH-968" due-to="Alex Gryzlov"> |
| Added "ParetoDistribution" to "o.a.c.m.distribution" package. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-962"> |
| Added clarification to the javadoc of "VectorFormat" and derived classes |
| in case "," is used as a separator. |
| </action> |
| <action dev="tn" type="add" issue="MATH-898"> |
| Added "FuzzyKMeansClusterer" to "o.a.c.m.ml.clustering" package. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-965" > |
| Fixed inconsistent dimensions preventing use of secondary states |
| in ODE events. |
| </action> |
| </release> |
| <release version="3.2" date="2013-04-06" description=" |
| This is a minor release: It combines bug fixes and new features. |
| Changes to existing features were made in a backwards-compatible |
| way such as to allow drop-in replacement of the v3.1[.1] JAR file. |
| |
| Most notable among the new features are: Framework for automatic |
| differentiation, Lévy distribution, prime numbers, enumerated |
| distributions, real field allowing to use several algorithms |
| (solvers, linear algebra, 3D geometry) with different real-like |
| classes (high accuracy or automatic differentiation), spherical |
| coordinates with gradients and Hessians, reorganized clustering |
| package with different distance implementations. |
| |
| The minimum version of the Java platform required to compile and use |
| Commons Math is Java 5. |
| |
| Users are encouraged to upgrade to this version as this release not |
| only includes bug fixes but also deprecates numerous classes and |
| methods that will be deleted from the next major release (4.0). |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha |
| state (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901). |
| "> |
| <action dev="luc" type="fix" issue="MATH-961" > |
| Fixed wrong array dimensions in secondary equations handling in some cases. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-960" > |
| Fixed missing side effects of secondary equations on main state in |
| Ordinary Differential Equations integration. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-957" due-to="Evan Ward"> |
| Fixed inverse cumulative probability for uniform distribution. |
| </action> |
| <action dev="tn" type="add" issue="MATH-917,MATH-918,MATH-919,MATH-920" due-to="Reid Hochstedler"> |
| All contents of package "o.a.c.m.stat.clustering" refactored into |
| new package "o.a.c.m.ml.clustering" and added support for additional |
| distance measures in package "o.a.c.m.ml.distance": "CanberraDistance", |
| "ChebyshevDistance", "EuclideanDistance" and "ManhattanDistance". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-891"> |
| "SpearmansCorrelation" now works correctly in case of a provided |
| "NaturalRanking" with a "NaNStrategy.REMOVED" strategy and the input |
| data contains NaN values. From version 4.0 onwards this strategy will |
| not be supported anymore. |
| </action> |
| <action dev="erans" type="update" issue="MATH-956"> |
| Replaced hard-coded numbers in "LevenbergMarquardtOptimizer". |
| </action> |
| <action dev="luc" type="update" issue="MATH-955" due-to="Evan Ward"> |
| Fixed loading of test file when path contains a space. |
| </action> |
| <action dev="luc" type="update" issue="MATH-954" due-to="Charles Cooper"> |
| Improved speed of FastMath.abs methods for all signatures, by removing branching. |
| </action> |
| <action dev="luc" type="update" issue="MATH-953" due-to="Charles Cooper"> |
| Improved speed of several FastMath methods. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-934"> |
| Fixed Complex.reciprocal() for zero argument. |
| </action> |
| <action dev="luc" type="update" issue="MATH-951" due-to="Charles Cooper"> |
| Improved speed of FastMath copysign methods. |
| </action> |
| <action dev="erans" type="add" issue="MATH-817" due-to="Jared Becksfort"> |
| Added Multivariate Normal Mixture Model Fitting by Expectation Maximization. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-862"> |
| AbstractRealMatrix will now check for rectangular input arrays in |
| its copySubMatrix methods. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-949"> |
| Increment iteration counter in optimization algorithms. |
| </action> |
| <action dev="luc" type="add" issue="MATH-811" > |
| Added a way to trigger only increasing or decreasing events in ODE integration. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-950" > |
| Fixed missing update in ODE event handlers, when a RESET_STATE is triggered. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-671"> |
| Made EmpiricalDisribution smoothing kernel pluggable. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-946" due-to="Jared Becksfort"> |
| Added array-scaling methods to MathArrays. |
| </action> |
| <action dev="luc" type="update" issue="MATH-877" due-to="Peter Andrews"> |
| Allow direct use of SummaryStatistics in one-way ANOVA. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-947" > |
| Fixed infinite loop when NaN occurs in singular value decomposition. |
| </action> |
| <action dev="luc" type="add" issue="MATH-460" due-to="Andrew Waterman"> |
| Added the Lévy distribution. |
| </action> |
| <action dev="luc" type="update" > |
| Normal distribution now uses a direct implementation of the |
| inverse error function to compute inverse cumulative probability |
| instead of relying on a numerical solver. This is much faster, |
| more accurate and does not need convergence threshold. |
| </action> |
| <action dev="luc" type="add" issue="MATH-948" > |
| Implementations for inverse error function and inverse complementary |
| error functions have been added. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-580" > |
| Extended ranges for FastMath performance tests. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-925" > |
| Finalized implementation of diagonal matrix. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-630" due-to="Christopher Nix" > |
| Added rank revealing QR decomposition. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-570" due-to="Arne Plöse" > |
| ArrayFieldVector can now be constructed from any FieldVector. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-861" due-to="Sébastien Brisard" > |
| Improved checking of null vector elements. |
| </action> |
| <action dev="luc" type="add" issue="MATH-845" due-to="Sébastien Riou" > |
| Added utilities for prime numbers. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-936" > |
| Fixed generation of long random numbers between two bounds. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-942" due-to="Piotr Wydrych" > |
| Fixed creation of generic array. |
| </action> |
| <action dev="luc" type="add" issue="MATH-914" > |
| Check bounds in multi-start vector optimizers. |
| </action> |
| <action dev="luc" type="add" issue="MATH-941" due-to="Piotr Wydrych" > |
| Added discrete distributions. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-940" due-to="Piotr Wydrych" > |
| Fixed abstract test class naming that broke ant builds. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-939" due-to="Piotr Wydrych" > |
| Allow covariance to be computed for one-dimensional variables. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-938" > |
| Fixed accuracy of 3D Line.revert(). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-937" > |
| Improved javadoc to explain how switching functions should |
| behave across events in ODE events detection. |
| </action> |
| <action dev="luc" type="add" > |
| Added Hermite interpolator for RealFieldElement instances. |
| </action> |
| <action dev="luc" type="add" > |
| Added RealFieldElement interface to represent anything that is |
| real number like, implemented by both Decimal64, Dfp and DerivativeStructure. |
| </action> |
| <action dev="luc" type="add" > |
| Added partial derivatives computation for 3D vectors and rotations. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-935" > |
| Fixed DerivativeStructure.atan2 for special cases when both arguments are +/-0. |
| </action> |
| <action dev="luc" type="add" > |
| Added accurate linear combination of DerivativeStructure instances, |
| avoiding cancellation. |
| </action> |
| <action dev="erans" type="update" issue="MATH-933"> |
| Throw "MathUnsupportedOperationException" from optimizers that do |
| not support constraints (previous behaviour was to silently ignore |
| the "SimpleBounds" argument). |
| </action> |
| <action dev="luc" type="add" > |
| Added conversion of gradients and Hessians from spherical to Cartesian |
| coordinates in 3D. |
| </action> |
| <action dev="erans" type="update" issue="MATH-931" due-to="Sean Owen"> |
| Greater efficiency in "UnitSphereRandomVectorGenerator". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-930"> |
| Improved class javadoc wrt convergence criteria and added |
| additional constructors to override the default epsilon and cut-off |
| values in class "SimplexSolver". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-929" due-to="Piotr Wydrych"> |
| Fixed truncated value in "MultivariateNormalDistribution". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-927" due-to="Dennis Hendriks"> |
| Made "BitStreamGenerator" implement the "Serializable" interface. |
| </action> |
| </release> |
| |
| <release version="3.1.1" date="2013-01-14" description=" |
| This is a point release: It fixes a bug that renders version 3.1 unusable |
| in some situations (see details below). |
| "> |
| <action dev="erans" type="fix" issue="MATH-924"> |
| Added a (minimal) "DiagonalMatrix" implementation, such that the |
| case of a large number of uncorrelated observations is handled |
| efficiently. |
| </action> |
| </release> |
| |
| <release version="3.1" date="2012-12-23" description=" |
| This is a minor release: It combines bug fixes and new features. |
| Changes to existing features were made in a backwards-compatible |
| way such as to allow drop-in replacement of the v3.0 JAR file. |
| |
| Most notable among the new features are: Framework for automatic |
| differentiation, multivariate mixture model distribution, quaternions, |
| Gauss integration framework, Hermite polynomial interpolation, |
| eigenvalue decomposition of non-symmetric matrices, DBSCAN clustering. |
| Most notable among the changes are: Greatly improved precision in |
| the implementation of the Gamma and Beta special functions, optimizers |
| API, deprecation of the sparse vector implementation. |
| |
| 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 this release not |
| only includes bug fixes but also deprecates numerous classes and |
| methods that will be deleted from the next major release (4.0). |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha |
| state (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901). |
| "> |
| <action dev="erans" type="add" issue="MATH-874"> |
| All contents of package "o.a.c.m.optimization" refactored into |
| new packages "o.a.c.m.optimization" and "o.a.c.m.fitting". |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-672"> |
| Added methods to EmpiricalDistribution to implement the RealDistribution |
| interface. |
| </action> |
| <action dev="tn" type="add" issue="MATH-897" due-to="Reid Hochstedler"> |
| DBSCAN clustering algorithm (in package "o.a.c.m.stat.clustering"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-910"> |
| Added element-by-element addition, subtraction, multiplication and division |
| (in class "o.a.c.m.util.MathArrays"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-904" due-to="Jeff Hain"> |
| Fixed "pow" method in class "FastMath". |
| </action> |
| <action dev="erans" type="update" issue="MATH-902" due-to="Bruce A. Johnson"> |
| Created a "maximum number of iterations" stopping criterion in the |
| convergence checkers (package "o.a.c.m.optimization") that allows the |
| optimizers to return the "current best point" even if the convergence |
| criteria are not met. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-905" due-to="Jeff Hain"> |
| Fixed overflow in "sinh" and "cosh" methods in class "FastMath". |
| </action> |
| <action dev="celestin" type="update" issue="MATH-849"> |
| Accuracy improvements of Gamma.logGamma, and implementation of |
| Gamma.gamma. Both new implementations are based on the NSWC |
| Library of Mathematical Functions. |
| </action> |
| <action dev="erans" type="add" issue="MATH-902"> |
| New constructor in the custom checker classes (package |
| "o.a.c.m.optimization") for passing the number of iterations |
| after which the "convergence test" will return true. |
| This allows an algorithm to return the best solution found (after |
| the user-defined number of iterations) even if it does not meet the |
| other convergence criteria. |
| </action> |
| <action dev="tn" type="update" issue="MATH-906" due-to="Patrick Meyer"> |
| Use "NaNStrategy#FAILED" as default strategy in "NaturalRanking". |
| </action> |
| <action dev="erans" type="add" issue="MATH-899"> |
| Added a new "SynchronizedRandomGenerator" that wraps another |
| "RandomGenerator" with all methods being synchronized, thus |
| rendering the code thread-safe (at some efficiency cost). |
| </action> |
| <action dev="tn" type="add" issue="MATH-893" due-to="Patrick Meyer"> |
| Add new "NaNStrategy": FAILED, used in "RankingAlgorithm" implementations. |
| Any encountered input value that succeeds a "Double#isNaN" check, results in a |
| "NotANumberException". |
| </action> |
| <action dev="tn" type="add" issue="MATH-892"> |
| Add new constructor to "SpearmansCorrelation" class which allows to specify the |
| "RankingAlgorithm" to be used. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-890"> |
| Fixed naming inconsistencies between Interval and IntervalsSet classes. |
| </action> |
| <action dev="luc" type="add" issue="MATH-889"> |
| Added a method to check points in the Interval class, with a tolerance for boundary. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-878" due-to="Radoslav Tsvetkov"> |
| Added G-test statistics. |
| </action> |
| <action dev="erans" type="add" issue="MATH-883"> |
| New "getSquareRoot" method in class "EigenDecomposition" (package |
| "o.a.c.m.linear"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-884"> |
| Added "isSymmetric" and "checkSymmetric" in "MatrixUtils" (package |
| "o.a.c.m.linear"). |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-885"> |
| Moved private array argument validation methods from ChiSquareTest to MathArrays. |
| </action> |
| <action dev="erans" type="add" issue="MATH-816" due-to="Jared Becksfort"> |
| New class for generic multivariate mixture model distributions. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-759" due-to="sebb"> |
| Use getter/setter methods of super class for access to field "windowSize" in |
| "ListUnivariateImpl". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-880"> |
| Improved construction of polygons with an additional constructor, more robust numerically. |
| </action> |
| <action dev="tn" type="add" issue="MATH-474" due-to="Dan Checkoway"> |
| Added new methods "merge(Frequency)", "merge(Collection<Frequency>)", |
| "incrementValue(Comparable<?>, long)" and "entrySetIterator()" to the "Frequency" class. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-778" due-to="Sébastien Brisard"> |
| Allow unlimited input values for "Dfp#multiply(int)". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-641" due-to="Curtis Jensen"> |
| Added distance to point to 2D Line and Segment. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-783"> |
| "PowellOptimizer" (package "o.a.c.m.optimization.direct") uses |
| "BrentOptimizer" as its internal line search optimizer. The fix |
| forces the convergence criterion of "BrentOptimizer" to use |
| function values (instead of domain values). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-865,MATH-867,MATH-868" due-to="Nikolaus Hansen, Frank Hess"> |
| Numerical accuracy problems arose in "CMAESOptimizer" (in package |
| "o.a.c.m.optimization.direct") when large finite boundaries were |
| specified, because the interval of allowed values was mapped to |
| [0, 1]. This mapping was not necessary and its removal allows |
| finite and infinite boundaries to be used together. |
| </action> |
| <action dev="luc" type="fix" > |
| Fixed some issues in nth root derivatives at 0. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-848"> |
| Fixed transformation to a Schur matrix for certain input matrices. |
| </action> |
| <action dev="erans" type="add" issue="MATH-860"> |
| Added matrix "block inversion" (in "o.a.c.m.linear.MatrixUtils"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-864" due-to="Frank Hess"> |
| "CMAESOptimizer": Solution was not constrained to lie within the |
| provided boundaries. |
| </action> |
| <action dev="erans" type="add" issue="MATH-863" due-to="Julien Anxionnat"> |
| New "Quaternion" class (package "o.a.c.m.complex"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-866" due-to="Yannick Tanguy"> |
| Added method to test for floating-point numbers equality with a |
| relative tolerance (class "o.a.c.m.util.Precision"). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-666"> |
| Deprecated "FieldVector#getData()" in favor of "toArray()". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-789"> |
| Fixed an error in rectangular Cholesky decomposition. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-859"> |
| Clarified definition of isSupportXxxBoundInclusive in RealDistribution |
| interface, made code consistent with the definition, and deprecated |
| these methods, marking for removal in 4.0. |
| </action> |
| <action dev="erans" type="update" issue="MATH-841" due-to="Sebastien Riou"> |
| Performance improvement in computation of the greatest common divisor |
| (in class "o.a.c.m.util.ArithmeticUtils"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-855"> |
| Added a check so that the returned point will always be the best one. |
| </action> |
| <action dev="luc" type="add" > |
| Added a NewtonRaphsonSolver that uses the new differentiation package |
| to define the function to solve. This class is intended to replace the |
| former NewtonSolver which is deprecated. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-850"> |
| Added RandomDataGenerator to replace RandomDataImpl and deprecated |
| RandomData interface and RandomDataImpl class. Deprecated |
| nextInversionDeviate methods from RandomDataImpl class. Ensured that |
| all nextXxx methods in RandomDataImpl/RandomDataGenerator use the |
| configured RandomGenerator. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-844"> |
| Generate an exception for rare ill-conditioned cases in "HarmonicFitter" |
| guessing procedure (package "o.a.c.m.optimization.fitting"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-815" due-to="Jared Becksfort"> |
| New interface for multivariate distributions. |
| Added multivariate normal distribution. |
| </action> |
| <action dev="luc" type="add" > |
| Added a utility method to compute Stirling numbers of the second kind. |
| </action> |
| <action dev="luc" type="add" > |
| Added a new package dealing with differentials, for one or more free |
| parameters and derivation order 1 or higher. |
| </action> |
| <action dev="tn" type="add" issue="MATH-777" due-to="Reid Hochstedler"> |
| Added additional crossover policies: "CycleCrossover", "NPointCrossover", |
| "OrderedCrossover" and "UniformCrossover". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-828"> |
| Improved numerical stability of "SimplexSolver" by introducing Bland's rule |
| to prevent cycling and a cutoff threshold to zero out very small values. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-836" due-to="Baste Nesse Buanes"> |
| Fixed overflow detection for negative values in constructor of class "Fraction". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-835" due-to="Baste Nesse Buanes"> |
| Fixed overflow in method "percentageValue" in class "Fraction". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-622"> |
| Raised (to 10) the default number of fractional digits to print out. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-762"> |
| Removed duplicate code. |
| </action> |
| <action dev="tn" type="add" issue="MATH-831"> |
| Added a new "RealMatrixFormat" class for input/output of RealMatrix instances. |
| Default formatter instances for commons-math and octave have been added to |
| "MatrixUtils". |
| </action> |
| <action dev="erans" type="add" issue="MATH-827"> |
| New "IterativeLegendreGaussIntegrator" that performs the same automatic |
| subdivision of the integration interval as "LegendreGaussIntegrator", |
| but uses the classes from package "o.a.c.m.analysis.integration.gauss" |
| to perform the Gauss integration on the sub-interval. |
| Deprecated "LegendreGaussIntegrator". |
| </action> |
| <action dev="tn" type="fix" issue="MATH-578"> |
| Improve performance of quantile evaluation in "Percentile" class for cases |
| with lots of equal values. |
| </action> |
| <action dev="erans" type="add" issue="MATH-797"> |
| New framework for Gauss integration schemes (in package |
| "o.a.c.m.analysis.integration.gauss"). |
| Gauss-Legendre quadrature rules (of unlimited order) implemented in |
| double precision, and high precision (using "BigDecimal"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-764,MATH-823"> |
| For all distribution classes (in package "o.a.c.m.distribution"), a new |
| constructor takes a "RandomGenerator" parameter. |
| The "RandomDataImpl" instance has been superseded by this RNG. |
| All "sample()" methods have been modified to use this RNG instead of |
| delegating to the methods in "RandomData". |
| </action> |
| <action dev="tn" type="add" issue="MATH-235"> |
| Added support for real asymmetric matrices to "EigenDecomposition". |
| </action> |
| <action dev="erans" type="add" issue="MATH-768"> |
| Re-instated methods to find all complex roots of a polynomial (class |
| "LaguerreSolver" in package "o.a.c.m.analysis.solvers"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-810"> |
| Added accessors to the "Pair" class (package "o.a.c.m.util"). |
| </action> |
| <action dev="tn" type="add" issue="MATH-822" due-to="Jared Becksfort"> |
| Added new constructors in "EigenDecomposition" and deprecated two constructors |
| with unused parameters. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-798"> |
| Added overridden method in "PolynomialFitter" (package |
| "o.a.c.m.optimization.fitting") to limit the number of evaluations. |
| </action> |
| <action dev="celestin" type="add" issue="MATH-807"> |
| Added a new constructor to o.a.c.m.utils.IterationManager, allowing |
| for the specification of a callback function in case the maximum |
| number of iteration is reached. |
| </action> |
| <action dev="luc" type="add"> |
| A new HermiteInterpolator class allows interpolation of vector-valued |
| functions using both values and derivatives of the function at sample |
| points. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-804"> |
| Parameterized "CurveFitter" class (package "o.a.c.m.optimization.fitting") |
| with the type of the fitting function. Updated subclasses "PolynomialFitter", |
| "HarmonicFitter", "GaussianFitter". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-801"> |
| Fixed a problem when building rotations from two pairs of vectors. In very rare cases, |
| due to numerical inaccuracies the computed quaternion was not normalized (some examples |
| went as high as 1.0e8) and even after normalization, the quaternion was plain wrong. |
| </action> |
| <action dev="celestin" type="remove" issue="MATH-796"> |
| Removed unused fields LocalizedFormats.ALPHA and LocalizedFormats.BETA. This is |
| an acceptable compatibility break, as these fields are only meant for internal use. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-644" due-to="marzieh"> |
| Fix computation of upperCumulativeProbability in "HypergeometricDistribution" and |
| cleanup of duplicate probability mass function. |
| </action> |
| <action dev="celestin" type="fix" issue="MATH-791"> |
| In GammaDistribution, deprecated getAlpha() and getBeta(). Replaced with |
| getShape() and getScale(), respectively. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-793" due-to="Sebb"> |
| Use inline computation for OrderedTuple hash code. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-718" > |
| Use modified Lentz-Thompson algorithm for continued fraction evaluation to avoid |
| underflows. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-780" > |
| Fixed a wrong assumption on BSP tree attributes when boundary collapses to a too |
| small polygon at a non-leaf node. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-787" > |
| Put serialization back for PointValuePair and PointVectorValuePair. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-627" due-to="Arne Plöse"> |
| Avoid superfluous null check when using iterators in RealVector and ArrayRealVector. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-781" due-to="Scheiber Ernő"> |
| Use epsilon instead of ulp in floating-point comparison when dropping columns after |
| phase 1 in SimplexSolver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-721"> |
| Added a workaround for an OpenJDK issue on sparc solaris with too small constants. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-779" due-to="Reid Hochstedler"> |
| Fixed ListPopulation#iterator to return an unmodifiable iterator. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-775" due-to="Reid Hochstedler"> |
| Cleanup of ListPopulation to consistently enforce the population limit. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-776" due-to="Reid Hochstedler"> |
| Use same range check in constructor for ElitisticListPopulation as in corresponding setter. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-767" due-to="Dennis Hendriks"> |
| Fixed unbalanced use of code tags in javadoc of several classes. |
| </action> |
| <action dev="tn" type="add" issue="MATH-773" due-to="Reid Hochstedler"> |
| Added class FixedElapsedTime (new StoppingCondition for evolution of generations) to genetics package. |
| </action> |
| <action dev="celestin" type="add" issue="MATH-756"> |
| Added classes Decimal64 and Decimal64Field, which are wrapper classes around primitive doubles. |
| These classes implement FieldElement and Field, respectively. |
| </action> |
| </release> |
| <release version="3.0" date="2012-03-07" description=" |
| This is a major release: It combines bug fixes, new features and |
| changes to existing features. |
| |
| Most notable among the new features are: Iterative solvers, Kalman filter, |
| ISAAC RNG, Illinois and Pegasus root finders, enhanced ODE framework, |
| refactored geometry package, Binary Space Partition trees. |
| |
| Most notable among the changes are: Exclusive use of unchecked exceptions, |
| removal of interfaces for which a single implementation is assumed to exist, |
| improved coding and API consistency across packages, performance (matrix |
| product, FFT) and robustness (SVD). |
| |
| Because of the base package name change, this release can be used together |
| with earlier versions of Commons Math. |
| 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 2.0-2 should recompile their code against the 3.0 JAR |
| file and must adjust the import statements to use the appropriate |
| org.apache.commons.math3 base package. |
| Most of the compilation errors users will encounter after the switch will |
| be due to moved or deleted classes/interfaces resulting from package |
| reorganization. |
| |
| Caveat: |
| 1. The implementation of the BOBYQA optimization algorithm is in alpha state |
| (cf. MATH-621): Many code paths are untested, and we are looking |
| for volunteers to improve the code readability, robustness and performance |
| and to extend the unit tests suite. |
| 2. A few methods in the FastMath class are in fact slower that their |
| counterpart in either Math or StrictMath (cf. MATH-740). |
| "> |
| <action dev="mikl" type="add" issue="MATH-431"> |
| Added statistical hypothesis tests "MannWhitneyUTest" and |
| "WilcoxonSignedRankTest". |
| </action> |
| <action dev="erans" type="update" issue="MATH-698"> |
| Classes "CMAESOptimizer" and "BOBYQAOptimizer" inherit from |
| "BaseAbstractMultivariateSimpleBoundsOptimizer" (in package |
| "o.a.c.m.optimization.direct"). |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-650" > |
| Added pre-computed arrays to speed up initial loading time for FastMath. |
| </action> |
| <action dev="luc" type="update"> |
| Resources for error messages translations have been moved out of META-INF |
| folder in the jar, to avoid interferences with some build systems. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-744" due-to="Thundre"> |
| Fixed "doubleValue" and "floatValue" method in "BigFraction" when |
| numerator and denominator are larger than the range of the |
| corresponding primitive type. |
| </action> |
| <action dev="erans" type="update" issue="MATH-488"> |
| Removed "MathException" (from package "o.a.c.math"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-459"> |
| Removed "MathRuntimeException" (from package "o.a.c.math"). |
| </action> |
| <action dev="tn" type="fix" issue="MATH-739"> |
| Merged interface and implementation of statistical tests in |
| o.a.c.m.stat.inference package. |
| </action> |
| <action dev="tn" type="update" issue="MATH-670"> |
| Merged interface and implementation of EmpiricalDistribution. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-588"> |
| Relaxed test for equality in UnivariateStatisticAbstractTest. |
| </action> |
| <action dev="tn" type="update" issue="MATH-575"> |
| Modified the genetics package to use localized exception messages. |
| </action> |
| <action dev="tn" type="fix" issue="MATH-652" due-to="Greg Sterijevski"> |
| Fixed a faulty test for zero in TridiagonalTransformer. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-664"> |
| Changed algorithm in computation of the covariance matrix in |
| "AbstractLeastSquares" (package "optimization.general"), from |
| "LUDecomposition" to "QRDecomposition". |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-724" due-to="Dennis Hendriks"> |
| Fixed rounding error in RandomDataImpl nextInt, nextLong methods causing lower |
| endpoints to be excluded when negative. Also improved robustness of nextUniform |
| for extreme values and changed its contract to throw IAE when provided bounds |
| are infinite or NaN. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-728" due-to="Bruce A. Johnson"> |
| Fixed "offset by one" bug in "BOBYQAOptimizer". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-727"> |
| Check first step size in embedded Runge-Kutta integrators, and truncate it if needed. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-723"> |
| Modified setSeed methods in Bitstream generators (MersenneTwister and Well |
| generators) to clear the cache of normal deviates used by nextGaussian. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-716"> |
| Fixed bracketing interval balancing in BracketingNthOrderBrentSolver. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-690"> |
| Removed unused or duplicate utility methods from "MathUtils". |
| Math functions with "double" arguments were moved to class "FastMath". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-689"> |
| Broke up bloated "MathUtils" class into "MathArrays", "Precision", |
| "ArithmeticUtils" classes. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-704" due-to="Thomas Neidhart"> |
| Fixed array indexing error in Variance evaluate method for |
| computing the weighted variance of an array segment. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-713" due-to="Thomas Neidhart"> |
| Fixed case of unconstrained variables that still occur in the objective function |
| in simplex solver. |
| </action> |
| <action dev="luc" type="add" issue="MATH-710" due-to="Eldar Agalarov"> |
| The fast cryptographically secure pseudorandom number generator ISAAC has been added. |
| </action> |
| <action dev="luc" type="add" issue="MATH-714"> |
| The reset method in StepHandler interface has been renamed init and is provided |
| more information on the integration by the calling integrator. A similar init method |
| has been added to the EventHandler interface. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-705"> |
| Improved accuracy of Runge-Kutta based step interpolators near step start. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-691"> |
| Fixed errors in SummaryStatistics addValue causing variance, mean, or |
| geometric mean statistics not to be updated if they have been overridden |
| using instances of commons-math supplied implementations. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-694"> |
| Removed First, Third, Fourth moments from the public API. |
| These internally used statistics have non-standard definitions. |
| The classes remain, but now have package scope. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-693"> |
| Added support for population variance in StatUtils, SummaryStatistics |
| and DescriptiveStatistics and clarified javadoc to make it clear that |
| 'variance' means sample variance. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-709"> |
| Fixed BigFraction percentage method which did not work at all. |
| </action> |
| <action dev="erans" type="update" issue="MATH-697"> |
| Added interface and abstract class for supporting optimizers classes |
| that can take simple constraints into account. |
| </action> |
| <action dev="luc" type="fix" due-to="MATH-706" > |
| Fixed a bad interaction between step handlers and event handlers in |
| ODE integrators. |
| </action> |
| <action dev="luc" type="add" due-to="Jan Kotek" > |
| Added array constructor and getter for Vector2D and Vector3D. |
| </action> |
| <action dev="luc" type="add" due-to="Jan Kotek" > |
| Added applyTo and applyInverseTo methods in the Rotation class that |
| handle directly arrays instead of Vector3D instances. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-196" > |
| Added adapters for simple bound constraints optimization that can be |
| used for all direct optimization methods, including the ones that do not |
| support constraints by themselves. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-702" > |
| CMA-ES optimizer input sigma is now consistent with boundaries range units. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-462" due-to="Pavel Ryzhof"> |
| Added stable random generator based on Chambers-Mallows-Stuck method. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-701"> |
| Changed the default seed used for RandomDataImpl, AbstractWell and MersenneTwister |
| PRNGs to add the system identity hash code of the instance to the current system |
| time, so generators initialized with default seeds within system clock resolution |
| will generate different sequences. Changed the default non-secure generator used |
| by RandomDataImpl to Well19937c. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-695"> |
| Fixed an event resetting issue in ODE. |
| </action> |
| <action dev="erans" type="update" issue="MATH-696"> |
| Default implementation for "addToEntry" and "multiplyEntry" in |
| "AbstractRealMatrix". |
| </action> |
| <action dev="erans" type="add" issue="MATH-685"> |
| Method "addToEntry" in "RealVector". |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-612" due-to="Christopher Nix"> |
| Replaced temporary matrices and entry mutators with double[][] arrays to speed computation |
| in loops within QRDecomposition, Bi- and TriDiagonalTransformer implementations. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-679" due-to="Christopher Berner"> |
| Fixed an integer overflow in OpenMapRealMatrix. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-688"> |
| "FastMath": Use constant fields instead of recomputing them at method |
| call. |
| </action> |
| <action dev="luc" type="add" issue="MATH-687" due-to="Romain di Costanzo"> |
| Added Jacobi polynomials. |
| </action> |
| <action dev="erans" type="add" issue="MATH-683" due-to="Romain di Costanzo"> |
| Added "shift" method to compute the coefficients of a new polynomial |
| whose values are the same as those of another polynomial but computed |
| at a shifted point. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-676"> |
| Faster "multiply" method in "Array2DRowRealMatrix". Code inspired |
| from the Jama project. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-445" > |
| Replaced package.html with package-info.java for package documentation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-284" due-to="Klaus Hartlage"> |
| Added a getRuntimeClass method to the Field interface allowing to use a |
| complete hierarchy of fields sharing a common interface. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-457" > |
| The last remaining uses of OptimizationException have been replaced by unchecked |
| exceptions (UnboundSolutionException, NoFeasibleSolutionException, |
| MaxCountExceededException ...) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-487" > |
| The checked ConvergenceException has been replaced by an unchecked ConvergenceException. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-381" due-to="Pascal Parraud"> |
| ODE step interpolation with Jacobians is now fully merged with |
| classical step interpolation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-380" due-to="Pascal Parraud"> |
| Completely revamped the computation of Jacobians in ODE. This computation is now |
| included in the mainstream class hierarchy, not in a separate package anymore, |
| and it allows adding other types of equations to a main ODE, not only variational |
| equations for Jacobians computation. |
| </action> |
| <action dev="gregs" type="update" issue="MATH-607"> |
| SimpleRegression implements UpdatingMultipleLinearRegression interface. |
| </action> |
| <action dev="gregs" type="update" issue="MATH-675"> |
| Added isMonotone methods in MathUtils. Optimized checkOrder method. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-664"> |
| In class "AbstractLeastSquaresOptimizer": Allow to specify a singularity |
| threshold in call to "getCovariances" method. |
| </action> |
| <action dev="gregs" type="update" issue="MATH-649"> |
| Added the ability to suppress the estimation of the intercept in SimpleRegression. |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-658" due-to="Yannick TANGUY"> |
| Dead code in FastMath.pow(double, double) and some improvement in test coverage. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-663"> |
| Removed "getData()" method from "RealVector" as it was redundant with |
| "toArray()". |
| </action> |
| <action dev="luc" type="update" issue="MATH-195" > |
| Removed completely MathUserException. |
| </action> |
| <action dev="luc" type="update" issue="MATH-488" > |
| Use the refactored exceptions framework for ODE. |
| </action> |
| <action dev="luc" type="add" > |
| Added a getter to allow retrieving the exception related to an exception context |
| provider. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-364" due-to="Christian Winter"> |
| Added erf(double,double) to Erf and used this to improve tail probability |
| accuracy in NormalDistributionImpl. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-654"> |
| Enabled reseeding of the random generators used by EmpiricalDistributionImpl |
| and ValueServer. Modified ValueServer to pass its RandomData instance to |
| the EmpiricalDistributionImpl that it creates when used in DIGEST_MODE, so |
| reseeding ValueServer works as expected. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-653"> |
| Renamed "AbstractRealVector" to "RealVector". The interface was removed |
| in favour of its unique (abstract) implementation. Also removed several |
| methods with double[] arguments from AbstractRealVector. |
| </action> |
| <action dev="erans" type="add" issue="MATH-646" due-to="Sébastien Brisard"> |
| Unmodifiable view of a "RealVector". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-501" > |
| Refactored integration API for consistency with solvers API. Now the main convergence |
| parameters are set in the constructor and remain fixed. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-464" > |
| Added a maximal number of function evaluations to the integration method, similar |
| to what is done in the solvers API. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-449" due-to="Patrick Meyer"> |
| Added storeless covariance implementation. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-648"> |
| Eliminated extraneous constructor from SimpleRegression. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-506"> |
| Eliminated pluggability of ChiSquaredDistribution used by ChiSquaredDistributionTest. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-634"> |
| Made RandomGenerator configurable and reseedable in EmpiricalDistributionImpl. |
| </action> |
| <action dev="luc" type="add" issue="MATH-593"> |
| Added a 3D SubLine class. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-645"> |
| Fixed exceptions generated by "ebeMultiply" and "ebeDivide" in "OpenMapRealVector". |
| </action> |
| <action dev="erans" type="add" issue="MATH-602" due-to="Greg Serijevski"> |
| In "SingularValueDecompositionImpl", added accessor for the inverse of the condition number. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-601" due-to="Chris Nix and Greg Serijevski"> |
| Made pseudo-inverse consistent with rank computation in SingularValueDecompositionImpl. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-624" due-to="Greg Sterijevski"> |
| Added methods to solve upper and lower triangular systems to MatrixUtils. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-642"> |
| Improved performance of nextInt(int) in BitsStreamGenerator. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-639" > |
| Fixed a wrong detection of rotation axis versus vectors plane in Rotation constructor |
| using two vectors pairs. |
| </action> |
| <action dev="luc" type="add" > |
| Added a few linearCombination utility methods in MathUtils to compute accurately |
| linear combinations a1.b1 + a2.b2 + ... + an.bn taking great care to compensate |
| for cancellation effects. This both improves and simplify several methods in |
| euclidean geometry classes, including linear constructors, dot product and cross |
| product. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-640"> |
| Fixed bugs in AbstractRandomGenerator nextInt() and nextLong() default |
| implementations. Prior to the fix for this issue, these methods |
| generated only positive values. |
| </action> |
| <action dev="erans" type="add" issue="MATH-637"> |
| Simple benchmark utility (new class "PerfTestUtils" added to test sources in src/test). |
| </action> |
| <action dev="luc" type="add" issue="MATH-636" > |
| Added a solver for Dfp-based (i.e. high accuracy) functions. |
| </action> |
| <action dev="luc" type="add" issue="MATH-635" > |
| Added a Brent-like solver that has higher (user specified) order and does |
| bracket selection on the result: BracketingNthOrderBrentSolver. |
| </action> |
| <action dev="luc" type="add" > |
| Added a few shortcut methods and predicates to Dfp (abs, isZero, |
| negativeOrNull, strictlyNegative, positiveOrNull, strictlyPositive). |
| </action> |
| <action dev="erans" type="add" issue="MATH-633" due-to="Sébastien Brisard"> |
| "AbstractRealMatrix" inherits from "RealLinearOperator". |
| </action> |
| <action dev="erans" type="add" issue="MATH-613" due-to="Sébastien Brisard"> |
| Linear combination of vectors: "RealVector" interface updated, implemented |
| in "AbstractRealVector" and "ArrayRealVector". |
| </action> |
| <action dev="erans" type="update" issue="MATH-623" due-to="Arne Plöse"> |
| Slightly more efficient implementation of basic operations in |
| "ArrayRealVector". |
| </action> |
| <action dev="erans" type="add" issue="MATH-577" due-to="Arne Plöse"> |
| Overloaded methods (add, subtract, multiply, divide) to take a "double" parameter |
| (as a complex number with zero imaginary part). |
| Code and Javadoc cleanup. |
| Added "valueOf" methods. |
| </action> |
| <action dev="mikl" type="fix" issue="MATH-585"> |
| Implemented faster generation of random gamma distributed values with |
| algorithm from Ahrens and Dieter (1972) for shape < 1 and |
| Marsaglia and Tsang (2001) otherwise. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-605" due-to="Dennis Hendriks"> |
| Allow discrete events to be detected by ODE solvers also at step start. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-327,MATH-383,MATH-465,MATH-583,MATH-611" due-to="Christopher Nix"> |
| Rewritten SVD decomposition based on JAMA code. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-618" due-to="Arne Plose"> |
| Complex add javadoc says that if either addend has NaN parts, the result |
| should be Complex.NaN. Prior to the fix for this issue, NaNs were propagated |
| only in real and imaginary parts individually. |
| </action> |
| <action dev="erans" type="add" issue="MATH-581" due-to="Sébastien Brisard"> |
| Framework for iterative linear solvers. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-609" due-to="Dave Brosius"> |
| Improved efficiency in RandomDataImpl, LaguerreSolver, FastMath and OutlineExtractor by |
| moving conditional code into blocks where it is needed. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-603" due-to="Dennis Hendriks"> |
| Prevent step normalizer to output twice the last point in MULTIPLES mode. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-596,MATH-604"> |
| Removed the requiresDenseOutput method from the StepHandler interface. Now integrators always |
| consider dense output is required and set up the appropriate state interpolators, so step |
| handlers can rely on them. |
| </action> |
| <action dev="erans" type="add" issue="MATH-599" due-to="Dennis Hendriks"> |
| Modified "SecantSolver" to comply with the original algorithm. Added several |
| secant-based solvers. Added a way to select the side of the root with bracketing |
| solvers. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-600"> |
| Fixed javadoc for ODEIntegrator interface |
| </action> |
| <action dev="luc" type="fix" issue="MATH-595" due-to="Dennis Hendriks" > |
| Extended StepNormalizer with normalization mode and bounds settings. |
| </action> |
| <action dev="mikl" type="fix" issue="MATH-597"> |
| Implemented faster generation of random exponential distributed values with |
| algorithm from Ahrens and Dieter (1972): Computer methods for sampling |
| from the exponential and normal distributions. |
| </action> |
| <action dev="luc" type="add" issue="MATH-548"> |
| K-means++ clustering can now run multiple trials |
| </action> |
| <action dev="luc" type="add" issue="MATH-591"> |
| Added a way to compute sub-lines intersections, considering sub-lines either |
| as open sets or closed sets |
| </action> |
| <action dev="luc" type="add" issue="MATH-592"> |
| Added a way to build a sub-line from its endpoints, and to retrieve the endpoints |
| from a sub-line |
| </action> |
| <action dev="luc" type="fix" issue="MATH-594" due-to="Dennis Hendriks"> |
| Javadoc fixes in ODE. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-586" due-to="Dennis Hendriks"> |
| Added a way to specify a custom root solver to find events in ODE integration. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-540"> |
| Fixed error in javadoc describing Integer distribution inverse cumulative |
| probability API. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-582" due-to="Christopher Nix"> |
| Fixed error in javadoc describing the behavior of the Percentile algorithm for |
| small percentiles in small datasets. |
| </action> |
| <action dev="erans" type="add" issue="MATH-485" due-to="Thomas Neidhart"> |
| New "filter" package. Initial implementation of Kalman filter. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-584" due-to="Randall Scarberry"> |
| Improved k-means++ clustering performances and initial cluster center choice. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-504" due-to="X. B."> |
| Fixed tricube function implementation in Loess interpolator. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-568" due-to="Christoph M. Friedrich"> |
| Fixed documentation of statistics examples. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-507" due-to="Ole Ersoy"> |
| Improved documentation of general optimization with a thorough example. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-403"> |
| Replaced NullPointerException by NullArgumentException. |
| </action> |
| <action dev="luc" type="add"> |
| Added a consistent classes hierarchy for Euclidean spaces in dimension 1, 2 and 3. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-579"> |
| Improved javadoc for FastMath explaining the overhead at class loading and |
| the targeted use cases. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-574"> |
| Allow outer product of vectors of different sizes. |
| </action> |
| <action dev="luc" type="add" issue="MATH-576"> |
| A complete generic implementation of Binary Space Partitioning Trees (BSP trees) |
| has been added. A few specializations of this implementation are also provided |
| for 1D, 2D and 3D Euclidean geometry. This allows support for arbitrary |
| intervals sets (1D), polygons sets (2D) and polyhedrons sets (3D) with all |
| sets operations (union, intersection, symmetric difference, difference, complement), |
| with predicates (point inside/outside/on boundary, emptiness, other region contained), |
| with geometrical computation (barycenter, size, boundary size) and with conversions |
| from and to boundary representation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-573"> |
| Avoid some array copying in add and subtract ArrayFieldVector. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-572"> |
| Fixed an unused constructor parameter in ArrayFieldVector. |
| </action> |
| <action dev="erans" type="add" issue="MATH-566"> |
| Created an "ExceptionContext" class: It provides the customization feature of |
| "MathRuntimeException" without imposing a singly rooted hierarchy of the Comons |
| Math exceptions. |
| Thus, those exceptions now inherit from their Java standard counterparts (e.g. |
| "MathIllegalArgumentException" inherits from "IllegalArgumentException"). |
| </action> |
| <action dev="luc" type="add" issue="MATH-567" due-to="Michel"> |
| Fixed conversion problems to/from 0 in Decimal Floating Point (Dfp) class. |
| </action> |
| <action dev="luc" type="fix" > |
| Fixed initialization of multistep ODE integrators. Relying on the interpolation model |
| of the starter integrator inside only one step was wrong. The model may have a too |
| low order to compute high degrees derivatives in the Nordsieck vector. Now we use several |
| steps and use only grid points instead of interpolated points. |
| </action> |
| <action dev="luc" type="add" issue="MATH-564"> |
| Added solve methods using double[][] to linear algebra decomposition solvers. |
| </action> |
| <action dev="erans" type="add" issue="MATH-562"> |
| Added an interpolator adapter for data with known period. |
| </action> |
| <action dev="luc" type="add" issue="MATH-541" > |
| Added a "rectangular" Cholesky decomposition for positive semidefinite matrices. |
| </action> |
| <action dev="luc" type="add" issue="MATH-563" > |
| Added setters allowing to change the step size control parameters of adaptive |
| step size ODE integrators. |
| </action> |
| <action dev="luc" type="add" issue="MATH-557" > |
| Added a compareTo method to MathUtils that uses a number of ulps as a |
| tolerance error, and works well on all numbers, including normals, subnormals, |
| signed zeroes, infinities and NaNs. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-434" due-to="Thomas Neidhart"> |
| Fixed two errors in simplex solver when entries are close together or |
| when variables are not restricted to non-negative. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-547" due-to="Thomas Neidhart"> |
| Improved robustness of k-means++ algorithm, by tracking changes in points assignments |
| to clusters. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-555"> |
| Changed MathUtils.round(double,int,int) to propagate rather than |
| wrap runtime exceptions. Instead of MathRuntimeException, this method |
| now throws IllegalArgumentException or ArithmeticException under |
| the conditions specified in the javadoc. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-554" > |
| Reduced cancellation errors in Vector3D.crossProduct |
| </action> |
| <action dev="erans" type="fix" issue="MATH-552" due-to="James Bence"> |
| Fixed bug in "MultidimensionalCounter". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-423" due-to="Gilles Sadowski" > |
| All unit tests have been converted to Junit 4. They need at least Junit 4.5 to run |
| (the ant and maven build systems are currently set to use Junit 4.8.2) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-500" due-to="Gilles Sadowski" > |
| Removed the ConvergingAlgorithm interface and ConvergingAlgorithmImpl class |
| </action> |
| <action dev="luc" type="add" issue="MATH-436" due-to="Thomas Neidhart"> |
| Added a consistency check for number of points with respect to the number |
| of clusters in Kmeans++ clustering |
| </action> |
| <action dev="mikl" type="add" issue="MATH-437"> |
| Added two sided Kolmogorov-Smirnov distribution using modified |
| Marsaglia et al. (2003) implementation and quick decisions for certain |
| parameter areas according to Simard et al. (2011). |
| </action> |
| <action dev="mikl" type="add" issue="MATH-435"> |
| Added "power" method in "RealMatrix" and "FieldMatrix<T>" |
| interfaces and their default implementations in "AbstractRealMatrix" |
| and "AbstractFieldMatrix". |
| </action> |
| <action dev="erans" type="update" issue="MATH-545"> |
| Added "cosine" method in "RealVector" interface and default implementation |
| in "AbstractRealVector". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-546" due-to="Nate Paymer"> |
| Fixed bug in "KMeansPlusPlusClusterer". |
| </action> |
| <action dev="erans" type="update" issue="MATH-542"> |
| All exceptions defined in Commons Math provide a context and a compound |
| message list. |
| </action> |
| <action dev="erans" type="update" issue="MATH-534"> |
| Refactored "PolynomialFitter" (in package "optimization.fitting"). |
| Added parametric function in "PolynomialFunction" (in package |
| "analysis.polynomials"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-518"> |
| Removed "HarmonicFunction" (in package "optimization.fitting"); |
| superseded by class "HarmonicOscillator" (in package "analysis.function"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-517"> |
| Refactored "HarmonicFitter" (in package "optimization.fitting"). |
| "HarmonicCoefficientsGuesser" removed. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-516"> |
| Removed "GaussianFunction" and "GaussianDerivativeFunction" (in package |
| "optimization.fitting"); functionality moved to class "Gaussian" (in |
| package "analysis.function"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-514"> |
| Removed "ParametricGaussianFunction" (in package "optimization.fitting"); |
| functionality moved to class "Gaussian" (in package "analysis.function"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-512" due-to="Ole Ersoy"> |
| Refactored "GaussianFitter" (in package "optimization.fitting"). |
| The class now really fits a Gaussian function (whereas previously it was |
| fitting the sum of a constant and a Gaussian). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-442" due-to="Dietmar Wolz"> |
| Implementation of the CMA-ES optimization algorithm. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-513"> |
| The interface "ParametricRealFunction" (in package "optimization.fitting") has |
| been renamed to "ParametricUnivariateRealFunction" and moved to package "analysis". |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-505"> |
| TestUtils is thread-hostile. Remove getters and setters, and make static variables final. |
| </action> |
| <action dev="sebb" type="update" issue="MATH-496"> |
| Create FastMath copySign methods |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-494"> |
| FastMath atan2 does not agree with StrictMath for special cases |
| </action> |
| <action dev="erans" type="fix" issue="MATH-492"> |
| Removed checked "MaxIterationsExceededException" (superseded by |
| "MaxCountExceededException" from package "exception"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-491"> |
| Removed checked "DimensionMismatchException". Replaced all occurrences by its |
| equivalent from package "exception". |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-489"> |
| FastMath acos fails when input abs value is less than about 5.7851920321187236E-300 - returns NaN |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-486"> |
| FastMath toRadian and toDegree don't handle large double numbers well |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-483"> |
| FastMath does not handle all special cases correctly |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-480"> |
| Fix ulp(Infinity) to return Infinity rather than NaN |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-479"> |
| FastMath.signum(-0.0) does not agree with Math.signum(-0.0) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-478"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) Add signum(float), ulp(float) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-482"> |
| FastMath.max(50.0f, -50.0f) => -50.0f; should be +50.0f |
| Fixed FastMath.max(float, float) so it returns correct value. |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-471"> |
| MATH-491 MathUtils.equals(double, double) does not work properly for floats |
| - add equivalent (float, float) methods and basic tests |
| </action> |
| <action dev="erans" type="fix" issue="MATH-458"> |
| Removed "MathException" from the "throws" clause of the "interpolate" method |
| of the interpolators interfaces (package "analysis.interpolation"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-461"> |
| In order to comply with the new runtime exceptions policy, the classes |
| "RealVectorFormat", "ComplexFormat", "Vector3DFormat" and "CompositeFormat" |
| do not inherit anymore from the Java standard "Format" class. Failed parsing |
| will result in the throwing of a "MathParseException". |
| "CompositeFormat" is now a utility class ("private" constructor). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-447"> |
| By policy, all Commons Math exceptions must inherit from class |
| "MathRuntimeException". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-454"> |
| For optimizers (package "optimization"), the number of allowed function |
| evaluations is passed as a parameter to the "optimize" method. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-451"> |
| For solvers (package "analysis.solvers"), the number of allowed function |
| evaluations is passed as a parameter to the "solve" method. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-447"> |
| Created a "MathRuntimeException" to serve as a base class for exception |
| types that need to wrap another (lower-level) exception. |
| </action> |
| <action dev="erans" type="update" issue="MATH-430"> |
| Replaced "ComposableFunction" and "BinaryFunction" (in package "analysis") |
| by a set of utilities in the new class "FunctionUtils" together with |
| independent function objects in the new "analysis.function" package. |
| Removed redundant "mapXxx" and "mapXxxToSelf" methods in "RealVector" and |
| "AbstractRealVector" (in package "linear"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-439"> |
| Refactoring of the "analysis.solvers" package. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-380"> |
| Removed the ode.jacobians package. |
| </action> |
| <action dev="erans" type="update" issue="MATH-440"> |
| Removed classes "FunctionEvaluationException", "MatrixVisitorException" |
| and "DerivativeException" (superseded by the new "MathUserException"). |
| </action> |
| <action dev="erans" type="fix" issue="MATH-432"> |
| Created a generic "Pair" class to replace the "AbstractMap.SimpleEntry" |
| that is only available in Java 6 and later. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-428"> |
| Class "DirectSearchOptimizer" (and subclasses "NelderMead" |
| and "MultiDirectional") was refactored into new classes: |
| "SimplexOptimizer" and "AbstractSimplex" (and subclasses |
| "NelderMeadSimplex" and "MultiDirectionalSimplex"). The old |
| classes were deprecated and removed. |
| </action> |
| <action dev="erans" type="update" issue="MATH-425"> |
| Created "MatrixDimensionMismatchException" to replace |
| "InvalidMatrixException" (when the latter is used to signal that |
| matrices are not compatible for some operation). |
| Replaced "MatrixIndexException" with "OutOfRangeException" (when the |
| former is used to signal a row or column dimension mismatch). |
| </action> |
| <action dev="erans" type="update" issue="MATH-310"> |
| Made "sample" methods part of the "IntegerDistribution" and |
| "ContinuousDistribution" interfaces. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-349"> |
| All distribution classes (in package "distribution") are immutable. |
| </action> |
| <action dev="erans" type="update" issue="MATH-195"> |
| Created an unchecked "FunctionEvaluationException". |
| Modified the "UnivariateRealFunction" interface: Removed the checked |
| "FunctionEvaluationException" from the signature of the "value" method. |
| </action> |
| <action dev="erans" type="update" issue="MATH-370"> |
| Modified semantics: "equals" methods now consider that NaNs are not |
| equal (compliant with IEEE754). |
| Also, two adjacent floating point numbers are considered equal (this |
| is consistent with the fact that all real numbers between them can be |
| represented by either of the two). One consequence of that is that |
| "equals" is not transitive. |
| </action> |
| <action dev="erans" type="update" issue="MATH-397"> |
| Removed methods referring to the concept of "iteration". |
| Removed interface methods to access the number of evaluations of the |
| gradient and Jacobian. |
| Added new "Incrementor" utility to be used as a bounded counter for |
| objective function evaluations. |
| Removed all references to "OptimizationException" (replaced by |
| "ConvergenceException"). |
| </action> |
| <action dev="erans" type="update" issue="MATH-397"> |
| Modified "AbstractUnivariateRealOptimizer" to make it more similar to |
| "BaseAbstractScalarOptimizer". |
| Added utility methods in "ConvergingAlgorithmImpl". |
| </action> |
| <action dev="erans" type="update" issue="MATH-389"> |
| Refactoring of some classes in package "optimization.general" to remove |
| code duplication and to allow the implementation of optimization algorithms |
| that do not use derivatives. |
| Created interface "BaseMultivariateRealOptimizer". |
| Created classes "BaseAbstractScalarOptimizer" and "AbstractScalarOptimizer". |
| "MultivariateRealOptimizer" and "DifferentiableMultivariateRealOptimizer" |
| both extend "BaseMultivariateRealOptimizer". |
| "AbstractScalarOptimizer" extends "BaseAbstractScalarOptimizer" and |
| "AbstractScalarDifferentiableOptimizer" inherits from "AbstractScalarOptimizer". |
| </action> |
| </release> |
| <release version="2.2" date="2011-03-02" description=" |
| This is primarily a maintenance release, but it also includes new features and enhancements. |
| |
| Users of version 2.1 are encouraged to upgrade to 2.2, as this release includes some important bug fixes. |
| |
| See the detailed list of changes below for full description of all bug fixes and enhancements. |
| |
| This release contains some minor compatibility breaks with version 2.1 in some internal classes but none |
| of them are in APIs likely to be accessed by user code: |
| the MessagesResources_fr class has been removed (replaced by a properties file); |
| the arguments of the EventState.reinitializeBegin method have changed; |
| some protected fields which already had public accessors in AbstractStepInterpolator have been replaced. |
| |
| There is a behavior change that users of the multiple regression classes should be aware of. In version |
| 2.1, there was no way to estimate models without intercept terms, and, while this was not clear from |
| the documentation, design (X) matrices needed to include initial unitary columns. In 2.2, initial |
| unitary columns are not necessary and whether or not models include intercept terms is configurable. |
| See the change log and javadoc for the classes in org.apache.commons.math3.stat.regression for details. |
| |
| The major new features are: |
| a new FastMath class, both faster, more accurate and with a few additional functions than StrictMath and Math; |
| a new package for floating point arbitrary precision computing, including high level functions like exponential, sine, square root ...; |
| new linear and tricubic interpolators; |
| a new Gaussian curve fitter; |
| a new erfc function; |
| characteristic support for distributions; |
| a set of new Well Equidistributed Long-period Linear (WELL) random generators."> |
| <action dev="luc" type="fix" issue="MATH-498"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) added scalb(double, int), scalb(float, int) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-478"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) added hypot(double, double), nextAfter(double, double) |
| and nextAfter(float,double) (beware of the strange double second argument) |
| so that they handle special values in the way as StrictMath |
| </action> |
| <action dev="luc" type="fix" issue="MATH-497"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) added getExponent(double) and getExponent(float) |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-496"> |
| FastMath is not an exact replacement for StrictMath |
| (partially fixed) Add copySign(double), copySign(float) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-484"> |
| separate discrete event detection from adaptive step size handling in ODE solvers, |
| thus improving robustness, maintainability and speed |
| </action> |
| <action dev="luc" type="fix" issue="MATH-467"> |
| Fixed an awkward statement that triggered a false positive warning. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-364" due-to="Christian Winter"> |
| Added complementary error function, erfc. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-456"> |
| Modified erf (and erfc) to return extreme values for x with abs(x) > 40. |
| For these arguments, the true value is indistinguishable from an extrema as a double. |
| </action> |
| <action dev="mikkel" type="update" issue="MATH-385"> |
| Added characteristic support to distributions, including methods to return numerical |
| estimates of the mean and variance and upper and lower bounds of support. In version 2.2, |
| methods returning distribution characteristics have been added only to the implementation |
| classes. In version 3, supporting methods have been added to the abstract base classes |
| and distribution interfaces. |
| </action> |
| <action dev="mikkel" type="update" issue="MATH-384"> |
| Added a constructor and addValues(double[]) methods allowing DescriptiveStatistics to |
| be initialized with values from a double[] array. Similarly enhanced |
| ResizeableDoubleArray. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-448" due-to="Patrick Meyer"> |
| Added a getUniqueCount() method to Frequency to return the number of unique |
| values included in the frequency table. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-414"> |
| Modified NormalDistributionImpl.cumulativeProbability to return 0 or 1, |
| respectively for values more than 40 standard deviations from the mean. |
| For these values, the actual probability is indistinguishable from 0 or 1 |
| as a double. Top coding improves performance for extreme values and prevents |
| convergence exceptions. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-420"> |
| Added toString() override to StatisticalSummaryValues. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-380"> |
| Deprecated the whole ode.jacobians package. It is clumsy and difficult to use. It will |
| be replaced by a completely rewritten implementation in 3.0, which will be more tightly |
| bound to the top level ode package |
| </action> |
| <action dev="luc" type="fix" issue="MATH-426" due-to="Erik van Ingen"> |
| Added a normalization feature to transform samples so they have zero mean and unit standard deviation |
| </action> |
| <action dev="erans" type="add" issue="MATH-440"> |
| Created "MathUserException" class to convey cause of failure between |
| layers of user code separated by a layer of Commons Math code. Deprecated |
| classes "FunctionEvaluationException", "MatrixVisitorException" and |
| "DerivativeException". |
| </action> |
| <action dev="luc" type="fix" issue="MATH-429"> |
| Fixed k-means++ to add several strategies to deal with empty clusters that |
| may appear during iterations. |
| </action> |
| <action dev="luc" type="update" issue="MATH-417"> |
| Improved Percentile performance by using a selection algorithm instead of a |
| complete sort, and by allowing caching data array and pivots when several |
| different percentiles are desired. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-391"> |
| Fixed an error preventing zero length vectors to be built by some constructors. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-421"> |
| Fixed an error preventing ODE solvers to be restarted after they have |
| been stopped by a discrete event. |
| </action> |
| <action dev="luc" type="add" issue="MATH-419"> |
| Added new random number generators from the Well Equidistributed |
| Long-period Linear (WELL). |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-409"> |
| Made intercept / no intercept configurable in multiple regression |
| classes. By default, regression models are estimated with an intercept |
| term. When the "noIntercept" property is set to true, regression models |
| are estimated without intercepts. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-415"> |
| Fixed lost cause in MathRuntimeException.createInternalError. Note that |
| the message is still the default message for internal errors asking to |
| report a bug to Commons Math JIRA tracker. In order to retrieve the |
| message from the root cause, one has to get the cause itself by getCause(). |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-411"> |
| Modified multiple regression newSample methods to ensure that by default |
| in all cases, regression models are estimated with intercept terms. |
| Prior to the fix for this issue, newXSampleData(double[][]), |
| newSampleData(double[], double[][]) and newSampleData(double[], double[][], double[][]) |
| all required columns of "1's" to be inserted into the x[][] arrays to |
| create a model with an intercept term; while newSampleData(double[], int, int) |
| created a model including an intercept term without requiring the |
| unitary column. All methods have been changed to eliminate the need for |
| users to add unitary columns to specify regression models. |
| Users of OLSMultipleLinearRegression or GLSMultipleLinearRegression |
| versions 2.0 or 2.1 should either verify that their code either does |
| not use the first set of data loading methods above or set the noIntercept |
| property on estimated models to get the previous behavior. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-412" due-to="Bill Rossi"> |
| Added the dfp library providing arbitrary precision floating point computation in the spirit of |
| IEEE 854-1987 (not exactly as it uses base 1000 instead of base 10). In addition to finite numbers, |
| infinities and NaNs are available (but there are no subnormals). All IEEE 854-1987 rounding modes and |
| signaling flags are supported. The available operations are +, -, *, / and the available functions |
| are sqrt, sin, cos, tan, asin, acos, atan, exp, log. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-375" due-to="Bill Rossi"> |
| Added faster and more accurate version of traditional mathematical functions in a FastMath |
| class intended to be a drop-in replacement for java.util.Math at source-level. Some functions |
| still directly delegates to Math but this will improve with time. Some functions like exp |
| may be twice as fast (even 3 times faster on some processors). Sine, cosine or power functions |
| show typical speedups of 1.5 times faster or more. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-386"> |
| Added R-squared and adjusted R-squared statistics to OLSMultipleLinearRegression. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-392" due-to="Mark Devaney"> |
| Corrected the formula used for Y variance returned by calculateYVariance and associated |
| methods in multiple regression classes (AbstractMultipleLinearRegression, |
| OLSMultipleLinearRegression, GLSMultipleLinearRegression). These methods previously returned |
| estimates of the variance in the model error term. New "calulateErrorVariance" methods have |
| been added to compute what was previously returned by calculateYVariance. |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-406"> |
| Bug fixed in Levenberg-Marquardt (handling of weights). |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-405"> |
| Bug fixed in Levenberg-Marquardt (consistency of current). |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-377"> |
| Bug fixed in chi-square computation in AbstractLeastSquaresOptimizer. |
| </action> |
| <action dev="luc" type="add" issue="MATH-400" due-to="J. Lewis Muir"> |
| Added support for Gaussian curve fitting. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-395"> |
| Fixed several bugs in "BrentOptimizer". |
| </action> |
| <action dev="erans" type="fix" issue="MATH-393"> |
| Fixed inconsistency in return values in "MultiStartUnivariateRealOptimizer". |
| </action> |
| <action dev="luc" type="add" issue="MATH-388"> |
| Added a feature allowing error estimation to be computed only on a subset of |
| Ordinary Differential Equations, considered as the main set, the remaining equations |
| being considered only as an extension set that should not influence the ODE integration |
| algorithm |
| </action> |
| <action dev="erans" type="fix" issue="MATH-382"> |
| Fixed bug in precondition check (method "setMicrosphereElements"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-379"> |
| Created "MultidimensionalCounter" class. |
| </action> |
| <action dev="erans" type="add" issue="MATH-361"> |
| Created package "exception" to contain the new exceptions hierarchy. |
| Created package "exception.util": utilities for the exception classes |
| (e.g. managing the localization of error messages). |
| Default policy for dealing with invalid null references: raise a |
| "NullArgumentException" (subclass of "IllegalArgumentException"). |
| </action> |
| <action dev="erans" type="add" issue="MATH-378" due-to="Matthew Rowles"> |
| Implementation of linear interpolation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-361"> |
| Improved localization of error messages. |
| </action> |
| <action dev="erans" type="fix" issue="MATH-376"> |
| Allow multiple optimizations with a default simplex. |
| </action> |
| <action dev="erans" type="update" issue="MATH-370"> |
| Added new "equalsIncludingNaN" methods that have the same semantics as the old "equals" methods. |
| These are deprecated, and their semantics will be modified (in the next major release) such that |
| NaNs are not considered equal (to be more compliant with IEEE754). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-352" > |
| Added a setQRRankingThreshold method to Levenberg-Marquardt optimizer to improve robustness |
| of rank determination. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-310"> |
| Added random data generation methods to RandomDataImpl for the remaining distributions in the |
| distributions package. Added a generic nextInversionDeviate method that takes a discrete |
| or continuous distribution as argument and generates a random deviate from the distribution. |
| Also added sampling methods based on the implementations in RandomDataImpl to distributions. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-362" > |
| Fixed Levenberg-Marquardt optimizer that did not use the vectorial convergence checker. |
| Now this optimizer can use either the general vectorial convergence checker or its own |
| specialized convergence settings. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-371" due-to="Kevin Childs"> |
| Fixed loss of significance error in PersonsCorrelation p-value computation causing p-values |
| smaller than the machine epsilon (~1E-16) to be reported as 0. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-369" due-to="Sasun Pundev"> |
| Fix NullPointerException in BisectionSolver.solve(f, min, max, initial) |
| </action> |
| <action dev="billbarker" type="fix" issue="MATH-368"> |
| Fix spelling of getSparcity [sic] method of OpenMapRealVector |
| </action> |
| <action dev="billbarker" type="fix" issue="MATH-367" due-to="Albert Huang"> |
| Fix problem with the default sparseIterator when a RealVector has exactly one non-zero entry |
| </action> |
| <action dev="erans" type="add" issue="MATH-366"> |
| Implementation of tricubic interpolation. |
| </action> |
| <action dev="erans" type="update" issue="MATH-365"> |
| Deprecated SmoothingBicubicSplineInterpolator and SmoothingBicubicSplineInterpolatorTest. |
| Added BicubicSplineInterpolator and BicubicSplineInterpolatorTest. |
| Added SmoothingPolynomialBicubicSplineInterpolator and SmoothingPolynomialBicubicSplineInterpolatorTest. |
| Added method to clear the list of observations in PolynomialFitter. |
| </action> |
| </release> |
| <release version="2.1" date="2010-04-02" description=" |
| This is primarily a maintenance release, but it also includes new features and enhancements. |
| |
| Users of version 2.0 are encouraged to upgrade to 2.1, as this release includes some important bug fixes. |
| |
| See the detailed list of changes below for full description of all bug fixes and enhancements. |
| |
| This release contains some minor API compatibility breaks with version 2.0: |
| the return type of RealVector.copy() has been changed to AbstractRealVector; |
| the no-argument constructor of MatrixUtils() has been made private; |
| the mapXxxToSelf methods of OpenMapRealVector have been removed and some method return types have been changed in this class; |
| new methods have been added to the RealVector interface; |
| several fields in AdaptiveStepSizeIntegrator have been made final; |
| DummyStepInterpolator requires an additional argument for one of its constructors; |
| some protected fields have been removed from AbstractLeastSquaresOptimizer, AbstractScalarDifferentiableOptimizer and AbstractLinearOptimizer; |
| and the isOptimal(SimplexTableau) method has been removed from SimplexSolver. "> |
| <action dev="sebb" type="fix" issue="MATH-360"> |
| Fix use of wrong variable in SmoothingBicubicSplineInterpolatorTest.testPreconditions() |
| </action> |
| <action dev="erans" type="update" issue="MATH-356"> |
| Added method to clear the list of observations in CurveFitter. |
| </action> |
| <action dev="erans" type="add" issue="MATH-357"> |
| Implementation of bicubic interpolation. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-332" due-to="Mikkel Meyer Andersen"> |
| Added density functions to remaining continuous distributions (F, T, Weibull, Cauchy). |
| As of Math 2.1, all continuous distributions implement density functions. The HasDensity |
| interface has been deprecated and in version 3.0, density(double) will be added to the |
| ContinuousDistribution interface. |
| </action> |
| <action dev="sebb" type="update" issue="MATH-337"> |
| Changed equals() methods to use instanceof check rather than catching ClassCastException; |
| this also allows some null checks to be omitted. |
| </action> |
| <action dev="sebb" type="update" issue="MATH-336"> |
| Removed unnecessary null checks in equals methods. |
| </action> |
| <action dev="sebb" type="fix" issue="MATH-335"> |
| Fraction.hashCode() implementation was not fully consistent with Fraction.equals(). |
| Changed hashCode() to use fields directly to agree with equals(). |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-282"> |
| Resolved multiple problems leading to inaccuracy and/or failure to compute Normal, |
| ChiSquare and Poisson probabilities, Erf and Gamma functions. Made Brent solver |
| absolute accuracy configurable for all continuous distributions. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-347" > |
| Fixed too stringent interval check in Brent solver: initial guess is now |
| allowed to be at either interval end |
| </action> |
| <action dev="luc" type="add" > |
| Added a way to compute both the final state in an Initial Value Problem (IVP) |
| for Ordinary Differential Equations (ODE) and its derivatives with respect to |
| initial state and with respect to some problem parameters. This allows wrapping |
| ODE solvers into optimization or root finding algorithms, which in turn can be |
| used to solve Boundary Value Problems (BVP). There are no implementations (yet) |
| of BVP solvers in the library. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-358" > |
| Fixed an error in events handling in ODE solvers. In some rare cases, events |
| occurring close to a step start were handled without truncating the step, making |
| them appear as is they occurred close to the step end |
| </action> |
| <action dev="luc" type="fix" > |
| Fixed a problem with getInterpolatedDerivatives returning zero derivatives when |
| an ODE step handler is configured to not use interpolation. It now returns a |
| constant but non-zero value consistent with at least one point inside the step |
| </action> |
| <action dev="luc" type="fix" issue="MATH-344" > |
| Fixed wrong return values when enpoints are roots in Brent solver with |
| a user provided initial guess |
| </action> |
| <action dev="luc" type="fix" issue="MATH-343" > |
| Fixed a missing bracketing check of initial interval in Brent solver. |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-342"> |
| In SVD, the matrices passed to EigenDecomposition are now symmetric |
| by construction (rather than simply by definition). In EigenDecomposition, |
| once the tridiagonal form is obtained, the non-significant elements are |
| set to 0. |
| </action> |
| <action dev="dimpbx" type="fix" issue="MATH-333"> |
| A EigenDecompositionImpl simplified makes it possible to compute |
| the SVD of a singular matrix (with the right number of elements in |
| the diagonal matrix) or a matrix with singular value(s) of multiplicity |
| greater than 1. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-323" due-to="Larry Diamond"> |
| Added SemiVariance statistic. |
| </action> |
| <action dev="luc" type="add" issue="MATH-341" > |
| Added a warning in the getCoefficients method documentation for |
| PolynomialFunctionLagrangeForm. Computation may be ill-conditioned |
| so this method should be used with care. |
| </action> |
| <action dev="luc" type="add" issue="MATH-340" > |
| Fixed an error in BigFraction multiplication for large numerators that don't |
| fit in a primitive int. |
| </action> |
| <action dev="luc" type="fix" > |
| Fixed a spurious exception in EigenDecompositionImpl when a 3x3 block |
| had two identical eigenvalues. |
| </action> |
| <action dev="luc" type="add" issue="MATH-334" > |
| Added min/max getters for real vectors (not yet in the RealVector interface for |
| compatibility purposes, but in the AbstractRealVector abstract class). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-338" due-to="Vincent Morand"> |
| Fixed automatic step initialization in embedded Runge-Kutta integrators. |
| The relative tolerance setting was never used, only the absolute tolerance |
| was used. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-329"> |
| Fixed regression in Frequency.getPct(Object) introduced in 2.0. Cumulative |
| percent was being returned for Object arguments in place of percent. |
| </action> |
| <action dev="luc" type="add" issue="MATH-321" > |
| Singular Value Decomposition now computes either the compact SVD (using only |
| positive singular values) or truncated SVD (using a user-specified maximal |
| number of singular values). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-320" > |
| Fixed Singular Value Decomposition solving of singular systems. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-239" due-to="Christian Semrau"> |
| Added MathUtils methods to compute gcd and lcm for long arguments. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-287" due-to="Matthew Rowles"> |
| Added support for weighted univariate statistics. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-326" due-to="Jake Mannix"> |
| Fixed a wrong implementation of the Linf norm in vectors. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-324" due-to="Vincent Morand"> |
| Fixed a convergence discrepancy with respect to theory in Gragg-Bulirsch-Stoer |
| integrator. |
| </action> |
| <action dev="luc" type="fix" due-to="Dimitri Pourbaix"> |
| Fixed a wrong dimension check in SVD solver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-313" due-to="Jake Mannix"> |
| Added composition features for real functions. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-312" due-to="Jake Mannix"> |
| Added mapping and iteration methods to vectors. Provided a default implementation |
| for the numerous simple methods in the RealVectorInterface. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-322" > |
| Fixed an error in handling very close events in ODE integration. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-305" due-to="Erik van Ingen"> |
| Fixed an overflow error in MathUtils.distance that was causing KMeansPlusPlusClusterer |
| to fail with a NullPointerException when component distances between points |
| exceeded Integer.MAXVALUE. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-315" due-to="Mikkel Meyer Andersen"> |
| Added generationsEvolved property to GeneticAlgorithm to track the number of generations |
| evolved by the evolve() method before reaching the StoppingCondition. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-318" due-to="Dimitri Pourbaix"> |
| Fixed an index computation error in eigen decomposition. Once again, kudos to Dimitri |
| for debugging this. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-308" due-to="Dimitri Pourbaix"> |
| Fixed an ArrayIndexOutOfBoundsException in eigen decomposition. Kudos to Dimitri |
| for debugging this, it was really difficult. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-309" due-to="Mikkel Meyer Andersen"> |
| Fixed parameter test in RandomDataImpl#nextExponential. The method now throws |
| IllegalArgumentException for mean = 0. |
| </action> |
| <action dev="brentworden" type="update" issue="MATH-311" due-to="Nipun Jawalkar"> |
| Changed probability calculations for Binomial, Poisson, and Hypergeometric |
| distributions to use Catherine Loader's saddle point approximations. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-306" due-to="Joerg Huber"> |
| Removed dead code from Complex#divide. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-294"> |
| Fixed implementation of RandomDataImpl#nextPoisson by implementing an alternative |
| algorithm for large means. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-300" due-to="Gilles Sadowski"> |
| Added support for multidimensional interpolation using the robust microsphere algorithm. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-298"> |
| Fixed implementation of EmpiricalDistributionImpl#getUpperBounds to match |
| interface contract. Added getGeneratorUpperBounds method to |
| EmpiricalDistributionImpl providing previous behavior. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-296" due-to="Eugene Kirpichov"> |
| Fixed wrong results on Loess interpolation, also added a way to set weights |
| for smoothing and to ignore zero weights for coefficients computation |
| </action> |
| <action dev="luc" type="fix" issue="MATH-293" due-to="Benjamin McCann"> |
| Fixed a OutOfBoundException in simplex solver when some constraints are tight. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-291" due-to="Sebb"> |
| Fixed misleading number formats in error messages for adaptive |
| stepsize integrators. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-287" due-to="Matthew Rowles"> |
| Added support for weighted descriptive statistics. |
| </action> |
| <action dev="psteitz" type="add"> |
| Added normalizeArray method to MathUtils. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-290" due-to="Benjamin McCann"> |
| Fixed a NullPointerException in simplex solver when no solution is possible |
| and some constraints are negative. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-289" > |
| Removed an unused argument in a private method in simplex solver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-288" due-to="Benjamin McCann"> |
| Fixed an error induced by entries set to 0 in simplex solver. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-286" due-to="Benjamin McCann"> |
| Fixed an error leading the simplex solver to compute the right solution |
| but return another one. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-283" due-to="Michael Nischt"> |
| Prevent infinite loops in multi-directional direct optimization method when |
| the start point is exactly at the optimal point. |
| </action> |
| <action dev="billbarker" type="fix" issue="MATH-297" due-to="Axel Kramer"> |
| Prevent possible zero divides on eigenvectors of indefinite matrices |
| </action> |
| </release> |
| <release version="2.0" date="2009-08-03" description=" |
| This is a major release. It combines bug fixes, new features and |
| changes to existing features. Most notable among the new features are: |
| decomposition algorithms in the linear algebra package (LU, QR, Cholesky, |
| SVD, eigen decomposition) which are based on the popular JAMA API (but |
| much faster); support for sparse matrices and vectors; |
| support for any field-based matrix (Complex, Fraction ...); |
| support for genetic algorithms; |
| several new optimization algorithms (Dantzig's simplex for linear |
| constrained problems, conjugate gradient, Brent); |
| support for curve fitting with special cases for harmonic and polynomial |
| functions; |
| support for state derivative in ODE step handlers; |
| new multistep integrators (Adams-Bashforth and Adams-Moulton) with |
| variable stepsize; |
| regression algorithms; |
| rank transformations; |
| Mersenne twister pseudo random number generator. |
| This release is NOT source and binary compatible with earlier versions |
| of Commons Math. Starting with version 2.0 of the library, the minimal |
| version of the Java platform required to compile and use Commons Math |
| is Java 5. Users are encouraged to upgrade to this version, as in addition |
| to new features, this release includes numerous bug fixes. Users of |
| Commons Math 1.0-1.2 should recompile their code against the 2.0 jar. |
| Most of the compilation errors users will encounter after the switch |
| will be due to classes moved due to package reorganization. These errors |
| are simply solved by adjusting the import statements in users code."> |
| <action dev="luc" type="fix" issue="MATH-281" due-to="Albert Huang"> |
| Fixed an error in RealMatrix javadoc |
| </action> |
| <action dev="luc" type="add" > |
| Added an implementation of the Mersenne twister pseudo random number generator |
| from Makoto Matsumoto and Takuji Nishimura |
| </action> |
| <action dev="luc" type="update" due-to="Gilles Sadowski"> |
| Changed the return type of the various interpolation algorithms to the |
| specific implementation of UnivariateRealFunction each one uses |
| </action> |
| <action dev="luc" type="fix" issue="MATH-280"> |
| The behavior of the bracket method in UnivariateRealSolverUtils has been changed to return successfully |
| when a tentative bracketing interval has a root exactly at one of its end points. Previously, such intervals |
| triggered an exception. |
| </action> |
| <action dev="luc" type="add" issue="MATH-279" due-to="Michael Bjorkegren"> |
| Added a check for too few rows with respect to the number of predictors in linear regression |
| </action> |
| <action dev="luc" type="add" due-to="Dimitri Pourbaix"> |
| Added a getCovariance method to singular value decomposition |
| </action> |
| <action dev="luc" type="add" issue="MATH-278" due-to="Eugene Kirpichov"> |
| Added robust locally weighted regression (Loess). |
| </action> |
| <action dev="luc" type="add" issue="MATH-277" due-to="Mark Anderson"> |
| Added a scalar multiply to the Complex class |
| </action> |
| <action dev="luc" type="add" > |
| Added curve fitting with a general case and two specific cases (polynomial and harmonic). |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-276" due-to="Mark Anderson"> |
| Optimized Complex isNaN(), isInfinite() by moving computation to constructor. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-207" due-to="David Stefka"> |
| Added Genetic Algorithm implementation. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-274" > |
| Fixed detection of not positive definite matrices in Cholesky decomposition |
| </action> |
| <action dev="luc" type="fix" issue="MATH-273" due-to="Benjamin McCann"> |
| Fixed a wrong check for basic variables |
| </action> |
| <action dev="luc" type="fix" issue="MATH-272" due-to="Benjamin McCann"> |
| Fixed a problem when setting some variables (several variables were set |
| instead of only one) |
| </action> |
| <action dev="luc" type="add" due-to="Gilles Sadowski"> |
| Added a way to limit the number of functions evaluations in optimizers |
| (the number of iterations could already be limited) |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-267" due-to="Ted Dunning"> |
| Added digamma function. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-136" due-to="John Gant"> |
| Added Spearman's rank correlation (SpearmansCorrelation). |
| </action> |
| <action dev="psteitz" type="add"> |
| Added support for rank transformations. |
| </action> |
| <action dev="luc" type="update"> |
| Completed internationalization of all error messages |
| </action> |
| <action dev="luc" type="add" issue="MATH-266" due-to="Benjamin McCann"> |
| Added a clustering package with an implementation of the k-means++ algorithm |
| </action> |
| <action dev="luc" type="fix" issue="MATH-265" due-to="Benjamin McCann"> |
| Added distance1, distance and distanceInf utility methods for double and |
| int arrays in MathUtils |
| </action> |
| <action dev="luc" type="fix" issue="MATH-264" due-to="Gilles Sadowski"> |
| Added an utility equality method between double numbers using tolerance |
| in ulps (Units in Last Position) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-263"> |
| Added getNorm1, getNormInf, distance1 and distanceInf to the Vector3D class |
| </action> |
| <action dev="luc" type="add" > |
| Added support for any type of field in linear algebra (FielxMatrix, FieldVector, |
| FieldLUDecomposition) |
| </action> |
| <action dev="luc" type="add" > |
| The RealMatrixImpl implementation classes has been renamed Array2DRowRealMatrix |
| to reflect its specificities and for consistency with the new implementations. The |
| previous name is still available but is deprecated |
| </action> |
| <action dev="luc" type="add" > |
| Added a block-based storage type for dense matrices improving speed for large dimensions |
| </action> |
| <action dev="psteitz" type="add" due-to="John Bollinger"> |
| Added AggregateSummaryStatistics class to support aggregation of SummaryStatistics. |
| </action> |
| <action dev="luc" type="add" > |
| Added general Field and FieldElement interfaces to allow generic algorithms |
| to operate on fields. The library already provides several implementations: |
| Complex, Fraction, BigFraction and BigReal |
| </action> |
| <action dev="luc" type="fix" issue="MATH-257" due-to="Sebb"> |
| Fixed inconsistent access to multidimensional array in FastFourierTransformer |
| </action> |
| <action dev="luc" type="fix" issue="MATH-248" > |
| Greatly improved multiplication speed for sparse matrices |
| </action> |
| <action dev="luc" type="fix" issue="MATH-253" due-to="Sebb"> |
| Fixed threading issues with MathException and MathRuntimeException |
| </action> |
| <action dev="luc" type="fix" issue="MATH-254" due-to="Sebb"> |
| Fixed threading issues with UnivariateRealSolverUtils factory |
| </action> |
| <action dev="luc" type="fix" issue="MATH-255" due-to="Sebb"> |
| Reduced visibility of MessagesResources_fr.contents field to private |
| </action> |
| <action dev="luc" type="add" issue="MATH-256" > |
| Added Fraction.toString() |
| </action> |
| <action dev="luc" type="add"> |
| Added add/subtract/multiply/divide functions with integer parameters to Fraction |
| </action> |
| <action dev="luc" type="add"> |
| Added some utility functions to compute powers with integral types (int, long, BigInteger). |
| </action> |
| <action dev="luc" type="fix" issue="MATH-252"> |
| Fixed a comparison error when two different fractions evaluate to the |
| same double due to limited precision. |
| </action> |
| <action dev="luc" type="add" issue="MATH-251" due-to="Benjamin Croizet"> |
| Added a BigFraction class that does not overflow when big numerators or |
| denominators are used. |
| </action> |
| <action dev="luc" type="add" issue="MATH-246" due-to="Benjamin McCann"> |
| Added an optimizer for constrained linear problems based on 2-phases standard simplex. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-177" > |
| Redesigned the optimization framework for a simpler yet more powerful API. |
| Added non-linear conjugate gradient optimizer. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-243" due-to="Christian Semrau"> |
| Fixed an error in computing gcd and lcm for some extreme values at integer |
| range boundaries. |
| </action> |
| <action dev="luc" type="add" issue="MATH-247" due-to="Benjamin McCann"> |
| Added a MathUtils method to check equality given some error bounds. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-114" due-to="John Gant"> |
| Added PearsonsCorrelation class to compute correlation matrices, standard |
| errors and p-values for correlation coefficients. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-114"> |
| Added Covariance class to compute variance-covariance matrices in new |
| correlation package. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-216" due-to="Cyril Briquet"> |
| Improved fast Fourier transform efficiency. |
| </action> |
| <action dev="billbarker" type="add"> |
| Added a SparseRealVector class that implements a sparse vector for the RealVector interface. |
| </action> |
| <action dev="luc" type="add" > |
| Added factory methods to create Chebyshev, Hermite, Laguerre and Legendre polynomials. |
| </action> |
| <action dev="luc" type="add" > |
| Added add, subtract, negate, multiply and toString methods to PolynomialFunction. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-189"> |
| Changed FractionFormat to extend NumberFormat. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-242" due-to="Christian Semrau"> |
| Forced symmetry in binomialCoefficientLog and added test cases for MathUtils. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-241" due-to="Christian Semrau"> |
| Fixed error in binomial coefficient computation. |
| </action> |
| <action dev="luc" type="add" > |
| Added a Legendre-Gauss integrator. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-240" due-to="Christian Semrau"> |
| Fixed error in factorial computation for 17 <= n <= 20. |
| </action> |
| <action dev="luc" type="update" > |
| Integration algorithms now can have both relative and absolute |
| accuracy settings. |
| </action> |
| <action dev="luc" type="add" issue="MATH-177" due-to="Gilles Sadowski"> |
| Added a new univariate sub-package below the optimization package. |
| </action> |
| <action dev="luc" type="update" > |
| The analysis package has been reorganized with several sub-packages. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-238" due-to="Christian Semrau"> |
| Fixed an error in gcd computation for large values. |
| </action> |
| <action dev="luc" type="add" > |
| Added method to walk matrix entries with or without changing them in the |
| visitor design pattern sense. Three different orders can be used, row by row, |
| column by column or optimized order according to internal storage. Optimized |
| order should be preferred when no specific order is needed, because it will be |
| more cache efficient. |
| </action> |
| <action dev="luc" type="add" issue="MATH-215" due-to="Bernhard Grünewaldt"> |
| Added Fast Hadamard Transform. |
| </action> |
| <action dev="luc" type="add" issue="MATH-236" due-to="Bernhard Grünewaldt"> |
| Added nth root computation for complex numbers. |
| </action> |
| <action dev="luc" type="add" issue="MATH-230" due-to="Sujit Pal and Ismael Juma"> |
| Added support for sparse matrix. |
| </action> |
| <action dev="luc" type="add" due-to="Ismael Juma"> |
| Added an int/double hash map (OpenIntToDoubleHashMap) with much smaller |
| memory overhead than standard java.util.Map (open addressing and no boxing). |
| </action> |
| <action dev="luc" type="add" issue="MATH-152" due-to="Remi Arntzen"> |
| Added support for multi-dimensional Fourier transform. |
| </action> |
| <action dev="luc" type="update" issue="MATH-218" > |
| The root solvers and the integrators now take the function to solve as a |
| parameter to the solve/integrate methods, thus allowing to reuse the same |
| solver/integrator for different functions. |
| </action> |
| <action dev="luc" type="add" issue="MATH-234" > |
| Added setter methods for rows and columns in matrices. |
| </action> |
| <action dev="luc" type="add" issue="MATH-232" > |
| Added Frobenius matrix norm. |
| </action> |
| <action dev="luc" type="add" issue="MATH-231" > |
| Added an abstract matrix implementation simplifying extension by users. |
| </action> |
| <action dev="luc" type="add" issue="MATH-178" due-to="Paul Cowan"> |
| Added support for the Zipf distribution. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-212" due-to="Jason C. HandUber"> |
| Added support for copying statistics. Changes to stats classes |
| include copy constructor, static copy(-,-) and instance copy() |
| methods. Added copy() to UnivariateStatistic and StorelessUnivariateStatistic |
| interfaces. |
| </action> |
| <action dev="luc" type="add" issue="MATH-229" due-to="Cyril Briquet"> |
| Added a removal feature for observations in descriptive statistics. |
| </action> |
| <action dev="luc" type="add" > |
| Added a scalb method in MathUtils. This method is similar to the method |
| with same name added in java.lang.Math as of Java 6. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-227" due-to="Joerg Henning"> |
| Fixed F distribution inverse CDF computation for small denominator degrees of freedom. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-226" due-to="Stuart Siegel"> |
| Fixed an error in CorrelatedRandomVectorGenerator leading to a component of |
| the generated vector being constant. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-223" due-to="John Mulcahy"> |
| Greatly improved QR-decomposition speed using transposed matrices internally. |
| </action> |
| <action dev="luc" type="fix" due-to="Pascal Parraud"> |
| Fixed an infinite loop encountered in some backward integration cases for ODE solvers. |
| </action> |
| <action dev="luc" type="add" issue="MATH-222" due-to="Ted Dunning"> |
| Added beta distribution. |
| </action> |
| <action dev="luc" type="add" issue="MATH-222" due-to="Ted Dunning"> |
| Added probability density functions computation for distributions for which |
| it is feasible. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-221" due-to="Dieter Roth"> |
| Changed the Complex.equals() method so that it considers +0 and -0 are equal, |
| as required by IEEE-754 standard. |
| </action> |
| <action dev="luc" type="add" issue="MATH-220"> |
| Added JAMA-like interfaces for eigen/singular problems. The implementation |
| are based on the very quick dqd/dqds algorithms and some parts of the MRRR |
| algorithm. This leads to very fast and accurate solutions. |
| </action> |
| <action dev="luc" type="add" issue="MATH-220" > |
| Added JAMA-like interfaces for decomposition algorithms. These interfaces |
| decompose a matrix as a product of several other matrices with predefined |
| properties and shapes depending on the algorithm. These algorithms allow to |
| solve the equation A * X = B, either for an exact linear solution |
| (LU-decomposition, Cholesky decomposition) or an exact or least-squares |
| solution (QR-decomposition). |
| </action> |
| <action dev="luc" type="add" issue="MATH-219" due-to="Andrew Berry"> |
| Added removeData methods for the SimpleRegression class. This allows |
| to support regression calculations across a sliding window of (time-based) |
| observations without having to recalculate for the entire window every time. |
| </action> |
| <action dev="luc" type="add" due-to="Andreas Rieger"> |
| Support for one dimensional vectors has been added to the linear algebra |
| package with a RealVector interface, a RealVectorImpl default implementation |
| using a single double array to store elements and a RealVectorFormat for |
| input/output. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-217"> |
| Changed OLS regression implementation added in MATH-203 to use |
| QR decomposition to solve the normal equations. |
| </action> |
| <action dev="luc" type="add"> |
| New ODE integrators have been added: the explicit Adams-Bashforth and implicit |
| Adams-Moulton multistep methods. As the implementations of these methods are based |
| on Nordsieck vector rather than a traditional array of previous steps, they both |
| have been improved to handle adaptive stepsize. These methods provide the same rich |
| features has the existing ones: continuous output, step handlers, discrete events, |
| G-stop ... |
| </action> |
| <action dev="luc" type="fix" issue="MATH-214" > |
| Replaced size adjustment of all steps of fixed steps Runge-Kutta integrators by |
| a truncation of the last step only. |
| </action> |
| <action dev="luc" type="update"> |
| The ODE integrators now support several step handlers at once, instead of just one. |
| This is more consistent with event handlers management. |
| The setStepHandler method has therefore been replaced by addStephandler, the |
| getStepHandler method has been replaced by getStepHandlers which returns a Collection |
| and a clearStepHandlers method has been added. |
| </action> |
| <action dev="luc" type="add"> |
| All ODE integrators now support setting a maximal number of evaluations of differential |
| equations function. If this number is exceeded, an exception will be thrown during |
| integration. This can be used to prevent infinite loops if for example error control or |
| discrete events create a really large number of extremely small steps. |
| </action> |
| <action dev="luc" type="add"> |
| All step interpolators for ODE integrators now provide interpolation for |
| both the state and its time derivatives. The interpolated derivatives are |
| the exact derivatives of the interpolated state, thus preserving consistency. |
| The general step handlers hence do not need to call the derivation function |
| anymore. The fixed step handlers also get the time derivative of the state |
| as an additional argument along with the state when they are called. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-213" > |
| Changed return type for FirstOrderIntegrator.integrate() to double |
| in order to retrieve exact stop time. This allows to handle properly |
| integration interruption due to an EventHandler instance asking to |
| stop the integration when its associated event is triggered. The state |
| was already set to the current state at interruption time, but it was |
| difficult to get the corresponding time (it involved setting a step |
| handler monitoring the last step specially). |
| </action> |
| <action dev="luc" type="update" > |
| Events handlers in the ODE package now also provide the switching function |
| variation (increasing/decreasing) when an event occurs |
| </action> |
| <action dev="luc" type="update"> |
| Clarified the ODE package by breaking in into several sub-packages and renaming |
| classes (SwitchingFunctions/EventHandler, SwitchingFunctionsHandler/CombinedEventsManager) |
| </action> |
| <action dev="luc" type="fix" issue="MATH-210" > |
| Changed return type for FirstOrderIntegrator.getSwitchingFunctions() |
| to a collection of SwitchingFunction instances. This better suits the |
| intended use of the method and fixes a visibility error since the |
| previous return type referenced the package private SwitchState class. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-209" due-to="Thomas Chust"> |
| Fixed dimension error on output vector for the operate method |
| in RealMatrixImpl and BigMatrixImpl classes. |
| </action> |
| <action dev="luc" type="update"> |
| The FirstOrderDifferentialEquations, FirstOrderIntegrator and FixedStepHandler |
| interfaces now extends Serializable, allowing integrators, problems and |
| handlers to be embedded into users Serializable classes. |
| </action> |
| <action dev="luc" type="add"> |
| Added several convenience methods and constants for Vector3D and Rotation. |
| </action> |
| <action dev="luc" type="update"> |
| Replaced public no argument constructors with IDENTITY or ZERO |
| static instances for immutable classes Vector3D and Rotation. |
| </action> |
| <action dev="luc" type="fix"> |
| Fixed inconsistencies in the naming scheme for static fields in |
| Vector3D and Rotation with respect to the overall library. |
| </action> |
| <action dev="luc" type="update" > |
| Greatly improved RealMatrixImpl and BigMatrixImpl performances, |
| both in terms of speed and in terms of temporary memory footprint. |
| </action> |
| <action dev="luc" type="add" issue="MATH-203" due-to="Mauro Talevi"> |
| Added Mauro's patch to support multiple regression. |
| </action> |
| <action dev="luc" type="update" > |
| Starting with version 2.0 of the library, the minimal version of the Java |
| platform required to compile and use Commons Math is Java 5. This version |
| is widely deployed now on many systems. It brings new important features |
| for specific mathematical developments, for example new functions (log10, |
| cbrt, ulp, signum, cosh, sinh, tanh, hypot, expm1, log1p), autoboxing, |
| MathContext or RoundingMode. It also brings important features for general |
| development, for example enums, generics or annotations. |
| </action> |
| <action dev="luc" type="add" > |
| Switching functions can now throw dedicated SwitchException from all their |
| method. At upper call level, the various ODE integrators handle these new |
| exceptions and wrap them into IntegratorException instances, hence the |
| integrators methods signature did not change. |
| </action> |
| <action dev="luc" type="add" issue="MATH-202"> |
| Added the getSwitchingFunctions and clearSwitchingFunctions to the |
| FirstOrderIntegrator interface and all its implementations |
| </action> |
| <action dev="luc" type="update" > |
| Removed deprecated features. This includes the following changes. Factory-based |
| instantiation replaced by setter injection in 1.2 in several classes have been |
| removed. Protected fields in matrices implementations have been declared final |
| and private. Identity factory methods moved to MatrixUtils class have been |
| removed. Complex utilities methods that have been superseded by Complex instance |
| methods have been removed. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-205" due-to="Roman Werpachowski"> |
| Fixed formula in fast cosine transformer javadoc comments. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-193" due-to="Michael Heuer and Sebb"> |
| Javadoc and style fixes. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-198" due-to="Frederick Salardi"> |
| Added an error detection for missing imaginary character while parsing complex string |
| </action> |
| <action dev="luc" type="fix" issue="MATH-199" due-to="Mick"> |
| Detect numerical problems in Q.R decomposition for Levenberg-Marquardt estimator |
| and report them appropriately |
| </action> |
| <action dev="luc" type="fix" issue="MATH-200" due-to="Plamen Petrov"> |
| Fixed several crashes in getCovariances() and guessParametersErrors() in |
| AbstractEstimator when some parameters are bound. The methods now explicitly |
| give result only about unbound parameters. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-201" due-to="Peter Wyngaard"> |
| Fixed truncation error in t-test classes for large t values. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-204" due-to="Mick"> |
| Added root checks for the endpoints. |
| </action> |
| </release> |
| <release version="1.2" date="2008-02-24" |
| description="This release combines bug fixes and new features. Most notable |
| among the new features are the estimation, optimization, geometry and ode |
| packages added from the Mantissa library. Implementations of fast Fourier |
| transform, QR decomposition and several numerical integration algorithms |
| have also been added, along with enhancements and extensions to packages |
| included in Commons Math 1.1. This release is source and binary compatible |
| with earlier versions of Commons Math."> |
| <action dev="luc" type="fix"> |
| Fixed numerous warnings in test code. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-156" due-to="Tyler Ward"> |
| Use the initial guess provided by the user in BrentSolver.solve(), thus |
| improving speed. |
| </action> |
| <action dev="luc" type="add"> |
| Added the estimation, optimization, geometry and ode packages from the |
| Mantissa library. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-18" due-to="Phil Steitz"> |
| Made ComplexFormat format double values with a provided NumberFormat |
| instance instead of using the real part format for all values. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-120" due-to="Todd C. Parnell"> |
| Added Pascal distribution implementation. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-148" due-to="Joni Salonen"> |
| Added QR Decomposition. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-60" due-to="Nhung Nnguyen"> |
| Modified ProperFractionFormat to reject embedded minus signs. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-151" due-to="Luc Maisonobe"> |
| Added a nextAfter method in MathUtils to return the next |
| machine-representable number in a specified direction from a given |
| floating point number. Used this to ensure that MathUtils.round does |
| not return incorrect results for numbers with bad IEEE754 |
| representations. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-140" due-to="Xiaogang Zhang"> |
| Added Fast Fourier Transform implementation. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-85" due-to="Mark Osborn, Luc Maisonobe"> |
| Modified getSumSquaredErrors method in SimpleRegression to always |
| return a non-negative result. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-153" due-to="Remi Arntzen"> |
| Corrected nextInt and nextLong to handle wide value ranges. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-166" due-to="Lukas Theussl"> |
| Increased default precision of Gamma and Beta functions. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-158" due-to="Hasan Diwan"> |
| Added log function to MathUtils. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-160" due-to="Matthias Hummel"> |
| Added two sample (binned comparison) ChiSquare test. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-167"> |
| Modified NormalDistributionImpl.cumulativeProbablity to catch |
| MaxIterationsExceededException and return 0 or 1, resp. if the argument |
| is more than 20 standard deviations from the mean. |
| </action> |
| <action dev="brentworden" type="update" issue="MATH-170" due-to="David J. M. Karlsen"> |
| Added SynchronizedDescriptiveStatistics class. |
| </action> |
| <action dev="brentworden" type="update" issue="MATH-154" due-to="Remi Arntzen"> |
| Added addAndCheck, mulAndCheck, and subAndCheck MathUtils methods for |
| long integer arguments. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-171" due-to="Niall Pemberton"> |
| Merged most functions from ComplexUtils into Complex class, added |
| static factory method to Complex. |
| </action> |
| <action dev="psteitz" type="update"> |
| Deprecated abstract factory methods and made DescriptiveStatistics and |
| and SummaryStatistics concrete classes. Pushed implementations up |
| from DescriptiveStatisticsImpl, SummaryStatisticsImpl. Made |
| implementations of statistics configurable via setters. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-174"> |
| Changed Mean.evaluate() to use a two-pass algorithm, improving accuracy |
| by exploiting the the fact that this method has access to the full |
| array of data values. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-175" due-to="Carl Anderson"> |
| Added check and rescaling of expected counts to sum to sum of expected |
| counts if necessary in ChiSquare test. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-164"> |
| Handle multiplication of Complex numbers with infinite parts specially. |
| </action> |
| <action dev="luc" type="update" issue="MATH-176" due-to="Kazuhiro Koshino"> |
| Add errors guessing to least-squares estimators. |
| </action> |
| <action dev="luc" type="update" issue="MATH-179" due-to="Niall Pemberton"> |
| Add tests for Fraction constructor using double parameter. |
| </action> |
| <action dev="psteitz" type="add" issue="MATH-173" due-to="Bob MacCallum"> |
| Added one-way ANOVA implementation. |
| </action> |
| <action dev="luc" type="update" issue="MATH-181" due-to="Niall Pemberton"> |
| Add Fraction constructor using max denominator value. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-182"> |
| Add integer overflow checks in Fraction constructor using double parameter. |
| </action> |
| <action dev="luc" type="fix" issue="MATH-185"> |
| Throw EOFException when using empty files with ValueServer in replay and |
| digest modes. |
| </action> |
| <action dev="luc" type="update" > |
| Added a equals and hash methods in MathUtils to check for double arrays |
| </action> |
| <action dev="luc" type="add" > |
| Added an angle normalization method in MathUtils to force angles in some |
| user-defined interval |
| </action> |
| <action dev="luc" type="add" > |
| Added vectorial covariance computation (either sample or population |
| covariance) |
| </action> |
| <action dev="luc" type="add" > |
| Added multivariate summary statistics. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-191"> |
| Added getSumOfLogs method to SummaryStatistics and made SumOfLogs |
| instance used by GeometricMean configurable. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-184" due-to="Yegor Bryukhov"> |
| Fixed AbstractIntegerDistribution cumulativeProbablility(-,-) |
| to correctly handle double arguments. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-188" due-to="Sebastian Bazley"> |
| Made numerator and denominator final in Fraction and |
| deprecated protected real and imaginary parts fields in Complex, |
| making Fraction immutable and preparing Complex to become fully |
| immutable in 2.0. |
| </action> |
| </release> |
| <release version="1.1" date="2005-12-17" |
| description="This is a maintenance release containing bug fixes and enhancements. |
| All API changes are binary compatible with version 1.0. The enhancements |
| include some new probability distributions, a Fraction class, new matrix |
| and numerical utilities, and a PRNG pluggability framework making it |
| possible to replace the JDK-supplied random number generator in |
| Commons Math (and elsewhere) with alternative PRNG implementations."> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Made NewtonSolver derivative field transient and implemented readObject to |
| initialize. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Made sampleStats field private and changed getUpperBounds to return a fresh |
| copy in EmpiricalDistributionImpl. |
| </action> |
| <action dev="psteitz" type="update"> |
| Added polar2Complex method to ComplexUtils to create Complex numbers |
| from polar representations. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-49" due-to="Elliotte Harold"> |
| Made all serialVersionUIDs private. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-5"> |
| Improved documentation and test cases related to handling of infinite |
| and NaN values in Complex, ComplexUtils classes. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-57" due-to="Mauro Talevi"> |
| Fixed incorrect NaN handling in o.a.m.s.d.rank.Min, Max |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Changed RealMatrixImpl.equals to use Double.doubleToLongBits to compare |
| corresponding matrix entries. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Eliminated floating point equals comparison in Percentile.evaluate. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Eliminated unnecessary assignment statements in Skewness.getResult |
| method. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Synchronized getters in ResizeableDoubleArray. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Eliminated unnecessary assignment statement in BisectionSolver.solve |
| method. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-74"> |
| Implemented hashCode in the Complex class and changed the semantics of |
| equals to make all instances with real or imaginary part NaN equal. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-12" due-to="Keith McDonald"> |
| Fixed bin index overflow problem in EmpiricalDistributionImpl. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-108" due-to="Xiaogang Zhang"> |
| Added protection against numerical overflow and underflow in the |
| isBracketing method. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-47" due-to="Nikhil Gupte"> |
| Fixed division by zero error in rounding methods. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-100" due-to="Mike Hu"> |
| Added upper tail cumulative probability method to HypergeometricDistributionImpl. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-22" due-to="Xiaogang Zhang"> |
| Added better handling of numerical overflow and division by zero in |
| Complex calculations. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-92" due-to="Mikael Weigelt"> |
| Changed ContinuedFraction to better handle infinite convergents that |
| resulted in divergent continued fraction evaluations. |
| </action> |
| <action dev="brentworden" type="fix" issue="MATH-32" due-to="Srinivas Vemury"> |
| Changed rounding methods to not rely on BigDecimal conversions which |
| was causing numerical error. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-3" due-to="Jörg Weimar"> |
| Changed Fraction(double) to correctly handle near-integral arguments. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-143" due-to="Jörg Weimar"> |
| Changed lcm to throw ArithmeticException (instead of returning bogus |
| value) if the result is too large to store as an integer. |
| </action> |
| <action dev="psteitz" type="fix" issue="MATH-70" due-to="Mary Ellen Foster"> |
| Added factories for TTest, ChiSquareTest and TestUtils class with |
| static methods to create instances and execute tests. |
| </action> |
| <action dev="psteitz" type="update" issue="MATH-95" due-to="Paul Field"> |
| Eliminated repeated endpoint function evaluations 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> |