C#线性代数库

时间:2008-12-25 14:51:49

标签: c# .net linear-algebra nmath

C#是否存在稳定的线性代数(更具体地说,是矢量,矩阵,多维数组和它们的基本运算)?

搜索产生了一些开源库,这些库要么未更新几年,要么处于早期测试阶段 - 以及Centerspace NMath。哪些替代方案值得检查?

8 个答案:

答案 0 :(得分:24)

Math.NET。我们正在生产中使用它。

答案 1 :(得分:8)

请参阅:http://en.wikipedia.org/wiki/List_of_numerical_libraries

http://www.alglib.net/ - 开源。多语言库。

http://www.mathdotnet.com/ - 开源。正如其他人所说。在此,dnAnalytics被http://numerics.mathdotnet.com/取代。

http://www.lutzroeder.com/dotnet/ - Lutz Roeder有一个LAPACK的开源端口Mapack.Net。

http://www.extremeoptimization.com/ - 商业。

答案 2 :(得分:4)

我们对nMath进行了评估,并对其可编程性和速度非常满意。他们的支持人员甚至在一个周末工作以找出我们发现的错误。我们喜欢他们使用英特尔的内核数学库而不是滚动他们自己的数字。 [编辑补充:多年来一直在生产中使用]

答案 3 :(得分:4)

我正在使用ILNumerics.NET

www.ilnumerics.net

非常好的支持和稳定。我没有任何比较。

答案 4 :(得分:2)

几周前我发现了一个新的c#库FinMath包含许多各种方法和技术的实现,包括基本的线性代数,例如:

  1. Vector和Matrix实现(易于使用的高级接口,涵盖了大部分BLAS功能)
  2. 矩阵因子分解算法(LU,QR,SVD,Cholesky)。
  3. 还有许多其他有用的东西,如统计,因子和聚类分析,线性和二次规划求解器等。

    不幸的是,它不是免费的,但速度极快,因为它使用MKL进行大多数复杂计算,同时它作为单个库分发,支持32位和64位模式,无需使用特殊维护,比如照顾本地图书馆。

答案 5 :(得分:1)

你有没有看过dnAnalytics

答案 6 :(得分:1)

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

答案 7 :(得分:1)

虽然它没有更新,不是开源,也不是商业用途,但可能需要查看Microsoft Research的D *。这是一个非常酷的符号数学库,特别是对于做衍生工具,但实际上它是.NET程序员手中的一个小matlab。

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