【发布时间】:2015-04-26 11:12:09
【问题描述】:
我正在尝试找到一种方法来对稀疏矩阵 M 进行矩阵幂:M^k = M*...*M k 次,其中 * 是矩阵乘法 (numpy.dot),并且 不是元素乘法。
我知道如何处理普通矩阵:
import numpy as np
import scipy as sp
N=100
k=3
M=(sp.sparse.spdiags(np.ones(N), 0, N, N)-sp.sparse.spdiags(np.ones(N), 2, N, N)).toarray()
np.matrix_power(M,k)
稀疏的M怎么办:
M=(sp.sparse.spdiags(np.ones(N), 0, N, N)-sp.sparse.spdiags(np.ones(N), 2, N, N))
当然,我可以通过递归乘法来做到这一点,但我想知道在 scipy 中是否有类似 matrix_power 的功能用于稀疏矩阵。 非常感谢任何帮助。提前致谢。
【问题讨论】:
标签: python numpy scipy linear-algebra sparse-matrix