Complete online documentation for NMath .NET math libraries, including numerous code examples in both C# and Visual Basic.NET. Studying these examples is one of the best ways to learn how to use our libraries.
Note: Links in the API documentation to types in the .NET Framework Class Library are redirected to MSDN.
The following white papers provide technical and architectural information about CenterSpace products:
.NET Numerical Applications with NMath [ PDF ]
This document provides an overview of the design of the NMath library. NMath employs the data-view design pattern by distinguishing between data, and the different ways mathematical objects such as vectors and matrices view the data. For example, a contiguous array of numbers in memory might be viewed by one object as the elements of a vector, while another object might view the same data as the elements of a matrix, laid out row by row. The data-view pattern has definite advantages for both storage efficiency and performance. By combining the data-view pattern with flexible indexing using slices and ranges, NMath offers a very rich set of matrix and vector manipulation semantics. NMath also provides functions and data structures for statistical computation, including descriptive statistics, probability distributions, combinatorial functions, multiple linear regression, hypothesis testing, and analysis of variance.
NMath Performance Benchmarks [ PDF ]
For most computations, NMath uses machine-specific, highly-optimized 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 Core classes performance levels comparable to C, and often results in performance an order of magnitude faster than non-platform-optimized implementations. This paper compares the performance of NMath to both straight C/C++ and straight C# in a series of benchmarks that carry out matrix multiplication for matrices filled with random numbers.
NMath Case Studies and Use Cases [ PDF ]
The NMath libraries are general-purpose numerical toolkits with wide application in multiple industry sectors. This document describes some example case studies and common use cases of NMath features.