當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python numpy linalg.matrix_power用法及代碼示例

本文簡要介紹 python 語言中 numpy.linalg.matrix_power 的用法。

用法:

linalg.matrix_power(a, n)

將方陣提高到(整數)次冪 n。

對於正整數n,冪是通過重複矩陣平方和矩陣乘法計算的。如果n == 0,返回與M形狀相同的單位矩陣。如果n < 0,計算倒數,然後將其提升為abs(n).

注意

當前不支持對象矩陣堆棧。

參數

a (…, M, M) 數組

矩陣為“powered”。

n int

index 可以是任何整數或長整數、正數、負數或零。

返回

a**n (..., M, M) ndarray 或矩陣對象

返回值與 M 的形狀和類型相同;如果 index 為正或零,則元素的類型與 M 的相同。如果 index 為負,則元素為浮點數。

拋出

LinAlgError

對於不是正方形的矩陣或(對於負冪)不能進行數字反轉的矩陣。

例子

>>> from numpy.linalg import matrix_power
>>> i = np.array([[0, 1], [-1, 0]]) # matrix equiv. of the imaginary unit
>>> matrix_power(i, 3) # should = -i
array([[ 0, -1],
       [ 1,  0]])
>>> matrix_power(i, 0)
array([[1, 0],
       [0, 1]])
>>> matrix_power(i, -3) # should = 1/(-i) = i, but w/ f.p. elements
array([[ 0.,  1.],
       [-1.,  0.]])

更複雜的例子

>>> q = np.zeros((4, 4))
>>> q[0:2, 0:2] = -i
>>> q[2:4, 2:4] = i
>>> q # one of the three quaternion units not equal to 1
array([[ 0., -1.,  0.,  0.],
       [ 1.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  1.],
       [ 0.,  0., -1.,  0.]])
>>> matrix_power(q, 2) # = -np.eye(4)
array([[-1.,  0.,  0.,  0.],
       [ 0., -1.,  0.,  0.],
       [ 0.,  0., -1.,  0.],
       [ 0.,  0.,  0., -1.]])

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.linalg.matrix_power。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。