Math.NET Numerics
Jump to navigation
Jump to search
| Math.NET Numerics | |
|---|---|
| Developers | C. Rüegg, M. Cuda, et al. |
| Stable release | 4.15.0
/ 7 January 2021 |
| Repository |
|
| Written in | C#, F#, .NET CLR |
| Engine | |
| Operating system | Cross-platform |
| Type | Numerical library |
| License | MIT/X11 |
| Website | numerics |
Math.NET Numerics is an open-source numerical library for .NET and Mono, written in C# and F#. It features functionality similar to BLAS and LAPACK.
History
[edit | edit source]Math.NET Numerics started 2009 by merging code and teams of dnAnalytics with Math.NET Iridium. It is influenced by ALGLIB, JAMA and Boost, among others, and has accepted numerous code contributions.[1][2] It is part of the Math.NET initiative to build and maintain open mathematical toolkits for the .NET platform since 2002.[citation needed]
Math.NET is used by several open source libraries and research projects, like MyMediaLite,[3] FermiSim[4] and LightField Retrieval,[5] and various theses[6][7][8][9] and papers.[10][11]
Features
[edit | edit source]The software library provides facilities for:
- Probability distributions: discrete, continuous and multivariate.
- Pseudo-random number generation, including Mersenne Twister MT19937.
- Real and complex linear algebra types and solvers with support for sparse matrices and vectors.
- LU, QR, SVD, EVD, and Cholesky decompositions.
- Matrix IO classes that read and write matrices from/to Matlab and delimited files.
- Complex number arithmetic and trigonometry.
- “Special” routines including the Gamma, Beta, Erf, modified Bessel and Struve functions.
- Interpolation routines, including Barycentric, Floater-Hormann.
- Linear Regression/Curve Fitting routines.
- Numerical Quadrature/Integration.
- Root finding methods, including Brent, Robust Newton-Raphson and Broyden.
- Descriptive Statistics, Order Statistics, Histogram, and Pearson Correlation Coefficient.
- Markov chain Monte Carlo sampling.
- Basic financial statistics.
- Fourier and Hartley transforms (FFT).
- Overloaded mathematical operators to simplify complex expressions.
- Runs under Microsoft Windows and platforms that support Mono.
- Optional support for Intel Math Kernel Library (Microsoft Windows and Linux)
- Optional F# extensions for more idiomatic usage.
See also
[edit | edit source]References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).