Jump to content

Math.NET Numerics

From Wikipedia, the free encyclopedia
Math.NET Numerics
Developer(s)C. Rüegg, M. Cuda, et al.
Stable release
4.15.0 / 7 January 2021; 3 years ago (2021-01-07)
Repository
Written inC#, F#, .NET CLR
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]

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]

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]

References

[edit]
  1. ^ "Math.NET Numerics ReadMe". GitHub.com. Retrieved 2013-05-08.
  2. ^ "Math.NET Numerics Contributors". GitHub.com. Retrieved 2013-05-08.
  3. ^ "MyMediaLite Recommender System Library". Archived from the original on 2013-06-01. Retrieved 2013-05-08.
  4. ^ "FermiSim, studying potential solutions to the Fermi paradox via computational simulation of models for space colonisation". 14 January 2011.
  5. ^ "Three-Dimensional Model Shape Description and Retrieval Based on LightField Descriptors".
  6. ^ Schräder, Niklas (2011). Detecting falls and poses in image silhouettes (M.Sc). Chalmers University of Technology, Gothenburg, Sweden. ISSN 1652-8557.
  7. ^ Schindlberger, Michael (2011). Elastic Properties of Growing 2D Foam (M.Sc). University of Zurich.
  8. ^ Ferreira, André Filipe Mateus. SoundLog: Make More Noise (M.Sc). Universidade Técnica de Lisboa.
  9. ^ Miller, Justin (2010). Design of a Wireless Acquisition System for a Digital Stethoscope (B.Sc). University of Southern Queensland.
  10. ^ LÍŠKA, Ondrej; ŽIDEK, Kamil (2010). "Accelerometers usability for danger tilt off-highway vehicles and signal filtration with kalman filter". Journal of Applied Science in the Thermodynamics and Fluid Mechanics. 4 (2): 1–6. ISSN 1802-9388.
  11. ^ Krejcar, Ondrej; Jirka, Jakub; Janckulik, Dalibor (2011). "Use of Mobile Phones as Intelligent Sensors for Sound Input Analysis and Sleep State Detection". Sensors. 11 (6): 6037–6055. Bibcode:2011Senso..11.6037K. doi:10.3390/s110606037. ISSN 1424-8220. PMC 3231421. PMID 22163941.
[edit]