Math.NET Numerics is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
numerical library for
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
and
Mono
Mono may refer to:
Biology
* Infectious mononucleosis, "the kissing disease"
* Monocyte, a type of leukocyte (white blood cell)
* Monodactylidae, members of which are referred to as monos
Technology and computing
* Mono (audio), single-c ...
, written in
C# and
F#. It features functionality similar to
BLAS Blas is mainly a Spanish given name and surname, related to Blaise. It may refer to
Places
*Piz Blas, mountain in Switzerland
* San Blas (disambiguation)
People
* Ricardo Blas Jr. (born 1986) Judo athlete from Guam
* Blas Antonio Sáenz (fl. 18 ...
and
LAPACK
LAPACK ("Linear Algebra Package") is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It als ...
.
History
Math.NET Numerics started 2009 by merging code and teams of
dnAnalytics with Math.NET Iridium. It is influenced by
ALGLIB
ALGLIB is a cross-platform open source numerical analysis and data processing library. It can be used from several programming languages ( C++, C#, VB.NET, Python, Delphi, Java).
ALGLIB started in 1999 and has a long history of steady developm ...
,
JAMA
''JAMA'' (''The Journal of the American Medical Association'') is a peer-reviewed medical journal published 48 times a year by the American Medical Association. It publishes original research, reviews, and editorials covering all aspects of b ...
and
Boost, among others, and has accepted numerous code contributions. 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, FermiSim and LightField Retrieval, and various theses and papers.
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
In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the for ...
arithmetic and trigonometry.
* “Special” routines including the
Gamma
Gamma (; uppercase , lowercase ; ) is the third letter of the Greek alphabet. In the system of Greek numerals it has a value of 3. In Ancient Greek, the letter gamma represented a voiced velar stop . In Modern Greek, this letter normally repr ...
,
Beta
Beta (, ; uppercase , lowercase , or cursive ; or ) is the second letter of the Greek alphabet. In the system of Greek numerals, it has a value of 2. In Ancient Greek, beta represented the voiced bilabial plosive . In Modern Greek, it represe ...
,
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
In statistics, the Pearson correlation coefficient (PCC) is a correlation coefficient that measures linear correlation between two sets of data. It is the ratio between the covariance of two variables and the product of their standard deviatio ...
.
*
Markov chain Monte Carlo
In statistics, Markov chain Monte Carlo (MCMC) is a class of algorithms used to draw samples from a probability distribution. Given a probability distribution, one can construct a Markov chain whose elements' distribution approximates it – that ...
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
*
List of numerical analysis software
Listed here are notable end-user computer applications intended for use with numerical or data analysis:
Numerical-software packages
* Analytica is a widely used proprietary software tool for building and analyzing numerical models. It is a de ...
*
List of numerical libraries
This is a list of numerical libraries, which are libraries used in software development for performing numerical calculations. It is not a complete listing but is instead a list of numerical libraries with articles on Wikipedia, with few exceptio ...
References
External links
Math.NET Numerics WebsiteMath.NET Initiative
{{DEFAULTSORT:Mathnetnumerics
C Sharp libraries
Numerical software