Extreme Optimization Numerical Libraries for .NET
.NET Core and .NET Standard support
- Support for .NET Core 1.1 and 2.1.
- Support for .NET Standard 1.3 and 2.0.
- Support for .NET Framework 3.5, 4.0, 4.72 and later.
- All packages are available on the Nuget Gallery.
- Broadcasting vectors in matrix operations.
- Enable Conditional Numerical Reproducibility option for native libraries.
- Upgraded native libraries to Intel® Math Kernel Library version 2019 Update 0.
- Upgraded managed linear algebra library to LAPACK 3.7.0.
- Improved range and accuracy of matrix exponential.
- Vector Map methods that include index as delegate argument.
New matrix decompositions
- Generalized Eigenvalue Decomposition.
- Generalized Singular Value Decomposition (GSVD).
- Sparse singular value decomposition.
- RQ decomposition, QL decomposition, and LQ decomposition.
- Access to 'thin' version of the orthogonal factor Q in a QR decomposition.
- Compute factors of symmetric and Hermitian indefinite decomposition.
- Improve performance for level 2 managed sparse BLAS.
- Improve performance for various vector operations.
- The threshold for parallel execution of vector maps can now be configured.
- The generic Operations<T> class has been optimized to eliminate nearly all overhead for the most frequently used operations on the most common argument types.
- ParallelOptions is now exposed for all algorithms to enable cancellation and other scenarios.
- Combinatorial iterators to enumerate all combinations, permutations, and Cartesian products of sets of items.
- New overloads for numerical integration methods that take Interval objects to specify bounds.
- Inverse hyperbolic functions for decimal and quad precision numbers.
- The NonlinearProgram class has a new constructor that accepts variable names.
- Symbolic constraints that are linear in the variables are now recognized as such.
- The Nonlinear Program solver can now recover when it encounters an infeasible subproblem.
- Up to 30% improvement in the performance of the Linear Program solver
- Limited Memory BFGS Optimizer.
- LeastSquaresOptimizer base class for nonlinear least squares algorithms.
- Trust Region Reflexive algorithm for nonlinear least squares.
- Trust Region Reflexive algorithm option in nonlinear curve fitting.
- Improved documentation for nonlinear least squares algorithms.
- Jacobi elliptic functions.
- Zeros of Bessel and Airy functions.
- The performance and accuracy of Bessel functions of the first and second kind has been improved.
- Polygamma function.
- Modified Bessel functions of real order.
- "Partial application" functions for incomplete and regularized Gamma and Beta functions.
- Zernike polynomials.
Statistics and data analysis
Data access library
- Data Access Library providing a unified API for reading and writing data frames, matrices, and vectors.
- Reading and writing R's .rda/.rdata and .rds files.
- JSON serialization.
- Other supported formats include: delimited text (CSV, TSV...), fixed-width text, Matrix Market, Matlab®, stata®
- Use R-style model formulas to specify statistical models.
- Partial Least Squares (PLS) models.
- Linear Discriminant Analysis.
- Kernel Density Estimation.
- Binomial Generalized Linear Model can now be used with count data.
- Two-way ANOVA: support for Type I, Type II, and Type III sums of squares.
- New ConditionalVariances property on GARCH models.
- The performance of ARIMA model fitting has been improved.
- Nicer Summarize for statistical models.
- Augmented Dickey-Fuller test.
- Cramer-von Mises Goodness-of-fit test.
- Tests for outliers: Grubbs' test, Generalized ESD test.
- New aggregators: Range, Mode, CountUnique.
- Improved support for custom aggregators based on accumulators.
- R-style variations of quantiles.
- LOESS and LOWESS smoothing.
- More categorical encodings: Backward difference, Forward difference, Helmert, reverse Helmert, orthogonal polynomial encoding.
- Non-central chi-square, non-central F, non-central beta, and non-central t distributions.
- Anderson Darling distribution is now public.
- 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.
- Data frame class supporting advanced data manipulation.
- Support for GPU computing
- Offload computations to the GPU.
- Support for quadruple precision numbers with up to 34 digits, including our full vector and matrix library. Real and complex numbers are supported.
- Smoothing cubic splines, monotonicity preserving splines.
- GARCH models (Generalized AutoRegressive Conditional Heteroskedasticity).
- Regularized linear regression models: Ridge regression, LASSO and elastic net.
- 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.
- 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.
- 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.
- .NET Framework Version 4.0 とVisual Studio 2010の並列処理サポート
- 複数コア利用による計算スピードの向上 (.NET 4.0のみ)
- 新しい特殊関数: ハイパー幾何, Riemann zeta, 楕円積分, Fresnel関数, Dawsonの積分