# Build financial, engineering and scientific applications faster

*Numerics.NET* (formerly *Extreme Optimization Numerical Libraries for .NET*)
is a collection of general-purpose mathematical and statistical classes built
for Microsoft .NET.

*Numerics.NET* provides the first
complete platform for technical and statistical computing built on and
for the Microsoft .NET platform. It combines
a math library, a vector and matrix library, a data analysis library,
and a statistics library in one convenient package.

## At a glance:

### Mathematics

**Seamless parallelism**using the Task Parallel Library.**Basic math**: Complex numbers,`Decimal`

math, 'special functions' like Gamma and Bessel functions, numerical differentiation.**Automatic differentiation**: eliminate tedious and error-prone manual derivative calculations.**Solving equations**: Solve equations in one variable, or solve systems of linear or nonlinear equations.**Curve fitting**: Linear and nonlinear curve fitting, cubic splines, polynomials, orthogonal polynomials.**Optimization**: State of the art algorithms for finding the minimum or maximum of a function in one or more variables, linear programming (LP), mixed integer programming (MIP), quadratic programming (QP) and nonlinear programming (NLP).**Genetic Optimization**: Flexible framework for finding good solutions to hard problems.**Numerical integration**: Compute integrals over finite or infinite intervals. Integrate over 2D and higher dimensional regions. Integrate systems of ordinary differential equations (ODE's).**Fast Fourier Transforms**: 1D and 2D FFT’s using 100% managed or fast native code (32 and 64 bit)**BigInteger, BigRational, and BigFloat**: Perform operations with arbitrary precision.**Generic arithmetic framework**: Write the code once and use it with any numerical type.**Random numbers**: Random variates from any distribution, 4 high-quality random number generators, low discrepancy sequences, shufflers.

### Vector and Matrix Library

**Real and complex**vectors and matrices.**Single, double and quadruple precision**for elements.**Structured matrix types**: including triangular, symmetrical and band matrices.**Sparse matrices**.**Iterative sparse solvers**and preconditioners.**Matrix factorizations**: LU decomposition, QR decomposition, singular value decomposition, Cholesky decomposition, eigenvalue decomposition.**Portability**: Calculations can be done in 100% managed code, or in hand-optimized processor-specific native code (32 and 64 bit).*and*performance**Generic library**: Use built-in .NET types or any of the new arbitrary precision types to do matrix calculations.**Row and column labels**: Add labels to your data and take advantage of automatic alignment on labels.

### Data Analysis

**Data frame**: Advanced data analysis, manipulation and transformation.**Data munging**: Sort and filter data, process missing values, remove outliers, etc. Supports .NET data binding.**Data manipulation**: Reshape data frames, database-like joins, join to nearest, stacking and unstacking.**Grouping and Aggregation**: Efficient aggregation over groupings by value or quantile, moving and expanding windows, partitions.

### Statistics

**Statistical Models**: Simple, multiple, nonlinear, logistic, Poisson regression. Generalized Linear Models. One and two-way ANOVA.**Time Series Models**: ARIMA and GARCH.**Multivariate Statistics**: K-means cluster analysis, hierarchical cluster analysis, principal component analysis (PCA), factor analysis.**Statistical Distributions**:~~39~~continuous and discrete statistical distributions, including uniform, Poisson, normal, lognormal, Weibull and Gumbel (extreme value) distributions and various multivariate distributions.**Hypothesis Tests**:~~15~~hypothesis tests, including the z-test, t-test, F-test, runs test, and more advanced tests, such as the Anderson-Darling test for normality, one and two-sample Kolmogorov-Smirnov test, and Levene’s test for homogeneity of variances, Ljung-Box test for auto-correlation, Kruskal-Wallis test.

### General features

**Parallel computing**. Take advantage of all the CPU and GPU power in your machine. Full support for Task Parallel Library features including cancellation. Support for CUDA based GPU calculations.**Great performance**. We implemented the best algorithms available today to provide you with a robust, fast toolset.**Intuitive object model**. The classes in Extreme Numerics.NET and the relationships between them match our every-day concepts.**Ground-breaking usability**for numerical software development. The math itself is hard enough.-
**Broad base of algorithms**covering a wide range of numerical techniques, including: linear algebra (BLAS and LAPACK routines), numerical integration and differentiation, solving equations, complex numbers, and more.Whether you develop applications in C#, Visual Basic .NET, F#, C++/CLI, IronPython or any of the other .NET Framework languages,

*Numerics.NET*provides the**reliable foundation**and the building blocks developers need.

See what’s new in the latest version. You can see a list of what was new in earlier versions: 7.0, 6.0, 5.1, 5.0, 4.2, 4.1, 4.0.

A fully functional 30 day trial version is now available. **get it from Nuget**, or **order today**.