What's New in Math.NET Numerics 2.6 - Announcement, Explanations and Sample Code.
New: Linear Curve Fitting
- Linear least-squares fitting (regression) to lines, polynomials and linear combinations of arbitrary functions.
- Multi-dimensional fitting.
- Also works well in F# with the F# extensions.
New: Root Finding
- Brent's method. ~Candy Chiu, Alexander Täschner
- Bisection method. ~Scott Stephens, Alexander Täschner
- Broyden's method, for multi-dimensional functions. ~Alexander Täschner
- Newton-Raphson method.
- Robust Newton-Raphson variant that tries to recover automatically in cases where it would fail or converge too slowly. This modification makes it more robust e.g. in the presence of singularities and less sensitive to the search range/interval.
- All algorithms support a TryFind-pattern which returns success instead of throwing an exception.
- Special case for quadratic functions, in the future to be extended e.g. to polynomials.
- Basic bracketing algorithm
- Also works well in F# with the F# extensions.
Linear Algebra
- Native eigenvalue decomposition (EVD) support with our MKL packages ~Marcus Cuda
- Add missing scalar-vector operations (s-v, s/v, s%v) ~Thomas Ibel
- Support for new F# 3.1 row/column slicing syntax on matrices
- Matrices learned proper OfColumn/RowVectors, analog also in F#.
- Documentation Fixes ~Robin Neatherway
- BUG: Fixed exception text message when creating a matrix from enumerables (rows vs columns) ~Thomas Ibel
- We're phasing out MathNet.Numerics.IO that used to be included in the main package for matrix file I/O for text and Matlab formats. Use the new .Data.Text and .Data.Matlab packages instead.
Statistics & Distributions
- Spearman Rank Correlation Coefficient ~Iain McDonald
- Covariance function, in Array-, Streaming- and common Statistics.
- Categorical: distribution more consistent, no longer requires normalized pdf/cdf parameters
- Categorical: inverse CDF function ~Paul Varkey
- BUG: Fixed static sampling methods of the `Stable` distribution. ~Artyom Baranovskiy
Misc
- BUG: Fixed a bug in the Gamma Regularized special function where in some cases with large values it returned 1 instead of 0 and vice versa.
- The F# extensions now have a strong name in (and only in) the signed package as well (previously had not been signed). ~Gauthier Segay
- Evaluate.Polynomial with new overload which is easier to use.
- Fixed a couple badly designed unit tests that failed on Mono.
- Repository now Vagrant-ready for easy testing against recent Mono on Debian.
Thanks a lot for all the contributions!
Also available as NuGet packages:
PM> Install-Package MathNet.Numerics PM> Install-Package MathNet.Numerics.FSharp Data IO:
PM> Install-Package MathNet.Numerics.Data.Text PM> Install-Package MathNet.Numerics.Data.Matlab Code samples:
PM> Install-Package MathNet.Numerics.Sample PM> Install-Package MathNet.Numerics.FSharp.Sample If you absolutely require a signed library with a strong name:
PM> Install-Package MathNet.Numerics.Signed