.NET Math and Statistics Library
Works with all .NET languages, including C#, Visual Basic, and F#.
The NMath^{TM} .NET math and statistics library from CenterSpace Software provides numerical components for financial, engineering, and scientific applications on the .NET platform.
NMath 7.0 [Released 2019 – Changelog] The foundational .NET math and statistics library, NMath, includes complex number classes, general vector and matrix classes, structured sparse matrix classes and factorizations, general sparse matrix classes and factorizations, general matrix decompositions, least squares solutions, random number generators, Fast Fourier Transforms (FFTs), numerical integration and differentiation methods, function minimization, curve fitting, rootfinding, linear and nonlinear programming. Additionally, hundreds of statistical routines are supported including dozens of probability density functions (PDF), descriptive statistics, linear regression, hypothesis tests, analysis of variance (ANOVA), principle component analysis, nonnegative matrix factorization (NMF), partial least squares (PLS), data filtering, SavitzyGolay fitting and smoothing along with many other routines. 

Learn More About NMath Topics
NMath
All NMath routines are callable from any .NET language, including C#, Visual Basic.NET, and F#.
For many computations, NMath uses the Intel® Math Kernel Library (MKL), which contains highlyoptimized, extensivelythreaded versions of the C and FORTRAN public domain computing packages known as the BLAS (Basic Linear Algebra Subroutines) and LAPACK (Linear Algebra PACKage). This gives NMath routines accuracy you can trust, and performance levels comparable to C or Fortran. Our state of the art, objectoriented interfaces are easy to use and leverage the full power of the .NET platform.
Order
Orders may be placed through our secure online store. Our sales staff is available to help you with any questions that you may have about our products. Please also see our list of frequently asked questions.
Summary of NMath Features
Basic Math
 Single and doubleprecision complex number classes.
 Random number generators for various probability distributions, independent streams of random numbers using skipahead and leapfrog methods, and quasirandom sequences using Niederreiter and Sobol methods.
 Fast Fourier Transforms (FFTs), Wavelets, and linear convolution and correlation.
 Special functions, such factorial, binomial, the gamma function and related functions, Bessel functions, elliptic integrals, and many more.
Linear Algebra
 Fullfeatured vector and matrix classes for four datatypes: single and doubleprecision floating point numbers, and single and doubleprecision complex numbers.
 Flexible indexing using slices and ranges.
 Overloaded arithmetic operators with their conventional meanings for those .NET languages that support them, and equivalent named methods (
Add()
,Subtract()
, and so on) for those that do not.  Fullfeatured structured sparse matrix classes, including triangular, symmetric, Hermitian, banded, tridiagonal, symmetric banded, and Hermitian banded.
 Functions for converting between general matrices and structured sparse matrix types.
 Functions for transposing structured sparse matrices, computing inner products, and calculating matrix norms.
 Classes for factoring structured sparse matrices, including LU factorization for banded and tridiagonal matrices, BunchKaufman factorization for symmetric and Hermitian matrices, and Cholesky decomposition for symmetric and Hermitian positive definite matrices. Once constructed, matrix factorizations can be used to solve linear systems and compute determinants, inverses, and condition numbers.
 General sparse vector and matrix classes, and matrix factorizations.
 Orthogonal decomposition classes for general matrices, including QR decomposition and singular value decomposition (SVD).
 Advanced least squares factorization classes for general matrices, including Cholesky, QR, and SVD.
 LU factorization for general matrices, as well as functions for solving linear systems, computing determinants, inverses, and condition numbers.
 Classes for solving symmetric, Hermitian, and nonsymmetric eigenvalue problems.
 Extension of standard mathematical functions, such as Cos(), Sqrt(), and Exp(), to work with vectors, matrices, and complex number classes.
Functions
 Classes for encapsulating functions of one variable, with support for numerical integration (Romberg and GaussKronrod methods), differentiation (Ridders’ method), and algebraic manipulation of functions.
 Polynomial encapsulation, interpolation, and exact differentiation and integration.
 Classes for minimizing univariate functions using golden section search and Brent’s method.
 Classes for minimizing multivariate functions using the downhill simplex method, Powell’s direction set method, the conjugate gradient method, and the variable metric (or quasiNewton) method.
 Simulated annealing.
 Linear Programming (LP), NonLinear Programming (NLP), and Quadratic Programming (QP) using the Microsoft Solver Foundation.
 Least squares polynomial fitting.
 Nonlinear least squares minimization, curve fitting, and surface fitting.
 Classes for finding roots of univariate functions using the secant method, Ridders’ method, and the NewtonRaphson method.
 Numerical methods for double integration of functions of two variables.
 Nonlinear least squares minimization using the TrustRegion method, a variant of the LevenbergMarquardt method.
 Curve and surface fitting by nonlinear least squares.
 Classes for solving first order initial value differential equations by the RungeKutta method.
Integration with .NET Standard Libraries
 Fully persistable data classes using standard .NET mechanisms.
 Integration with ADO.NET.
Summary of NMath Statistics Features
 A data frame class for holding data of various types (numeric, string, boolean, datetime, and generic), with methods for appending, inserting, removing, sorting, and permuting rows and columns.
 Functions for computing descriptive statistics, such as mean, variance, standard deviation, percentile, median, quartiles, geometric mean, harmonic mean, RMS, kurtosis, skewness, and many more.
 Special functions, such as factorial, log factorial, binomial coefficient, log binomial, log gamma, incomplete gamma, beta, and incomplete beta.
 Probability density function (PDF), cumulative distribution function (CDF), inverse CDF, and random variable moments for a variety of probability distributions, including beta, binomial, chisquare, exponential, F, gamma, geometric, logistic, lognormal, negative binomial, normal (Gaussian), Poisson, Student’s t, triangular, and Weibull distributions.
 Multiple linear regression.
 Basic hypothesis tests, such as z test, ttest, and Ftest, with calculation of pvalues, critical values, and confidence intervals.
 Oneway and twoway analysis of variance (ANOVA) and analysis of variance with repeated measures (RANOVA).
 Nonparametric tests, such as the KolmogorovSmirnov test and KruskalWallis rank sum test.
 Multivariate statistical analyses, including principal component analysis, factor analysis, hierarchical cluster analysis, and kmeans cluster analysis.
 Nonnegative matrix factorization (NMF), and data clustering using NMF.
 Partial least squares (PLS), including cross validation and the SIMPLS and NIPALS algorithms.
 Data filtering, including a moving average filter and a SavitzkyGolay smoothing filter.