我正在为 .NET/C# 寻找一个好的(经过充分测试、功能齐全且最好具有良好界面的)矩阵库。我在这里的主要要求只是它应该是免费的(在这种情况下我并不特别关心它是否是开源的)并且最好支持稀疏矩阵运算。强制性要求是所有基本操作(例如乘法、转置、求逆)以及寻找特征值和特征向量。用于发现特征值的数值而非分析方法的实现,特别是Lanczos 算法对于稀疏矩阵,将是非常可取的,因为我将要处理的矩阵非常大(长度为 10,000 以上)并且是正方形的,而且还相当稀疏。话虽如此,我可能会要求很多,所以任何关于一个相当完整的矩阵库的建议都会很棒。
现在我知道 Python 有一个或两个用于此类任务的有用库(即NumPy / SciPy),但不幸的是,该领域似乎缺乏 .NET。
经过一番搜索,我找到了以下 .NET 库,我可能会使用它们:
但是,由于我没有使用任何这些库或其他库的任何经验(并且在任何情况下都没有足够的时间来正确检查它们),如果有人可以在这里讨论他们对各种库的建议,我将不胜感激,他们的优点/缺点,特别是关于我的用途的适用性,以及他们对它们的一般经验。
求助于 MatLab 始终是一种选择,但不是首选,因为如果我可以将矩阵数学直接与我的程序集成会更方便。