Whitepapers

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 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.

  • .NET Statistical Computation with NMath Stats [ PDF ]

    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.