Степень матрицы для разреженной матрицы в питоне

Я пытаюсь найти способ сделать матричную мощность для разреженной матрицы 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))

Конечно, я могу сделать это путем рекурсивного умножения, но мне интересно, есть ли такая функция, как matrix_power для разреженных матриц в scipy. Любая помощь очень ценится. Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос