NMath

New Versions of NMath Libraries Released

CenterSpace is proud to announce the immediate availability of new versions of our .NET math libraries, NMath 5.0 and NMath Stats 3.3. This release adds many new features and performance enhancements. Version 5.0 of NMath adds: A new set of random number generator classes based on MKL vectorized random number generators Classes for creating independent streams of random numbers using the ...
Read More

Using C# and ExcelDNA to call .NET Libraries

In my last post, I demonstrated calling NMath from Excel using ExcelDNA and Visual Basic (VB) code. In this blog post, we will duplicate that functionality using C# instead of Visual Basic. In addition we will use the functionality of NMath to enabled the marshaling of data between Excel and NMath, and provide some additional code examples. The outcome of these blog articles should illustrate...
Read More

FFT Performance Benchmarks in .NET

We've had a number of inquires about the CenterSpace FFT benchmarks, so I thought I would code up a few tests and run them on my machine. I've included our FFT performance numbers and the code that generated those numbers so you can try them on your machine. (If you don't have NMath, you'll need to download the eval version). I also did a comparison of 1 dimensional real DFTs, with FFTW, one of...
Read More

Calling External .NET Libraries from Excel

There are many circumstances where you may need to access an external library of functions or routines from Excel.  For example, if you need a complex function such as fitting data to a surface, or portfolio optimization, that is not natively available in Excel.  There also may be a need to protect proprietary calculations by using user defined functions to process algorithms in a black box manner...
Read More

Slices and Ranges in NMath Matrices

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. Many different objects might ...
Read More
Top