对C#矩阵库的建议[关闭]


74

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

我用过CSML,但这不能实现我需要的某些功能。

这些功能包括:
奇异值分解
矩阵求逆
迹线
行列式

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

(大多数实现上述功能)


4
提及CSML所不具备的功能可能会有所帮助。
尼克,2010年

2
Accord-framework.net将矩阵运算实现为double[,]类型的扩展方法。
卡米尔·索佐特

2
封闭性不具有建设性。69,620意见
user875234 '18

2
看看NumSharp,它提供了numpy的.NET绑定。
Eduardo Pignatelli,

Answers:


35

如果Math.NET Numerics支持所需的操作,则非常好。较旧的Math.Net Iridium仍支持更多选项。另外,dnAnalytics非常好,但不再开发。(它和铱星都被合并到Math.NET Numerics中。)

在商业方面,有一些非常好的,强大的选择。在极端优化数值算法库工作得很好。在视觉Numerics的图书馆也工作得非常好(虽然基于使用费的分配...)。


铱将达到目的。我不能使用Math.NET中的矩阵类,因为它是抽象的,因此我需要派生它。对 ?
jose 2010年

1
它们提供了具体的实现,但是由于Math.NET Numerics尚未完成,因此某些实现尚未完成。
Reed Copsey

有两个具体的类:矩阵m =新DenseMatrix(...)或新SparseMatrix(...),具体取决于您的需求。
约翰·蒂登(JohanTidén)2012年

我还要对dotNumerics大声疾呼,这远远超出了简单的线性代数。例如,它具有L-BGFS之类的优化器和微分方程求解器,dotnumerics.com
NumericalLibraries/




2

除了在其他帖子中提到的库外,我还可以对FinMath库说几句话。这是一个相当新的库,但是根据我的经验,它具有几个优点。使用该库非常容易。首先,对于32位和64位操作系统,它只有一个可执行文件(* .dll)。其次,它基于著名的英特尔数学内核库构建,因此提供了非常好的性能。该库提供的托管.NET API也非常广泛和灵活。但是,它是专有软件,需要花费大量金钱。它还缺少一些功能(例如,与CenterSpace Software的NMath相比)。无论如何,值得花时间尝试一下。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.