matrix_power#
- scipy.sparse.linalg.matrix_power(A, степень)[источник]#
Возвести квадратную матрицу в целую степень, степень.
Для неотрицательных целых чисел,
A**powerвычисляется с использованием повторных умножений матриц. Отрицательные целые числа не поддерживаются.- Параметры:
- A(M, M) квадратный разреженный массив или матрица
разреженный массив, который будет возведён в степень степень
- степеньint
Показатель степени, используемый для возведения разреженного массива A
- Возвращает:
- A**power(M, M) разреженный массив или матрица
Выходная матрица будет той же формы, что и A, и сохранит класс A, но формат вывода может быть изменён.
Примечания
Это использует рекурсивную реализацию возведения матрицы в степень. Для вычисления степени матрицы с достаточно большим степень, это может быть менее эффективно, чем вычисление произведения напрямую, используя A @ A @ … @ A. Это зависит от количества ненулевых элементов в матрице.
Добавлено в версии 1.12.0.
Примеры
>>> from scipy import sparse >>> A = sparse.csc_array([[0,1,0],[1,0,1],[0,1,0]]) >>> A.todense() array([[0, 1, 0], [1, 0, 1], [0, 1, 0]]) >>> (A @ A).todense() array([[1, 0, 1], [0, 2, 0], [1, 0, 1]]) >>> A2 = sparse.linalg.matrix_power(A, 2) >>> A2.todense() array([[1, 0, 1], [0, 2, 0], [1, 0, 1]]) >>> A4 = sparse.linalg.matrix_power(A, 4) >>> A4.todense() array([[2, 0, 2], [0, 4, 0], [2, 0, 2]])