numpy.polynomial
#
一個用於有效處理多項式的子套件。
在本子套件的文件中,「有限冪級數」,即多項式(也簡稱為「級數」)由多項式係數的 1-D numpy 陣列表示,從最低階項到最高階項排序。例如,array([1,2,3]) 表示 P_0 + 2*P_1 + 3*P_2
,其中 P_n 是適用於特定模組的 n 階基底多項式,例如,polynomial
(它「包裝」了「標準」基底)或 chebyshev
。為了獲得最佳效能,所有多項式運算(包括在參數處的求值)都實作為係數的運算。其他(模組特定的)資訊可以在感興趣模組的 docstring 中找到。
此套件為六種不同的多項式提供了便利類別
名稱 |
提供 |
---|---|
冪級數 |
|
Chebyshev 級數 |
|
Legendre 級數 |
|
Laguerre 級數 |
|
Hermite 級數 |
|
HermiteE 級數 |
這些便利類別為使用不同基底的多項式建立、操作和擬合資料提供了 consistent interface。便利類別是 polynomial
套件的首選介面,並且可以從 numpy.polynomial
命名空間取得。這消除了導航到相應子模組的需求,例如 np.polynomial.Polynomial
或 np.polynomial.Chebyshev
而不是 np.polynomial.polynomial.Polynomial
或 np.polynomial.chebyshev.Chebyshev
。這些類別提供了比每個多項式類型子模組中定義的類型特定函數更 consistent 且更簡潔的介面。例如,要將 degree 為 1
的 Chebyshev 多項式擬合到由陣列 xdata
和 ydata
給定的資料,fit
類別方法
>>> from numpy.polynomial import Chebyshev
>>> xdata = [1, 2, 3, 4]
>>> ydata = [1, 4, 9, 16]
>>> c = Chebyshev.fit(xdata, ydata, deg=1)
是優於 np.polynomial.chebyshev
模組中的 chebyshev.chebfit
函數
>>> from numpy.polynomial.chebyshev import chebfit
>>> c = chebfit(xdata, ydata, deg=1)
請參閱 使用便利類別 以取得更多詳細資訊。
便利類別#
以下列出了表示各種多項式類型的所有類別通用的各種常數和方法。在下文中,術語 Poly
代表任何一個便利類別(例如 Polynomial
、Chebyshev
、Hermite
等),而小寫 p
代表多項式類別的實例。
常數#
Poly.domain
– 預設域Poly.window
– 預設視窗Poly.basis_name
– 用於表示基底的字串Poly.maxpower
– 允許p**n
的最大值n
Poly.nickname
– 用於列印的字串
建立#
用於建立多項式實例的方法。
Poly.basis(degree)
– 給定 degree 的基底多項式Poly.identity()
–p
,其中p(x) = x
對於所有x
Poly.fit(x, y, deg)
– degree 為deg
的p
,其係數由資料x
、y
的最小平方擬合決定Poly.fromroots(roots)
– 具有指定 roots 的p
p.copy()
– 建立p
的副本
轉換#
用於將一種多項式實例轉換為另一種的方法。
p.cast(Poly)
– 將p
轉換為Poly
種類的實例p.convert(Poly)
– 將p
轉換為Poly
種類的實例,或在domain
和window
之間映射
微積分#
p.deriv()
– 取p
的導數p.integ()
– 積分p
驗證#
Poly.has_samecoef(p1, p2)
– 檢查係數是否匹配Poly.has_samedomain(p1, p2)
– 檢查域是否匹配Poly.has_sametype(p1, p2)
– 檢查類型是否匹配Poly.has_samewindow(p1, p2)
– 檢查視窗是否匹配
雜項#
p.linspace()
– 在domain
中等間隔的點傳回x, p(x)
p.mapparms()
– 傳回domain
和window
之間線性映射的參數。p.roots()
– 傳回p
的 roots。p.trim()
– 移除尾隨係數。p.cutdeg(degree)
– 將p
截斷為給定 degreep.truncate(size)
– 將p
截斷為給定 size
配置#
設定多項式字串表示的預設格式。 |