NMath API updated with .NET Func<> delegates

At CenterSpace we are always working hard to keep the core NMath processing kernel start of the art, however changes to our libraries' API usually lag behind any .NET framework developments in a process of deprecation and introduction. The .NET Func<> and Action<> delegates have been a part of the .NET framework now since .NET 3.5 and VS2008. Therefore, we are now deprecating all of ...
Read More

NMath and Silverlight

From time to time, we’re asked about the best way to use NMath to build Silverlight applications. Unfortunately, like so many answers in software development, the answer is: it depends. Silverlight is a great way to build line of business applications, but at its core, Silverlight runs within a sandboxed environment, typically within a browser, and usually within a networked intranet or Interne...
Read More

Clearing a vector

A customer recently asked us for the best method to zero out a vector. We decided to run some tests to find out. Here are the five methods we tried followed by performance timing and any drawbacks. The following tests were performed on a DoubleVector of length 10,000,000. 1) Create a new vector. This isn't really clearing out an existing vector but we thought we should include it for complet...
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

ClickOnce Deployment

In general, when you deploy an NMath application you want to ensure that all NMath DLLs in the installation Assemblies directory are installed in either the GAC or next to the application. (You can read an overview of NMath deployment in Section 1.7 the NMath User's Guide.) ClickOnce automagically tries to determine the appropriate dependencies to deploy. However, since the NMath kernel and nat...
Read More