小编Jam*_*e D的帖子

Python特征值计算比我计算机上的MATLAB运行速度慢得多.为什么?

我想使用Python 2.6.5计算大型矩阵(约1000x1000)的特征值.我一直无法做到这一点.我还没有发现任何其他线程来解决这个问题.

我跑的时候

a = rand(1000,1000);
tic;
for i =1:10
    eig(a);
end
toc;
Run Code Online (Sandbox Code Playgroud)

在MATLAB中大约需要30秒.Python中的类似测试需要216秒.使用RPy通过R运行它并没有明显加快计算速度.Octave的测试耗时93秒.我对速度上的差异感到有点困惑.

我可以在网上找到这样一个问题的唯一例子就是这个,这已经有好几年了.该问题中的海报有一个不同的Python目录结构(我将其归因于帖子的年龄,虽然我可能会弄错),所以我没有足够的信心尝试按照记者发布的说明进行操作.

我的包管理器说我安装了LAPACK,我使用NumPy和SciPy进行Python计算:

from numpy import *
from scipy import *
from numpy.linalg import *
import time

a = randn(1000,1000)
tic = time.clock()
for i in range(0,10):
    eig(a)
toc = time.clock()
print "Elapsed time is ", toc-tic
Run Code Online (Sandbox Code Playgroud)

我是Python的新手,所以我可能做了些傻事.如果我需要提供更多信息,请告诉我.

python matlab numpy eigenvalue

13
推荐指数
2
解决办法
2880
查看次数

标签 统计

eigenvalue ×1

matlab ×1

numpy ×1

python ×1