scipy.sparse.linalg.
matrix_power#
- scipy.sparse.linalg.matrix_power(A, power)[source]#
将一个方阵提高到整数幂 power。
对于非负整数,使用重复的矩阵乘法计算
A**power
。不支持负整数。- 参数:
- A(M, M) 方形稀疏数组或矩阵
将被提高到 power 幂的稀疏数组
- powerint
用于提高稀疏数组 A 的指数
- 返回值:
- A**power(M, M) 稀疏数组或矩阵
输出矩阵将与 A 形状相同,并保留 A 的类,但输出的格式可能会发生更改。
备注
这使用矩阵幂的递归实现。对于使用相当大的 power 计算矩阵幂,这可能不如直接使用 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]])