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.
More math library features… QuickStart samples…
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 and performance: Calculations can be done in 100% managed code, or in hand-optimized processor-specific native code (32 and 64 bit).
- 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.
More Vector and Matrix library features… QuickStart samples…
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.
More Data Analysis library features… QuickStart samples…
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:
3945 continuous and discrete statistical distributions, including uniform, Poisson, normal, lognormal, Weibull and Gumbel (extreme value) distributions and various multivariate distributions. - Hypothesis Tests:
15hypothesis 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.
More Statistics library features… QuickStart samples…
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 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.
A fully functional 30 day trial version is now available. get it from Nuget, or order today.