Recommendation for C# Matrix Library

C#Matrix

C# Problem Overview


I need a C# library to deal with matrices. It should implement singular value decomposition, matrix inversion, etc

I've used http://www.codeproject.com/Articles/19032/C-Matrix-Library">CSML</a> before, but this does not implement some of the features i need.

Some of the features are:
Singular value decomposition
Matrix inversion
Trace
Determinants

Suggested Libraries (from answers)

(most of them implement the features stated above)

C# Solutions


Solution 1 - C#

Math.NET Numerics is very nice, if it supports the operations you want. The older Math.Net Iridium still supports more options. Also, dnAnalytics is quite nice, but no longer being developed. (It, as well as Iridium, are being merged into Math.NET Numerics.)

On the commercial side, there are some very good, robust options. The Extreme Optimization Numerical Libraries work very well. The Visual Numerics library also works very well (although with a royalty-based distribution...).

Solution 2 - C#

I believe that Math.NET has most of the features you mention. Yuu may want to look at it and see if it fits your needs.

You can take a look at the Iridium samples to see the syntax and example code.

Solution 3 - C#

I have been using ILNumerics a lot. Also did some contributions to the project. It by know is the only library I know of, which does not spend half the CPU time in GC for serious computations. Its fast and mature. See the full feature list.

Solution 4 - C#

In addition to the libraries mentioned in other posts I can say a few warm words about FinMath library. It is rather new library, but according to my experience it has several advantages. It is very easy to use this library. First, it has only one executable file (*.dll) for both 32-bit and 64-bit operating systems. Second, it is build on top of well-known Intel Math Kernel Library and therefore it provides very good performance. Managed .NET API provided by this library is also very extensive and flexible. But, it is proprietary software and costs considerable amount of money. It also lacks some functionality (e.g. compared to NMath from CenterSpace Software). Anyway, it worth time to try it.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionjoseView Question on Stackoverflow
Solution 1 - C#Reed CopseyView Answer on Stackoverflow
Solution 2 - C#LBushkinView Answer on Stackoverflow
Solution 3 - C#user492238View Answer on Stackoverflow
Solution 4 - C#vharavyView Answer on Stackoverflow