An important library in the C# and F# open source communities is the Math.NET Numerics library. I blogged the first part in a (slow) series on using the library from F# back in June and there is another tutorial as part of the Numerical Libraries for F# and the .NET Framework overview from early last year. We also use this library in Expert F# 3.0, Chapter 10, in the chapter on “Programming With Numbers”, and the library is also used in the new Try F# 3.0 website.

The library has received a scrub recently, with a much simplified website and moving to the pull-request model of open-source development, and v2.3.0 is now released. Here are the release notes from one of the contributors, Christoph Rüegg. The parts specifically related to F# support are highlighted, though of course all of it is goodness to the open-source-oriented, math-oriented F# programmer.

If you’re interested in this space you might like to consider contributing to the F# support in Math.NET Numerics (or the core C# library itself). The folks at the F# Software Foundation like the library too and are working on including information about it, something you can also contribute to. There has also been some discussion about F# math types on GitHub recently (also here), including the possibility of copying the F# matrix types from the F# power pack into MathNet.Numerics.FSharp and adding them to the family of matrix representations supported by Math.NET Numerics. This would give a more centralized home to open-source math support for F# and would avoid duplication in the long term.

Kind regards

Don

*Portable Library Build:*

*Adds support for WP8 (.Net 4.0 and higher, SL5, WP8 and .NET for Windows Store apps)**New: portable build also for F# extensions (.Net 4.5, SL5 and .NET for Windows Store apps)**NuGet: portable builds are now included in the main packages, no more need for special portable packages*

*Linear Algebra:*

*Continued major storage rework, in this release focusing on vectors (previous release was on matrices)**Thin QR decomposition (in addition to existing full QR)**Static CreateRandom for all dense matrix and vector types**F#: slicing support for matrices and vectors*

*Random and Probability Distributions:*

*Consistent static Sample methods for all continuous and discrete distributions (was previously missing on a few)**F#: better usability for random numbers and distributions.*

*Misc:*

*F# extensions are now using F# 3.0**Updated Intel MKL references for our native linear algebra providers**Various bug, performance and usability fixes*

*Also available as NuGet packages:** PM> Install-Package MathNet.Numerics ** PM> Install-Package MathNet.Numerics.FSharp *

*Note: The portable package MathNet.Numerics.Portable has been dropped, as NuGet 2.1 properly supports portable builds in the main package.*