对C#matrix库的build议

我需要一个C#库来处理matrix。 它应该实现奇异值分解,matrix求逆等

我之前使用过CSML ,但是这并没有实现我需要的一些function。

一些function是:
奇异值分解
matrix求逆
跟踪
决定因素

build议的图书馆(来自答案)

(其中大部分实现了上述function)

  • 用于.NET,Silverlight和Mono的math.NET数字 (开源)
  • 极限优化数字图书馆 (商业,非常完整)
  • IL数字 (商业)
  • Deltix的FinMath数字图书馆 (商业版,使用英特尔®math核心函数库(MKL)和英特尔®集成性能基元(IPP))
  • C#中的轻量级快速matrix类 (Strassenalgorithm,LU分解)

Math.NET Numerics是非常好的,如果它支持你想要的操作。 较旧的Math.Net铱星仍然支持更多的选项。 此外, dnAnalytics是相当不错的,但不再被开发。 (它和铱星一样,正在被合并到Math.NET Numerics中。)

在商业方面,有一些非常好的,强大的select。 极限优化数字图书馆工作得很好。 Visual Numerics库也工作得很好(虽然有一个基于版税的发行版)。

我相信Math.NET有你提到的大部分function。 Yuu可能想看看它,看看它是否符合你的需求。

你可以看一下铱星样本来查看语法和示例代码。

我一直在使用ILNumerics 。 也为这个项目做了一些贡献。 知道它是我所知道的唯一的库,它不会在GC中花费CPU时间的一半来进行严重的计算 。 它的快速和成熟。 查看完整的function列表 。

除了其他文章中提到的图书馆之外,我可以对FinMath图书馆说几句温馨的话。 这是一个相当新的图书馆,但根据我的经验,它有几个优点。 这个库很容易使用。 首先,它只有一个用于32位和64位操作系统的可执行文件(* .dll)。 其次,它build立在知名的英特尔math核心库之上,因此它提供了非常好的性能。 这个库提供的托pipe.NET API也非常广泛和灵活。 但是,它是专有软件,花费相当可观的金额。 它也缺乏一些function(例如,与CenterSpace软件的NMath相比)。 无论如何,这是值得的时间去尝试。