我目前正在一个项目中,必须使用Lanczos-Algorithm计算极值特征值。我替换了MVM,以便即时计算矩阵元素,因为我将不得不计算真正的巨大矩阵的特征值。这会减慢我的代码的速度,因为python中的for循环要比MVM慢。有什么方法可以轻松地改进我的代码?我尝试使用Cython,但这里没有真正的运气。
for i in range(0,dim): for j in range(0,dim): temp=get_Matrix_Element(i,j) ws[i]=ws[i]+temp*v[j]
此替换:
ws = M.dot(v)
我目前正在一个项目中,必须使用Lanczos-Algorithm计算极值特征值。我替换了MVM,以便即时计算矩阵元素,因为I ...
最简单,最快速的解决方案是中途:一次预先计算一行。