Author: Paul Shirkey

High Performance Numerics in C#

Recently a programmer on stackoverflow commented that the performance of NMath was "really amazing" and was wondering how we achieved that performance in the context of the .NET/C# framework/language pair. This blog post discusses how CenterSpace achieves such great performance in this memory managed framework. A future post will discuss where we are looking to gain even more performance. (mor...
Read More

Complex numbers in .NET with NMath

A set of classes for working with complex numbers is not including in the .NET framework. These classes are frequently hand rolled by programmers to fill an immediate need, but this forces the developer into an on-going task developing compatible numeric algorithms with these custom classes. CenterSpace's NMath libraries solve this issue by providing a framework with an extensive set of numeric ...
Read More

Savitzky-Golay Smoothing in C#

Savitzky-Golay smoothing effectively removes local signal noise while preserving the shape of the signal. Commonly, it's used as a preprocessing step with experimental data, especially spectrometry data because of it's effectiveness at removing random variation while minimally degrading the signal's information content. Savitzky-Golay boils down to a fast (multi-core scaling) correlation operati...
Read More

Convolution, Correlation, and the FFT

Most scientists and programmers understand the basic implementation details of their chosen math library. However, when algorithms are ported from one library to another, problems are hard to avoid. This seems to be particularly so when dealing with convolutions, correlations and the FFT - fundamental building blocks in many areas of computation. Frequently the theoretical concepts are clear, b...
Read More

Convolution in CenterSpace’s NMATH 4.0

Convolution is a fundamental operation in data smoothing and filtering, and is used in many other applications ranging from discrete wavelet transform's to LTI system theory. NMath supports a high performance, forward scaling set of convolution classes that support both complex and real data. These classes will scale in performance in proportion to the number of processing cores - eliminating co...
Read More
Top