Release History

Version Date Description
1.4 2018-11-17 This is a maintenance release. The main changes since last version are the introduction of bilinear interpolation for 2D grids, field versions of sinCos and a way to build three-dimensional field arrays.
1.3 2018-05-08 This is a maintenance release. The main changes since last version are the introduction of complex eigen decomposition, and introduction of a solver for continuous time algebraic Riccati equation.
1.2 2017-10-25 This is a maintenance release.
1.1 2017-03-16 This is a maintenance release.
1.0 2016-06-23 This is the first release of the library

Release 1.4 – 2018-11-17

Type Changes By
Added bilinear interpolation for 2D grids. Github: fixes #48. Fixes issues/48. luc
Added field version of sinCos. Github: fixes #47. Fixes issues/47. luc
Fixed wrong construction of an Illinois solver that really built a Pegasus solver. Github: fixes #44. Fixes issues/44. luc
Renamed scale parameter to location parameter in the log-normal distribution, to avoid confusion. Github: fixes #4. Fixes issues/4. luc
Bisection solvers failed to raise an exception when the search interval did not bracket a root. Github: fixes #40. Fixes issues/40. luc
Added a way to build three-dimensional field arrays. luc

Release 1.3 – 2018-05-08

Type Changes By
Added in FastMath the methods Java 9 added in StrictMath. This ensures FastMath is always a drop-in replacement for Math/StrictMath. Github: fixes #36. Fixes issues/36. luc
Added FieldUnivariateVectorFunction and FieldUnivariateMatrixFunction interfaces, as well as RealFieldUnivariateVectorFunction and RealFieldUnivariateMatrixFunction Github: fixes #35. Fixes issues/35. luc
Added FieldUnivariateFunction interface and have polynomials implement it. Github: fixes #34. Fixes issues/34. luc
Added new utility methods to create real and field vectors from dimension. luc
Allow FastMath to operate on RealFieldElements. This simplifies a lot "fieldification" of algorithms previously implemented with primitive double numbers. luc
Added a transposeMultiply method to compute A^T.B without creating the intermediate transposed matrix. luc
Added a multiplyTransposed method to compute A.B^T without creating the intermediate transposed matrix. luc
Added MatrixDecomposer interface that encapsulates algorithms tolerances. Thanks to Evan Ward. luc
Added a way to compute both sin and cos at once faster than performing two calls. This also speeds up DerivativeStructure.sin and DerivativeStructure.cos. luc
Fixed a problem with eigen decomposition of matrices with large coefficients. Github: fixes #30. Fixes issues/30. luc
Added a solver for Continuous time Algebraic Riccati Equation. Fixes issues/29. Thanks to Alessandro Romero. luc
Added complex eigen decomposition. Thanks to Alessandro Romero. luc

Release 1.2 – 2017-10-25

Type Changes By
Added new RealFieldElement implementations computing a tuple. This allow to perform the same computation on several values at once. The getReal() value correspond to the first component of the tuple. luc
Added bracketing helper methods in UnivariateSolverUtils for RealFieldUnivariateFunction. Github: fixes #24. Fixes issues/24. luc
Improved performance of getRow and setRow for Array2DRowRealMatrix and Array2DRowFieldMatrix. Github: fixes #22. Fixes issues/22. Thanks to Christoph Dibak. luc

Release 1.1 – 2017-03-16

Type Changes By
Added support for sampling from enumerated distributions in RandomDataGenerator. GitHub: fixes issue #19. Fixes issues/19. psteitz
Added support for exact integration in PolynomialFunction. GitHub: fixes issue #18. Fixes issues/18. psteitz
Added a factory to simplify building DerivativeStructure instances. luc
Added proper implementations of equals and hashCode to Fields so they can be used as keys in maps. luc
Added a derivatives method in Hermite interpolator, similar to the one from FieldHermiteInterpolator. luc
Added field-based derivative structures. luc
Added field-based QR decomposition. GitHub: fixes issue #17. Fixes issues/17. Thanks to Andrea Antolino. luc
Performance improvement for Array2DRowRealMatrix.getSubMatrix() (and also Array2DRowFieldMatrix.getSubMatrix()). GitHub: fixes issue #12. Fixes issues/12. Thanks to Christoph Dibak. ebourg
Improved parameter validation for probabilities provided to enumerated distribution constructors. psteitz
Added methods to expose the probability mass function to EnumeratedRealDistribution and EnumeratedIntegerDistribution. psteitz

Release 1.0 – 2016-06-23

Type Changes By
Renamed TestUtils in core stat.inference to InferenceTestUtils and TestUtils in the core unit test package to UnitTestUtils. psteitz
Moved EmpiricalDistribution and MultivariateNormalExpectationMaximization from the random package into stat.fitting and dropped ValueServer. psteitz
Moved sampling (random deviate generation) from distribution implementations to RandomDataGenerator in the random package. psteitz
Fixed "HypergeometricDistribution#logProbability(int)" which returned NaN in case the number of successes equals the population size. tn
Removed interface "DoubleArray". tn
Removed interface "NumberTransformer" and classes "TransformerMap" and "DefaultTransformer" related to transformation of arbitrary objects to double primitives. tn
Fix DerivativeStructure.pow for 0 argument and power less than 1. Thanks to Andrea Antolino. luc
Fix "FastMath#round(..)" to comply to changed contract of "Math#round()" in Java 8. tn
Fixed DerivativeStructure.pow(0.0) which was NaN when the DS was 0, despite it should always be 1.0 in this case, regardless of the base (even if the base is NaN, in fact). luc
Added Gauss-Laguerre quadrature for integration of improper integrals. tn
Added "AggregatableStatistic" interface for statistics that can aggregate results. tn
Added aggregation capabilities to "StreamingStatistics", replacing the removed class "AggregatingSummaryStatistics". tn
Removed "SynchronizedSummaryStatistics", "SynchronizedDescriptiveStatistics" and "SynchronizedMultivariateSummaryStatistics". All implementations are considered to be not threadsafe. Aggregation of results is preferred over synchronization. tn
Renamed "SummaryStatistics" to "StreamingStatistics". Additionally, removed support for setting custom statistics implementations. tn
Replaced "VectorialMean" with a more generic class "VectorialStorelessStatistic" which supports to apply any "StorelessUnivariateStatistic" on vector data. tn
Removed static "copy(A, B)" methods for storeless statistics. tn
"Median" does not extend from "Percentile" anymore, but uses composition instead. tn
Summary statistics based on external moments (e.g. Mean, Variance) are now immutable. tn
Simplified "BinomialConfidenceInterval" and its implementations into class "BinomialProportion". tn
Removed accuracy parameter in constructors of "RealDistribution" implementations that calculate the inverse cumulative probability analytically. tn
Refactored distribution implementations into separate sub-packages: "discrete", "continuous" and "multivariate". tn
Removed "copyOf" and "copyOfRange" methods in "MathArrays". "Object#clone()" and "Arrays#copyOfRange(...)" should be used instead. tn
Simplified "PivotingStrategyInterface" and implementations into single enum class "PivotingStrategy". tn
"RealVector#Entry" is now public. tn
"RealLinearOperator" is now an interface. tn
"Frequency" class now uses generics. For similar functionality as previous class wrt integer numbers, use "LongFrequency" which supports adding different integer number types (e.g. int, long, short) to the same "LongFrequency" instance. tn
Simplified exception hierarchy. luc
Modularized the library. tn
Forked from the Apache Commons Math library. psteitz

Back to top

Version: 1.4. Last Published: 2018-11-14.

Reflow Maven skin by Andrius Velykis.