Software:Math.NET Numerics

From HandWiki
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)
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

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

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

References

  1. "Math.NET Numerics ReadMe". GitHub.com. https://github.com/mathnet/mathnet-numerics/blob/master/README.md. Retrieved 2013-05-08. 
  2. "Math.NET Numerics Contributors". GitHub.com. https://github.com/mathnet/mathnet-numerics/blob/master/CONTRIBUTORS.md. Retrieved 2013-05-08. 
  3. "MyMediaLite Recommender System Library". http://www.ismll.uni-hildesheim.de/mymedialite/. 
  4. "FermiSim, studying potential solutions to the Fermi paradox via computational simulation of models for space colonisation". https://launchpad.net/fermisim. 
  5. "Three-Dimensional Model Shape Description and Retrieval Based on LightField Descriptors". https://code.google.com/p/lightfieldretrieval/. 
  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. doi:10.3390/s110606037. ISSN 1424-8220. PMID 22163941. Bibcode2011Senso..11.6037K. 

External links