Where are we at ...
Sunday, January 30, 2011 at 13:01 We released Numerics Beta 1 about two months ago. Since then we’ve:
- optimized the sparse vector and matrix performance
- switched unit testing frameworks from MbUnit to NUnit. With NUnit we can now have a single test suite the covers both .NET and Silverlight.
- added an example project that provides examples for all major classes in the library.
- added an IsSymmetric and Modulus methods to the matrix interface.
- reworked the iterative solver interface.
- added a few other tweaks and optimization.
Two items are left for the Beta 2 release, adding the native interface and improved managed matrix multiplication. The initial native interface will just focus on linear algebra. We are half way done with the Intel Math Kernel Library (MKL) wrapper. We’ll then move on to the AMD Core Math Library (ACML) and then ATLAS/LAPACK. All three libraries share a similar interface, so once the MKL wrapper is compete the other two will be simple to add.
We have an outstanding issue with the ATLAS/LAPACK library. We are using Cygwin to build ATLAS. The threading library depends on the Cygwin runtime – which is released under the GPL. Users who use Numerics with a threaded version of ATLAS will be bound by the terms of the GPL even though Math.NET Numerics is released under the X11/MIT license. We are looking for ways to not include the Cygwin runtime library (other than only using a serial build of ATLAS). One way we are exploring is to use MinGW to build ATLAS. But so far we haven’t been successful. If anybody wants to give us a hand on finding a way around using the Cygwin runtime, let us know.
Marcus Cuda | Comments Off | 


