numpy.polynomial
#
一个用于高效处理多项式的子包。
在这个子包的文档中,“有限幂级数”,即多项式(也简称为“级数”)用多项式系数的 1 维 numpy 数组表示,顺序是从最低阶项到最高阶项。例如,数组 [1,2,3] 表示 P_0 + 2*P_1 + 3*P_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
– 允许p**n
的最大值n
Poly.nickname
– 打印中使用的字符串
创建#
用于创建多项式实例的方法。
Poly.basis(degree)
– 给定次数的基多项式Poly.identity()
– 对于所有x
,p
其中p(x) = x
Poly.fit(x, y, deg)
– 次数为deg
的p
,其系数由对数据x
、y
的最小二乘拟合确定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)
– 检查窗口是否匹配
其他#
p.linspace()
– 返回domain
中等距点的x, p(x)
p.mapparms()
– 返回domain
和window
之间线性映射的参数。p.roots()
– 返回p
的根。p.trim()
– 删除尾随系数。p.cutdeg(degree)
– 将p
截断到给定的次数p.truncate(size)
– 将p
截断到给定的大小
配置#
设置多项式字符串表示的默认格式。 |