|New Version 7.0!
Try it for free with our fully functional
60-day trial version.
"The de facto-standard library for linear algebra on the .NET platform is the Extreme Optimization Library."
- Jon Harrop, author, F# for Scientists
"I have yet to see another package that offers the depth of statistical analysis that Extreme Optimization does,
and I must say that I'm impressed with the level of service I've experienced."
- Henry Oh, RBC Capital Markets
"I have made it my mission to institutionalize the value of good
API design. I strongly believe that this is key to making developers
more productive and happy on our platform. It is clear that you value good
API design in your work, and take to heart developer productivity and
synergy with the .NET framework."
- Brad Abrams,
Lead Program Manager,
Extreme Optimization Numerical Libraries for .NET
Build financial, engineering and scientific applications faster
New version 7.0! (November 2018) with support for
.NET Core 1.1 and 2.1 and .NET Standard 1.3 and 2.0.
See what's in the latest updates
and download the trial today.
The Extreme Optimization Numerical Libraries for .NET are a collection
of general-purpose mathematical and statistical classes built for the Microsoft
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 version 4.0 and above. It combines
a math library, a vector and matrix library, and a statistics library
in one convenient package.
At a glance:
- Seamless parallelism using .NET 4.0's Task Parallel Library.
- Basic math: Complex numbers,
'special functions' like Gamma and Bessel functions,
- 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
- 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
- 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:
39 continuous and discrete
statistical distributions, including uniform, Poisson, normal, lognormal, Weibull
and Gumbel (extreme value) distributions and various
- 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.
- 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.
New in Version 6.0 (March 2016)
- There now is one setup for both 32 and 64 bit operating systems.
- The documentation has been fully updated to the latest API.
- New and updated QuickStart samples illustrate the new API.
New math features
- Complex numbers are now generic over the type of the real and imaginary parts.
- Flexible genetic optimization framework.
- Akima splines and cubic Hermite splines.
- New special functions, including complex error function
and orthogonal polynomials.
- Smoothing signals: Savitsky-Golay and Moving Average smoothing.
- Vector functions for complex single and double precision arguments.
New Data Frame Library features
- Support for LINQ queries on data frames, vectors and matrices.
- New groupings: fixed and expanding windows, partitions,
groupings on value and quantiles, 2D pivot tables, and resampling.
- Many new aggregators; improved efficiency of many aggregations.
- New generic Descriptives class for collecting descriptive statistics of vectors.
- Lookup nearest and join on nearest for ordered indexes.
- New Recurrence type lets you specify date/time patterns for use in
resampling time based data.
New vector and matrix library features
- All vector and matrix classes are now generic,
including sparse matrices and complex versions.
- New static Vector and Matrix classes remove the need
to specify the element type as a generic type parameter.
- Specify mutability: including read-only snapshot, read-only
view, and writable with copy-on-write semantics.
- Many new methods for in-place and out-of-place calculations
on vectors and matrices.
- The native libraries have been upgraded to Intel MKL version 11.3 Update 2.
- The native libraries now support Conditional Numerical Reproducibility.
- The CUDA libraries for 64 bit have been upgraded to CUDA version 7.5.
- New fully managed implementation of the linear algebra library for single-precision.
New statistics features
- Verbose output when working in an interactive environment.
- Full integration with the DataFrame library.
- Categorical variables are expanded into indicator variables as needed.
- Models can be persisted in a form suitable for deployment in
predictive modeling applications.
- Several new probability distributions have been added.
You can see a list of what was new in earlier versions:
A fully functional 60 day trial version is now available.
Download it here, or order today.
Copyright © 2003-2020, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.