Build financial, engineering and scientific applications faster
The Extreme Optimization Numerical Libraries for .NET are a collection of general-purpose mathematical and statistical classes built for the Microsoft .NET framework.
The Extreme Optimization Numerical Libraries for .NET provide 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, and a statistics library in one convenient package.
At a glance:
- Seamless parallelism using the Task Parallel Library.
- Basic math: Complex numbers,
Decimalmath, '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 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.
- 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:
39continuous 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.
- 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 the Extreme Optimization Numerical Libraries for .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, the Extreme Optimization Numerical Libraries for .NET provide the reliable foundation and the building blocks developers need.