Matrix C+的稀疏矩阵库+;

Matrix C+的稀疏矩阵库+;,matrix,sparse-matrix,numerical-methods,numerical-analysis,Matrix,Sparse Matrix,Numerical Methods,Numerical Analysis,是否有任何稀疏矩阵库可以执行以下操作: 解线性代数方程组 支持矩阵/数字乘法/加法/减法、矩阵换位、获取矩阵的行/列等操作 矩阵大小可以是40k*40k或更大,比如250k*250k 快速 可以在Windows中使用 有人能给我推荐一些图书馆吗? 如果你推荐,请告诉我它的优点和缺点,以及你推荐它的原因 顺便说一下,我在互联网上搜索了许多稀疏矩阵库,并测试了其中的一些。我发现它们都只支持很少的运算(很多只能解线性代数方程组和矩阵向量乘法)。它也不支持很多运算,所以我添加了很多基本的矩阵运算。现

是否有任何稀疏矩阵库可以执行以下操作:

  • 解线性代数方程组
  • 支持矩阵/数字乘法/加法/减法、矩阵换位、获取矩阵的行/列等操作
  • 矩阵大小可以是40k*40k或更大,比如250k*250k
  • 快速
  • 可以在Windows中使用
有人能给我推荐一些图书馆吗? 如果你推荐,请告诉我它的优点和缺点,以及你推荐它的原因

顺便说一下,我在互联网上搜索了许多稀疏矩阵库,并测试了其中的一些。我发现它们都只支持很少的运算(很多只能解线性代数方程组和矩阵向量乘法)。它也不支持很多运算,所以我添加了很多基本的矩阵运算。现在它起作用了。然而,我刚刚听说SparseLib++太老了,速度也不快。但是我的项目是基于SparseLib++的,我在SparseLib++上花了很多工作。所以我想知道是否尝试另一个稀疏矩阵库。

将是一个很好的开始。这些库是免费的、支持良好的、文档齐全的、快速的和可移植的

有人能给我推荐一些图书馆吗

如果你推荐,请告诉我它的优点和缺点,以及你推荐它的原因


当涉及到大规模稀疏内容时,我个人使用Harwell子程序库。它是用FORTRAN语言编写的,与C++进行连接是一件痛苦的事情。不过,我之所以使用它,是因为它健壮且快速。

有许多内置的线性代数,当数据变得很大时,ca会将矩阵分布在集群上。当你有技术问题时,也会有活跃的追随者。缺点是学习曲线有点陡峭。

库对Spar矩阵操作有很好的支持,最吸引人的特性是它的风格类似于Matlab。

谢谢。我会试试。HSL不是开源的,所以我不能方便地将我自己的矩阵运算添加到它中。但是你给的名单很详细,谢谢!顺便说一句,在阅读了列表之后,我仍然无法决定选择哪个库…HSL是开源的,但具有限制性许可证,可能不适合您。您需要哪些HSL无法完成的操作?请记住,HSL是用FORTRAN语言编写的,使用C++是一个很大的痛苦。例如,我需要得到3**3n矩阵的3×3块对角线的逆。也就是说,对于3n*3n矩阵a,a可以这样分解:a=D-L-U,其中D是3*3块对角线。我需要计算D的倒数。我想HSL不能有效地做到这一点。不过,既然您已经指出HSL是用FORTRAN编写的,我想我应该试试另一个库。@LiMing是的,这听起来像是一个特殊的算法。好吧,祝你好运!