Math.NET Numerics

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Math.NET Numerics
Developer(s) C. Rüegg, M. Cuda, et al.
Stable release 3.0 / 21 June 2014
Development status Active
Written in C#, F#, .NET CLR
Operating system Cross-platform
Type Numerical library
License MIT/X11
Website http://numerics.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.

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". 
  4. ^ "FermiSim, studying potential solutions to the Fermi paradox via computational simulation of models for space colonisation". 
  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): 6037–6055. doi:10.3390/s110606037. ISSN 1424-8220. 

External links[edit]