矩阵库.NET [英] Matrix Library for .NET

查看:269
本文介绍了矩阵库.NET的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一个良好的(经过充分测试的,全功能的,最好用一个漂亮的界面)的.NET / C#矩阵库。我的主要要求是这里唯一的,它应该是免费的(我并不特别在意,无论是开源在这种情况下)和preferably支持的稀疏矩阵操作。强制性的要求是所有的基本操作(例如乘法,换位,反转)以及寻找特征值&安培;特征向量。实施的数值的而非/以及用于发现的特征值,特别是的Lanczos算法的分析方法对于稀疏矩阵,将是非常preferable因为矩阵我将要处理非常大(10000长度上)以及广场,也相当稀少。话说,我可以要求有点吃不消了那里,等了相当完整的矩阵库的建议将是巨大的。

I'm looking for a good (well-tested, fully-featured, and ideally with a nice interface) matrix library for .NET/C#. My main requirements here are only that it should be free (I don't particularly care whether it's open-source in this case) and preferably support sparse matrix operations. The obligatory requirements are all the basic operations (e.g. multiplication, transposition, inversion) as well as finding eigenvalues & eigenvectors. Implementation of a numerical rather than/as well as analytical methods for discovery of eigenvalues, particularly the Lanczos algorithm for sparse matrices, would be highly preferable since the matrices I'm going to be dealing with are very large (lengths of 10,000 upwards) as well as square, and also reasonably sparse. Saying that, I could be asking for a bit much there, so any suggestions for a reasonably complete matrix library would be great.

现在我知道,Python有这样的任务,一个或两个有用的库(即 NumPy的 / < A HREF =htt​​p://www.scipy.org/相对=nofollow> SciPy的),但遗憾的是.NET似乎缺乏在该地区。

Now I'm aware that Python has one or two useful libraries for such tasks (namely NumPy/SciPy), but .NET unfortunately seems to be lacking in the area.

搜索打开了对.NET下列库,我可能会使用的位:

A bit of searching turned up the following libraries for .NET, which I could potentially used:

  • Lutz Roeder's Mapack
  • DotNetMatrix (CodeProject)
  • C# Matrix Library (CodeProject)

不过,由于我有过任何使用其中的任何库或其他人(而不是完全有足够的时间在任何情况下正确地检查他们每个人出)没有经验,我非常AP preciate如果在这里任何人都可以讨论他们对各种库的建议,他们的优点/缺点特别是关于适合我的用途,并与他们自己的一般经验。

However, since I have had no experience whatsoever using any of these libraries or others (and not exactly enough time to check each of them out properly in any case), I would very much appreciate if anyone here could discuss their recommendations regarding the various libraries, their pros/cons particularly with regards to suitability for my uses, and their general experiences with them.

诉诸MATLAB是始终是一个选择,但不是preferred之一,因为这将是方便多了,如果我可以用我的程序直接整合矩阵数学。

Resorting to MatLab is always an option, but not a preferred one, as it would be much more convenient if I could integrate the matrix math directly with my program.

推荐答案

编辑:

这是不太有我最后一次评估,但出现了相当多的活动,所以你也应该考虑(自由和开放源码)的 Math.NET Numerics的

It wasn't quite there last time I evaluated it, but there has been quite a bit of activity, so you should also consider the (free and open source) Math.NET Numerics.

在现在看,似乎他们已经完成了他们的新版本,并增加稀疏矩阵支持,以及其他不错的东西。

In looking now, it seems they've finished their new version, and have added sparse matrix support, as well as other nice goodies.

如果您想了解更多强大的支持,你不幸真的需要进入商用软件包.NET大气压。

If you want more robust support, you unfortunately really need to get into commercial packages for .NET atm.

有两个非常功能丰富的产品的,这两者的支持基质很好。 至尊Numerics的的伟大工程,并有一些非常不错的功能。我还听说 IMSL视觉Numerics的数学库

There are two very feature-rich packages, both of which support matrices very well. Extreme Numerics works great, and has some very nice features. I've also heard very good things about the IMSL Visual Numerics math libraries.

这篇关于矩阵库.NET的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆