简体   繁体   中英

C# linear algebra library

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?

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

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.

I am using ILNumerics.NET

www.ilnumerics.net

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

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]

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.

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

你看过dnAnalytics吗?

.Net Matrix是一个类似的问题,您可能需要查看其他想法的答案。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM