scipy.linalg.

伴隨矩陣#

scipy.linalg.companion(a)[原始碼]#

建立伴隨矩陣。

建立與多項式相關的伴隨矩陣 [1],該多項式的係數在 a 中給出。

參數:
a(…, N) array_like

多項式係數的 1-D 陣列。a 的長度必須至少為二,且 a[0] 不得為零。M 維陣列被視為批次:沿著最後一個軸的每個切片都是多項式係數的 1-D 陣列。

返回:
c(…, N-1, N-1) ndarray

對於 1-D 輸入,c 的第一列為 -a[1:]/a[0],且第一個次對角線全為 1。陣列的資料類型與 1.0*a[0] 的資料類型相同。對於批次輸入,沿著輸出的最後兩個維度的每個形狀為 (N-1, N-1) 的切片對應於沿著輸入的最後一個維度的形狀為 (N,) 的切片。

引發:
ValueError

如果以下任何條件為真:a) a.shape[-1] < 2; b) a[..., 0] == 0

註解

在版本 0.8.0 中新增。

參考文獻

[1]

R. A. Horn & C. R. Johnson, Matrix Analysis. Cambridge, UK: Cambridge University Press, 1999, pp. 146-7.

範例

>>> from scipy.linalg import companion
>>> companion([1, -10, 31, -30])
array([[ 10., -31.,  30.],
       [  1.,   0.,   0.],
       [  0.,   1.,   0.]])