当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy linalg.matrix_power用法及代码示例


本文简要介绍 python 语言中 scipy.sparse.linalg.matrix_power 的用法。

用法:

scipy.sparse.linalg.matrix_power(A, power)#

将方阵求整数次方 power。

对于非负整数,A**power 使用重复的矩阵乘法进行计算。不支持负整数。

参数

A (M, M) 方稀疏数组或矩阵

稀疏数组将被提升为幂幂

power int

用于计算稀疏数组 A 的指数

返回

A**power (M, M) 稀疏数组或矩阵

输出矩阵将与 A 具有相同的形状,并将保留 A 的类,但输出的格式可能会更改。

注意

这使用矩阵幂的递归实现。对于使用相当大的幂计算矩阵幂,这可能比使用 A @ A @ … @ A 直接计算乘积的效率要低。这取决于矩阵中非零条目的数量。

例子

>>> 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]])

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.sparse.linalg.matrix_power。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。