scipy.sparse.linalg.
matrix_power#
- scipy.sparse.linalg.matrix_power(A, power)[源代码][源代码]#
将一个方阵提升到整数幂,power。
对于非负整数,
A**power
是通过重复矩阵乘法计算的。不支持负整数。- 参数:
- A(M,M)方阵稀疏数组或矩阵
稀疏数组将被提升到 power 次方
- 电源整数
用于提升稀疏数组 A 的指数
- 返回:
- A**力(M, M) 稀疏数组或矩阵
输出矩阵将与 A 具有相同的形状,并且将保留 A 的类,但输出的格式可能会有所改变。
注释
这使用了矩阵幂的递归实现。对于使用合理大的 power 计算矩阵幂,这可能不如直接使用 A @ A @ … @ A 计算乘积高效。这取决于矩阵中非零元素的数量。
Added in version 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]])