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


Python numpy poly用法及代碼示例

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

用法:

numpy.poly(seq_of_zeros)

找到具有給定根序列的多項式的係數。

注意

這構成了舊多項式 API 的一部分。從版本 1.4 開始,首選在 numpy.polynomial 中定義的新多項式 API。可以在過渡指南中找到差異摘要。

返回給定零序列的前導係數為 1 的多項式的係數(序列中包含的多個根必須與其多重性一樣多;請參見示例)。也可以給出方陣(或數組,將被視為矩陣),在這種情況下,返回矩陣的特征多項式的係數。

參數

seq_of_zeros 數組, 形狀 (N,) 或 (N, N)

多項式根序列,或方陣或矩陣對象。

返回

c ndarray

多項式係數的一維數組,從最高到最低程度:

c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N]其中 c[0] 始終等於 1。

拋出

ValueError

如果輸入的形狀錯誤(輸入必須是一維或正方形二維數組)。

注意

指定多項式的根仍然留下一個自由度,通常由未確定的前導係數表示。 [1] 在此函數的情況下,該係數 - 返回數組中的第一個 - 始終被視為一個。 (如果出於某種原因您還有其他觀點,那麽目前利用該信息的唯一自動方法是使用 polyfit 。)

特征多項式,\(p_a(t)\) , 一個n-經過-n矩陣A是(誰)給的

\(p_a(t) = \mathrm{det}(t\, \mathbf{I} - \mathbf{A})\) ,

其中I是個n-經過-n單位矩陣。[2]

參考

1

M. Sullivan 和 M. Sullivan, III,“代數和三角函數,通過圖形實用程序增強”,Prentice-Hall,第 1 頁。 318, 1996.

2

G. Strang,“線性代數及其應用,第 2 版”,學術出版社,頁碼。 182 年,1980 年。

例子

給定多項式的零點序列:

>>> np.poly((0, 0, 0)) # Multiple root example
array([1., 0., 0., 0.])

上麵的行代表 z**3 + 0*z**2 + 0*z + 0。

>>> np.poly((-1./2, 0, 1./2))
array([ 1.  ,  0.  , -0.25,  0.  ])

上麵的線代表 z**3 - z/4

>>> np.poly((np.random.random(1)[0], 0, np.random.random(1)[0]))
array([ 1.        , -0.77086955,  0.08618131,  0.        ]) # random

給定一個方陣對象:

>>> P = np.array([[0, 1./3], [-1./2, 0]])
>>> np.poly(P)
array([1.        , 0.        , 0.16666667])

請注意,在所有情況下,領先係數始終為 1。

相關用法


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