Math.NET Numerics

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Math.NET Numerics
DevelopersC. Rüegg, M. Cuda, et al.
Stable release
4.15.0 / 7 January 2021; 5 years ago (2021-01-07)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC#, F#, .NET CLR
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypeNumerical library
    LicenseMIT/X11
    Websitenumerics.mathdotnet.com

    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]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]