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.
Portable Library Build:
Random and Probability Distributions:
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.