The following white papers provide technical and architectural information about CenterSpace products:
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.
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.
This document provides an overview of the design of the NMath Stats library. NMath Stats provides functions and data structures for statistical computation, including descriptive statistics, probability distributions, combinatorial functions, multiple linear regression, hypothesis testing, and analysis of variance.
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.
NMath can be easily combined with the free Microsoft Chart Controls for .NET to create a complete data analysis and visualization solution. The
NMathChartMicrosoft.dll assembly included with NMath provides convenience methods for plotting NMath types using the Microsoft Chart Controls.
NMathStatsChartMicrosoft.dll assembly included with NMath Stats
provides convenience methods for plotting NMath Stats types using the Microsoft
Chart Controls for .NET.