numpy.polynomial
#
一个用于高效处理多项式的子包.
在本子包的文档中,一个”有限幂级数”,即多项式(也简称为”级数”)由一个多项式的系数的一维 numpy 数组表示,从最低次项到最高次项排序.例如,array([1,2,3]) 表示 P_0 + 2*P_1 + 3*P_2
,其中 P_n 是适用于特定模块的第 n 阶基多项式,例如 polynomial`(它”包装”了”标准”基)或 `chebyshev.为了最佳性能,所有对多项式的操作,包括在参数处的求值,都是作为对系数的操作实现的.额外的(模块特定的)信息可以在感兴趣模块的文档字符串中找到.
此包为六种不同类型的多项式提供了*便利类*:
Name |
Provides |
---|---|
幂级数 |
|
切比雪夫级数 |
|
勒让德级数 |
|
Laguerre 系列 |
|
埃尔米特级数 |
|
HermiteE 系列 |
这些 便捷类 提供了一个一致的接口,用于创建、操作和用不同基的多项式拟合数据.便捷类是 polynomial
包的首选接口,并且可以从 numpy.polynomial
命名空间中获得.这消除了导航到相应子模块的需要,例如 np.polynomial.Polynomial
或 np.polynomial.Chebyshev
而不是 np.polynomial.polynomial.Polynomial
或 np.polynomial.chebyshev.Chebyshev
.这些类提供的接口比在每个多项式类型的子模块中定义的类型特定函数更一致和简洁.例如,要拟合一个度数为 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
– 最大值n
,使得p**n
是被允许的Poly.nickname
– 用于打印的字符串
创建#
创建多项式实例的方法.
Poly.basis(degree)
– 给定次数的基础多项式Poly.identity()
–p
其中p(x) = x
对于所有x
Poly.fit(x, y, deg)
– 通过最小二乘法拟合数据x
,y
确定系数的deg
次p
Poly.fromroots(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)
– 检查窗口是否匹配
Misc#
p.linspace()
– 在domain
中以等间距点返回x, p(x)
p.mapparms()
– 返回domain
和window
之间线性映射的参数.p.roots()
– 返回p
的根.p.trim()
– 移除尾随系数.p.cutdeg(degree)
– 将p
截断到给定的度数p.truncate(size)
– 将p
截断到给定大小
配置#
设置多项式字符串表示的默认格式. |