|Updated Version 5.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
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.5. 4.0 and 3.5. It combines
a math library, a vector and matrix library, and a statistics library
in one convenient package. A .NET 2.0 version is also available.
New features! We add new algorithms and features all the time.
See what's in the latest updates
and download the trial today.
At a glance:
- Seamless parallelism using .NET 4.0's 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).
- Numerical integration: Compute integrals over finite or
infinite intervals. Integrate over 2D and higher dimensional regions. Integrate systems of ordinary differential equations
- 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
- Generic arithmetic framework: Write the code once and use it with
any numerical type.
Vector and Matrix Library
- Real and complex vectors and matrices.
- Single and double 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.
- Data manipulation: Sort and filter data, process
missing values, remove outliers, etc. Supports .NET data binding.
- 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:
37 continuous and discrete
statistical distributions, including uniform, Poisson, normal, lognormal, Weibull
and Gumbel (extreme value) distributions and various
- Hypothesis Tests:
12 14 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.
- Random numbers: Random variates from any distribution, 4 high-quality
random number generators, low discrepancy sequences, shufflers.
- Multi-core ready. Take advantage of all the CPU power in your machine.
Full support for Task Parallel Library features including cancellation.
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.
- Support for quadruple precision numbers with up to 34 digits,
including our full vector and matrix library.
Real and complex numbers are supported.
- Support for GPU computing (CUDA).
- Row and column labels for vectors and matrices.
- Automatic alignment on labels.
New since Version 5.0
- Smoothing cubic splines, monotonicity preserving splines.
- Nonlinear curve fitting for arbitrary domains, including surface fitting.
- Improved Quadratic Programming solver.
- Optimized elementary functions on vectors and matrices.
- Reshaping operations on vectors and matrices.
- GARCH models (Generalized AutoRegressive Conditional Heteroskedasticity).
- Regularized linear regression models: Ridge regression, LASSO and elastic net.
- Cumulative multivariate normal distribution.
- Hyperbolic and Inverse Gaussian distribution.
- Post hoc tests for one-way ANOVA: Tukey, Tukey-Kramer, Scheffé, Fisher-Hayter
- Ljung-Box test for autoregression.
- Support for F# 3.1 features.
New in version 5.0 (March, 2013)
- Much improved support for F# development.
- Akima and cubic Hermite splines.
- Orthogonal polynomials: Chebyshev, Legendre, Laguerre...
- Symmetric indefinite decomposition
- Generic and complex sparse vectors and matrices
- Factor analysis
- Improved setup experience.
New in version 4.2 (December, 2011)
- Automatic differentiation: symbolic computation of derivatives, gradients and Jacobians.
- Extensible with built-in support for derivatives of methods in System.Math and most elementary and special functions in the library.
- Backward differentiation with common sub-expression elimination generates optimal evaluation.
- New SymbolicMath class that lets you optimize functions and solve equations specified as lambda expressions using automatic differentation.
- Evaluation of (sequences of) classic orthogonal polynomials: Chebyshev (1st and 2nd kind), Hermite, Laguerre, Legendre and Gegenbauer.
- Stepwise linear regression.
- Regression fits of linearized curves: logarithmic, power, exponential, reciprocal...
- 2x2 and RxC Contingency tables.
New in version 4.1 (July, 2011)
- Optimization framework. Provides a generic model for defining and solving optimization problems.
- Quadratic Programming. Solve quadratic optimization models with linear constraints.
- Nonlinear Programming. Optimize nonlinear functions with linear or nonlinear constraints.
- New Decimal functions extend all the functions in System.Math to the decimal type, including sin, cos, exp.
- Improved elementary functions. Evaluate sine, cosine and tangent accurately for huge arguments.
- Iterative sparse solvers Efficiently solve systems with many thousands of variables, optionally using preconditioners.
- New probability distributions LogSeries and Maxwell.
New in version 4.0 (November, 2010)
- Support for .NET Framework Version 4.0 and Visual Studio 2010
- Parallellized. Speed up your calculations by taking
advantage of multiple cores. (.NET 4.0 only)
- New sparse linear program solver can solve problems with more than 1 million variables.
- Mixed integer linear programming using a branch and bound algorithm.
- New special functions: hypergeometric, Riemann zeta, elliptic integrals, Fresnel functions, Dawson's integral.
- Full set of window functions for FFT's.
- Performance improvements of up to 6x in linear algebra and arbitrary precision types.
- Over 50 new QuickStart samples in F#.
A fully functional 60 day trial version is now available.
Download it here, or order today.
Copyright © 2003-2014, 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.