Math Library Features
The Extreme Optimization Numerical Libraries for .NET includes classes for the following subject areas. Also see the detailed vector and matrix, data analysis and statistics feature lists.
Download the trial version today!
General
- Machine floating-point constants.
- Common mathematical constants.
- Extended elementary functions.
- Algorithm support functions: iteration, tolerance, convergence tests.
Complex numbers
- Double-precision complex number value type.
- Overloaded operators for all arithmetic operations.
- Static operator functions for languages that don’t support operator overloading.
- Extension of functions in System.Math to complex argument.
- Support for complex infinity and complex Not-a-Number (NaN).
- Complex vector and matrix classes.
Numerical integration and differentiation
- Numerical differentiation.
- Numerical integration using Simpson’s rule and Romberg’s method.
- Non-adaptive Gauss-Kronrod numerical integrator.
- Adaptive Gauss-Kronrod numerical integrator.
- Integration over infinite intervals.
- Optimizations for functions with singularities and/or discontinuities.
- Six integration rules to choose from, or provide your own.
- Integration in 2 or more dimensions. Updated!
Curve fitting and interpolation
- Interpolation using polynomials, cubic splines, piecewise constant and linear curves.
- Barycentric rational interpolation.
- Linear least squares fit using polynomials or arbitrary functions.
- Nonlinear least squares using predefined functions or your own.
- Predefined nonlinear curves: exponential, rational, Gaussian, Lorentz, 4 and 5 parameter logistic.
- Weighted least squares, with 4 predefined weight functions.
- Scaling of curve parameters.
- Constraints on curve parameters.
Curves
- Object-oriented approach to working with mathematical curves.
- Methods for: evaluation, derivative, definite integral, tangent, roots.
- Many basic types of curves: constants, lines, quadratics, polynomials, cubic splines, Chebyshev approximations, linear combinations of arbitrary functions.
Solving equations
- Real and complex roots of polynomials.
- Roots of arbitrary functions: bisection, false positive, Dekker-Brent and Newton-Raphson methods.
- Systems of simultaneous linear equations.
- Systems of nonlinear equations: Powell’s hybrid ‘dogleg’ method, Newton’s method.
- Least squares solutions.
Optimization
- Optimization in 1 dimension: Brent’s algorithm, Golden Section search.
- Quasi-Newton method in N dimensions: BFGS and DFP variants. Updated!
- Conjugate gradient method in N dimensions: Fletcher-Reeves and Polak-Ribière variants.
- Powell’s conjugate gradient method.
- Downhill Simplex method of Nelder and Mead. Updated!
- Levenberg-Marquardt method for nonlinear least squares. New!
- Line search algorithms: Moré-Thuente, quadratic, unit.
- Linear program solver: Based on the Revised Simplex method.
- Linear program solver: Import from MPS files.
Signal processing
- Real 1D and 2D Fast Fourier Transform
- Complex 2D Fast Fourier Transform
- Special code for factors 2, 3, 4, 5
- Real and complex convolution
- Managed, 32bit and 64bit native implementations
Special functions
- Over 40 special functions not included in the standard .NET Framework class library.
- Functions from combinatorics: factorial, combinations, variations, more.
- Functions from number theory: greatest common divisor, least common multiple, decomposition into prime factors, primality testing.
- Gamma and related functions, including incomplete and regularized gamma function, digamma function, beta function, harmonic numbers.
- Hyperbolic and inverse hyperbolic functions for real and complex numbers.
- Ordinary and Modified Bessel functions of the first and second kind.
- Airy functions and their derivatives.
- Exponential integral, sine and cosine integral, logarithmic integral.