Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.