MathNet alternatives and similar packages
Based on the "Mathematics" category.
Alternatively, view MathNet alternatives based on common mentions on social networks and blogs.
A set of tools for graph layout and viewing
5.0 7.2 MathNet VS AngouriMathNew open-source cross-platform symbolic algebra library for C# and F#. Can be used for both production and research purposes.
2.2 6.3 MathNet VS Vim.Math3dA .NET Standard 2.0 library for simple and efficient 3D math that is a feature-rich replacement for System.Numerics https://vimaec.github.io/Math3D
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MathNet or a related project?
Math.NET Numerics is an opensource numerical library for .NET and Mono.
Math.NET Numerics is the numerical foundation of the Math.NET initiative, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Covered topics include special functions, linear algebra, probability models, random numbers, statistics, interpolation, integration, regression, curve fitting, integral transforms (FFT) and more.
In addition to the core .NET package (which is written entirely in C#), Numerics specifically supports F# with idiomatic extension modules and maintains mathematical data structures like BigRational that originated in the F# PowerPack. If a performance boost is needed, the managed-code provider backing its linear algebra routines and decompositions can be exchanged with wrappers for optimized native implementations such as Intel MKL.
Math.NET Numerics is covered under the terms of the [MIT license](LICENSE.md). You may therefore link to it and use it in both opensource and proprietary software projects. We accept contributions!
- Project Website
- Source Code
- NuGet & Binaries | Release Notes
- Documentation | API Reference
- Issues & Bugs | Ideas
- Discussions | Stack Overflow | Twitter
- Wikipedia | OpenHUB
MKL Native Provider
OpenBLAS Native Provider
The recommended way to get Math.NET Numerics is to use NuGet. The following packages are provided and maintained in the public NuGet Gallery.
- MathNet.Numerics.FSharp - optional extensions for a better F# experience. BigRational.
Intel MKL Provider (optional):
- MathNet.Numerics.Providers.MKL - Binding to Native Intel MKL provider.
- MathNet.Numerics.MKL.Win - Native Intel MKL provider (Windows).
- MathNet.Numerics.MKL.Win-x86 - Native Intel MKL provider (Windows/32-bit only).
- MathNet.Numerics.MKL.Win-x64 - Native Intel MKL provider (Windows/64-bit only).
Data/IO Packages for reading and writing data (optional):
- MathNet.Numerics.Data.Text - Text-based matrix formats like CSV and MatrixMarket.
- MathNet.Numerics.Data.Matlab - MATLAB Level-5 matrix file format.
Platform Support and Dependencies
- .NET 5.0 or higher (Package includes builds for 5.0 and 6.0)
- .NET Framework 4.6.1 or higher (Package includes builds for 4.6.1 and 4.8)
- .NET Standard 2.0 or higher (Package includes builds for 2.0)
For full details, dependencies and platform discrepancies see Platform Compatibility.
Building Math.NET Numerics
You can build Math.NET Numerics with an IDE like VisualStudio or JetBrains Rider, with MsBuild, .NET CLI tools or with FAKE (recommended).
./build.sh build (or build.cmd) ./build.sh test
./restore.sh (or restore.cmd) dotnet build MathNet.Numerics.sln
./restore.sh (or restore.cmd) msbuild MathNet.Numerics.sln
See Build & Tools for full details on how to build, generate documentation or even create a full release.
*Note that all licence references and agreements mentioned in the MathNet README section above are relevant to that project's source code only.