Build financial, engineering and scientific applications faster

Nonlinear curve fit with confidence and prediction bands

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 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.

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.