views:

2331

answers:

5

Is there stable linear algebra (more specifically, vectors, matrices, multidimensional arrays and basic operations on them) library for C#?

Search yielded a few open source libraries which are either not updated for couple of years or are in an early beta stage - and Centerspace NMath. Which alternatives are worth checking?

+1  A: 

Have you looked into dnAnalytics?

cletus
yes, but version "0.3.1 Beta" makes me nervous thinking about including it into important long term project
ima
That's a fair point but beta means different things to different people. At one end is the Ext-GWT guy who wakes up in the morning and decides to make the alpha1 version final. At the other end is gmail, still in beta. dnAnalytics has been around since October 2007 and still active. Worth a look?
cletus
Frankly, not. 23 lines of documentation, useless XML doc (Object object - the object), very wide feature set with gaping holes in the middle... Looks like supporting code for some other project, or may be training ground for developers.
ima
+8  A: 

Math.NET. We're using it in production.

Rinat Abdullin
Just be aware that there are several packages in Math.NET. Some are LGPL but a couple are GPL, which, for a commercial application, could well be an issue.
cletus
Thanks, looks better. I still miss multidimensional lattices, matrices of custom types etc, but it should work
ima
A: 

.Net Matrix is a similar question that you may want to look at the answers for other ideas.

JB King
+1  A: 

We have evaluated nMath and were quite pleased with its programmability and speed. Their support staff even worked over a weekend to figure out a bug we found. We're not using them in production yet, so take it for what it's worth. We liked that they used Intel's Kernel Math library instead of rolling their own numerics.

Sebastian Good
+1  A: 

See: http://en.wikipedia.org/wiki/List_of_numerical_libraries

http://www.alglib.net/ - Open source. Multi-language library.

http://www.mathdotnet.com/ - Open source. As mentioned by others. dnAnalytics is replaced by http://numerics.mathdotnet.com/ in this.

http://www.lutzroeder.com/dotnet/ - Lutz Roeder has a open source port Mapack.Net of LAPACK.

http://www.extremeoptimization.com/ - Commercial.

harrydev
This answer would be more helpful if people who need C# algebra libraries didn't know how to use google.
ima