Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 最好的免费跨平台库,用于更高级别的矩阵、向量和SparseMatrix操作?_C++_Linear Algebra_Multiplatform - Fatal编程技术网

C++ 最好的免费跨平台库,用于更高级别的矩阵、向量和SparseMatrix操作?

C++ 最好的免费跨平台库,用于更高级别的矩阵、向量和SparseMatrix操作?,c++,linear-algebra,multiplatform,C++,Linear Algebra,Multiplatform,我们的平台: Windows、Linux、MacOSX 免费: LGPL兼容 支持高级操作: 特征系统,奇异值分解,QR,LU,逆,伪逆(又名Moore-Penrose逆) 支持多种矩阵类型,也支持性能良好的小型矩阵,例如3x3: 稀疏的,对称的,。。。(以及对它们的操作,例如伪逆() 当然应该是这样 有效的 过去几个月的积极发展 这将是很高兴再次链接拉帕克,MKL,阿特拉斯等 真正接近的是,它不支持稀疏容器。也很好,但不提供伪逆或支持稀疏矩阵(只是为了节省空间) 我还看到:

我们的平台:

  • Windows、Linux、MacOSX
免费:

  • LGPL兼容
支持高级操作:

  • 特征系统,奇异值分解,QR,LU,逆,伪逆(又名Moore-Penrose逆)
支持多种矩阵类型,也支持性能良好的小型矩阵,例如3x3:

  • 稀疏的,对称的,。。。(以及对它们的操作,例如伪逆()
当然应该是这样

  • 有效的
  • 过去几个月的积极发展
这将是很高兴再次链接拉帕克,MKL,阿特拉斯等

真正接近的是,它不支持稀疏容器。也很好,但不提供伪逆或支持稀疏矩阵(只是为了节省空间)

我还看到:

  • 新装备11,推进::乌布拉斯,gsl,IT++

艾根是最好的!它比boost::ublas好得多,你可以像ublas那样编写C=A*B而不是C=prod(A,B),我已经测试了它比ublas快得多的速度。

Eigen3现在有一个稀疏矩阵类,以及几个流行稀疏矩阵库的接口。如果您需要计算伪逆解来求解最小二乘系统,您可以直接在正态方程上使用。

NewMat11是一个好的、易于使用且相当轻量级的矩阵库,用于高级矩阵运算(特征系统、SVD、QR、LU、逆)。您可以通过数组轻松声明和构造矩阵,如下所示:

Matrix M(numRows,numCols);
M << array;
转置:

M.t();
取反方向:

M.i();
仅乘以*:

M*M
并且可以相当容易地执行其他操作,如SVD、QR、LU等

对于库,显式提供伪逆(Moore-Penrose逆)操作不是必需的,因为您可以通过使用如下转置和逆操作轻松地进行计算:

如果行>列,则伪逆(最小二乘解)可计算为: M_伪投资=(MTM)-1MT

如果行<列,则伪逆(最小范数解)可计算为: M_PseudoInv=MT(百万吨)-1

M*M