Quantcast
Channel: ComponentSource News | NMath Stats
Viewing all articles
Browse latest Browse all 22

CenterSpace Software updates NMath Suite

$
0
0
C# samples showing estimation and random number generation.

C# samples showing estimation and random number generation.

New release adds C# kernel, multi-core aware FFT classes and K-Means Clustering.

NMath lets you add math, financial, engineering and scientific functionality to your .NET applications. It contains the following components:

  • NMath Core
    The foundational library includes general vector and matrix classes, complex number classes, random number generators, and numerical integration and differentiation mathematical methods.
  • NMath Matrix
    An advanced matrix manipulation library that extends the general matrix classes of NMath Core to include structured sparse matrix classes and factorizations, general matrix decompositions, and advanced least squares solutions.
  • NMath Analysis
    An advanced function manipulation library that extends the general analysis classes of NMath Core to include function minimization, root-finding, and linear programming.

NMath Suite is also available, and contains the three components listed above, plus:

  • NMath Stats
    Provides math functions for statistical computation and biostatistics, including descriptive statistics, probability distributions, combinatorial functions, multiple linear regression, hypothesis testing, analysis of variance, and multivariate statistics.

Updates in NMath V4.0

  • C# Kernel
    In addition to the CLI C++ kernel, the latest NMath 4.0 version includes a C# kernel. NMath is written primarily in C#, but includes a managed C++ (CLI C++) kernel, which provides an immutable and very fast interface to MKL. CLI C++ methods "pin" pointers to memory allocated on the managed heap before calling MKL. The managed memory referenced by a pinned pointer will not be touched by the .NET garbage collector as long as it is pinned. (Note that memory is passed by reference to native code, without any copying.) While the CLI C++ kernel is ideal for most cases, there are some applications that currently don't support it. For those cases, a C# kernel has been included.
  • Mono
    The open source Mono Project provides a UNIX version of the .NET development platform, including a C# compiler and a Common Language Runtime. Its objective is to enable UNIX developers to build and deploy cross-platform .NET applications. However, because the Mono Project does not currently include a CLI C++ compiler, a C# kernel is required.
  • SQL Server CLR
    It prohibits loading an assembly that contains both managed and unmanaged code. However, through the new C# kernel, you can open a managed assembly that makes Platform Invoke (P/Invoke) calls to native unmanaged methods. For most computations, NMath uses the Intel Math Kernel Library (MKL), which contains highly-optimized, extensively-threaded 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 the NMath class libraries performance levels comparable to C, and often results in performance an order of magnitude faster than non-platform-optimized implementations.
  • Fast Fourier Transforms (FFTs)
    NMath 4.0 contains high performance, multi-core aware FFT classes. This set of classes will support all common 1D and 2D FFT computations in a robust easy-to-use object-oriented interface. All classes will efficiently support FFT's of arbitrary length, with a simple interface for both in-place and out-of-place computations. Additionally, there is a parallel set of classes for single precision computation.
  • Levenberg-Marquardt Nonlinear Least Squares
    NMath 4.0 includes class LevenbergMarquardtMinimizer for minimizing the L2 norm of a function using the Levenberg-Marquardt algorithm (LMA). LMA is a standard in non-linear optimization, and is widely used for solving generic curve-fitting problems. LMA significantly outperforms gradient descent and conjugate gradient methods for medium sized problems, and complements the Trust Region minimizer already in NMath.
  • Linear Spline Interpolation
    NMath 4.0 includes a class LinearSpline for representing a function whose values are determined by linear interpolation between tabulated values.
  • MKL Version 10.2
    NMath 4.0 now leverages Intel's MKL Version 10.2. This provides many performance improvements for faster execution and taking advantage of more cores. It now also can take advantage of threading on more cores and more CPUs. These speed improvements generally range from 10% to 25%, and if you have a 24 core machine, the improvement can be as high as 130 times as great.

Updates in NMath Stats V3.1

  • K-Means Clustering
    Includes a class for k-means clustering, to complement the hierarchical cluster analysis already in the library. The k-means clustering method assigns data points into k groups such that the sum of squares from points to the computed cluster centers is minimized. In general, k-means clustering uses far less memory that constructing a full hierarchical cluster tree.
  • Cronbach's Alpha
    Includes a method for computing Cronbach's alpha, a measure of reliability (or consistency) in the framework of the domain sampling model. Cronbach's alpha measures how well a set of items (or variables) measures a single unidimensional latent construct.
  • Smoothing Filters
    Includes classes for smoothing data by replacing each data point with a linear combination of the data points immediately to the left and right of the data point. You can provide the coefficients to use in the linear combination, or use provided methods to generate coefficients that implement a moving average filter and a Savitzky-Golay filter. A Savitzky-Golay filter performs a local polynomial regression on the data to determine the smoothed value for each point. This tends to preserve features of the data which are flattened by moving averages, for example, peak finding.

For more information visit:
http://www.centerspace.net/company/press-releases/centerspace-software-releases-new-versions-nmath-numerical-libraries

About CenterSpace Software

CenterSpace Software was founded in December, 2002. Its mission is to develop enterprise class numerical component libraries for the .NET platform. The team has extensive experience developing high-performance, analytic software tools. The NMath Suite from CenterSpace Software provides building blocks for mathematical, financial, engineering, and scientific applications on the .NET platform. CenterSpace has satisfied customers in 48 countries around the world, primarily in financial, engineering, scientific, and academic markets.


Viewing all articles
Browse latest Browse all 22

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>