scipy.sparse.linalg.

matrix_power#

scipy.sparse.linalg.matrix_power(A, power)[source]#

將一個方陣提升到整數次方,power

對於非負整數,A**power 使用重複矩陣乘法計算。 不支持負整數。

參數:
A(M, M) 方陣稀疏陣列或矩陣

將被提升到 power 次方的稀疏陣列 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]])