Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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
在python中,计算非常大且稀疏的邻接矩阵的所有特征值的最快方法是什么?_Python_Performance_Scipy_Linear Algebra_Eigenvector - Fatal编程技术网

在python中,计算非常大且稀疏的邻接矩阵的所有特征值的最快方法是什么?

在python中,计算非常大且稀疏的邻接矩阵的所有特征值的最快方法是什么?,python,performance,scipy,linear-algebra,eigenvector,Python,Performance,Scipy,Linear Algebra,Eigenvector,我试图找出是否有比使用scipy.sparse.linalg.eigsh更快的方法来计算非常大且稀疏的邻接矩阵的所有特征值和特征向量 据我所知,这种方法只使用矩阵的稀疏性和对称性属性。邻接矩阵也是二进制的,这让我觉得有一种更快的方法 我创建了一个随机的1000x1000稀疏邻接矩阵,并在我的x230 ubuntu 13.04笔记本电脑上比较了几种方法: scipy.sparse.linalg.eigs:0.65秒 scipy.sparse.linalg.eigsh:0.44秒 scipy.li

我试图找出是否有比使用scipy.sparse.linalg.eigsh更快的方法来计算非常大且稀疏的邻接矩阵的所有特征值和特征向量 据我所知,这种方法只使用矩阵的稀疏性和对称性属性。邻接矩阵也是二进制的,这让我觉得有一种更快的方法

我创建了一个随机的1000x1000稀疏邻接矩阵,并在我的x230 ubuntu 13.04笔记本电脑上比较了几种方法:

  • scipy.sparse.linalg.eigs:0.65秒
  • scipy.sparse.linalg.eigsh:0.44秒
  • scipy.linalg.eig:6.09秒
  • scipy.linalg.eigh:1.60秒
对于稀疏EIG和eigsh,我设置k,期望特征值和特征向量的数量,作为矩阵的秩


问题从更大的矩阵开始——在9000x9000矩阵上,需要scipy.sparse.linalg.eigsh 45分钟

scipy.sparse.linalg.eigsh使用。这个问题更多的是一个数学问题,而不是编程问题,因此你可以通过询问是否可以做比Arpack更聪明的事情来获得更好的答案。此外,请尝试通过Google Scholar等网站进行文献搜索。这个问题已交叉发布到。我建议我们在那边处理。