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