numpy.polynomial#
一个用于高效处理多项式的子包.
在此子包的文档中,"有限幂级数",即多项式(也简称为"级数")由多项式系数的 1-D numpy 数组表示,从最低阶项到最高阶项排序.例如,array([1,2,3]) 表示 P_0 + 2P_1 + 3P_2 ,其中 P_n 是适用于相关特定模块的 n 阶基多项式,例如, polynomial (它"包装"了"标准"基)或 chebyshev .为了获得最佳性能,多项式的所有运算(包括在参数处求值)都作为系数的运算来实现.其他(特定于模块的)信息可以在感兴趣模块的文档字符串中找到.
这个包为六种不同类型的多项式中的每一种都提供了方便的类:
这些方便类为创建,操作和拟合具有不同基的多项式的数据提供了一致的接口.这些方便类是 polynomial 包的首选接口,可以从 numpy.polynomial 命名空间获得.这消除了导航到相应子模块的需要,例如, np.polynomial.Polynomial 或 np.polynomial.Chebyshev ,而不是 np.polynomial.polynomial.Polynomial 或 np.polynomial.chebyshev.Chebyshev .与子模块中为每种多项式类型定义的类型特定函数相比,这些类提供了更一致和简洁的接口.例如,要将次数为 1 的切比雪夫多项式拟合到由数组 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– 允许pn的最大值n
创建#
用于创建多项式实例的方法.
Poly.basis(degree)– 给定次数的基多项式Poly.identity()–p,其中对于所有x,p(x) = xPoly.fit(x, y, deg)– 次数为deg的p,其系数由数据x,y的最小二乘拟合确定Poly.fromroots(roots)– 具有指定根的pp.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的根.p.trim()– 删除尾随系数.p.cutdeg(degree)– 将p截断为给定的次数p.truncate(size)– 将p截断为给定的大小
配置#
设置 polynomial 字符串表示的默认格式. |