C# linear algebra library

C#.NetLinear AlgebraNmath

C# Problem Overview


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?

C# Solutions


Solution 1 - C#

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

Solution 2 - C#

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.

Solution 3 - C#

I am using ILNumerics.NET

www.ilnumerics.net

Very good support and stable. I don't have any comparison though.

Solution 4 - C#

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 liked that they used Intel's Kernel Math library instead of rolling their own numerics. [Edited to add: have been using in production for years]

Solution 5 - C#

Few weeks ago I found a new c# library FinMath contains implementations of many various methods and techniques including basic linear algebra, such as:

  1. Vector and Matrix implementations (easy to use high-level interfaces covering most of all BLAS functionality)
  2. Algorithms of matrix factorizations (LU, QR, SVD, Cholesky).

And many other useful things like statistics, factor and cluster analysis, linear and quadratic programming solver and etc.

Unfortunately, it's not free, but it's extremely fast, because it uses MKL for most complex computations and at the same time it distributed as single library supports both 32bit and 64bit modes and requires no special maintenance to use, like taking care about native libraries.

Solution 6 - C#

Have you looked into dnAnalytics?

Solution 7 - C#

Although it is not updated, not open source, and not for commercial usage, one might want to check out D* from Microsoft Research. It's a very cool symbolic math library, especially for doing derivatives, but really it's a little matlab in the hands of a .NET programmer.

http://research.microsoft.com/en-us/downloads/4714703d-782c-4e37-830d-0e3b7662f743

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
QuestionimaView Question on Stackoverflow
Solution 1 - C#Rinat AbdullinView Answer on Stackoverflow
Solution 2 - C#nietrasView Answer on Stackoverflow
Solution 3 - C#MarcView Answer on Stackoverflow
Solution 4 - C#Sebastian GoodView Answer on Stackoverflow
Solution 5 - C#Wisdom's WindView Answer on Stackoverflow
Solution 6 - C#cletusView Answer on Stackoverflow
Solution 7 - C#ZiriaxView Answer on Stackoverflow