# Math Library Features

Numerics.NET includes classes for the following subject areas. Also see the detailed vector and matrix, data analysis and statistics feature lists.

Start your free 30 day trial today!

### General

• Machine floating-point constants.
• Common mathematical constants.
• Extended elementary functions.
• Algorithm support functions: iteration, tolerance, convergence tests.

### Complex numbers

• Generic complex number value type that supports double-precision, and any other number type, including integers, single, quad, and arbitrary precision floating-point numbers.
• Overloaded operators for all arithmetic operations.
• 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.
• Double exponential 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.

### 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.
• Accurate polynomial fit using Chebyshev polynomials.
• 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.
• Downhill Simplex method of Nelder and Mead. Updated!
• Levenberg-Marquardt and Trust Region Reflexive 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.
• General nonlinear programming.

### Signal processing

• Real 1D and 2D Fast Fourier Transform
• Complex 1D and 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 50 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.
• Riemann Zeta, Hurwitz Zeta, Bernoulli numbers, generalized harmonic numbers.
• Hyperbolic and inverse hyperbolic functions for real and complex numbers.
• Regular and Modified Bessel functions of the first and second kind, Hankel functions, cylindrical Bessel functions.
• Airy functions and their derivatives.
• Zeroes of Bessel and Airy functions.
• Exponential integral, sine and cosine integral, logarithmic integral.
• Elliptic integrals: Complete and incomplete elliptic integrals of the first, second, and third kind.
• Jacobi elliptic functions.
• Orthogonal polynomials: Chebyshev (1st and 2nd kind), Gegenbauer, Hermite, monic Hermite, Jacobi, Laguerre, Zernike.