我想找出一种方法来做一个稀疏矩阵M的矩阵功率:M^k = M * ... * M k次其中*是矩阵乘法(numpy .dot)和而不是按元素乘法。python稀疏矩阵的矩阵功率
我知道该怎么做一个正常的矩阵:
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)
我该怎么办呢稀疏L:
M=(sp.sparse.spdiags(np.ones(N), 0, N, N)-sp.sparse.spdiags(np.ones(N), 2, N, N))
当然,我可以通过递归乘法做到这一点,但我想知道在scipy中是否有像matrix_power这样的稀疏矩阵的功能。 任何帮助非常感谢。提前致谢。
感谢您的详细解释。 – JRun 2015-02-28 14:10:55
如果你有布尔稀疏矩阵并且计算传递闭包(连通性),你可能想看看这个:https://ac.els-cdn.com/S0304397505008546/1-s2.0-S0304397505008546-main pdf格式?_tid = 4cf2407e-de8f-11E7-b0b6-00000aacb35f&acdnat = 1513009451_9b447acd7a2c71ea8521617899e4600b – 2017-12-11 16:35:21