Math.NET Numerics
   HOME

TheInfoList



OR:

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 Website

Math.NET Initiative
{{DEFAULTSORT:Mathnetnumerics C Sharp libraries Numerical software