有效处理多项式的一个子包。
在本子包的文档中,“有限幂级数”,即多项式(也称为“级数”)由多项式系数的一维numpy数组表示,从最低阶项到最高阶项排序。例如,数组( [1,2,3] )代表 P_0 + 2*P_1 + 3*P_2 ,其中P n是适用于所讨论的特定模块的n阶基多项式,例如。, polynomial “基础”或“标准” chebyshev . 为了获得最佳性能,对多项式的所有运算(包括参数的求值)都被实现为对系数的运算。其他(特定于模块的)信息可以在感兴趣的模块的docstring中找到。
P_0 + 2*P_1 + 3*P_2
polynomial
chebyshev
此软件包提供 便利班 对于六种不同的多项式:
Name Provides 多项式的 幂级数 切比雪夫 切比雪夫系 勒让德 勒让德级数 拉盖尔 Laguerre级数 埃尔米特 厄米特统 厄米 赫米特系列
Name
Provides
多项式的
幂级数
切比雪夫
切比雪夫系
勒让德
勒让德级数
拉盖尔
Laguerre级数
埃尔米特
厄米特统
厄米
赫米特系列
这些 便利班 为创建、操作和拟合具有不同基的多项式的数据提供一致的接口。便利类是 polynomial 包装,和可从 numpy.polynomial 命名空间。这样就不需要导航到相应的子模块,例如。 np.polynomial.Polynomial 或 np.polynomial.Chebyshev 而不是 np.polynomial.polynomial.Polynomial 或 np.polynomial.chebyshev.Chebyshev 分别是。这些类为每种类型的多项式提供了比子模块中定义的类型特定函数更一致和简洁的接口。例如,用次拟合切比雪夫多项式 1 数组给出的数据 xdata 和 ydata , the fit 类方法:
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 >>> c = Chebyshev.fit(xdata, ydata, deg=1)
优先于 chebyshev.chebfit 函数来自 numpy.polynomial.chebyshev 模块:
chebyshev.chebfit
numpy.polynomial.chebyshev
>>> from numpy.polynomial.chebyshev import chebfit >>> c = chebfit(xdata, ydata, deg=1)
见 使用便利类 了解更多详细信息。
各种常用的多项式的表示方法。在下文中 Poly 表示任何一个便利类(例如。 Polynomial , Chebyshev , Hermite 等)而 p 表示一个 实例 多项式类的。
Poly
Polynomial
Chebyshev
Hermite
p
Poly.domain --默认域
Poly.domain
Poly.window --默认窗口
Poly.window
Poly.basis_name --用于表示基的字符串
Poly.basis_name
Poly.maxpower --最大值 n 这样的话 p**n 是允许的
Poly.maxpower
n
p**n
Poly.nickname --用于打印的字符串
Poly.nickname
创建多项式实例的方法。
Poly.basis(degree) --给定次基多项式
Poly.basis(degree)
Poly.identity() -- p where p(x) = x for all x
Poly.identity()
p(x) = x
x
Poly.fit(x, y, deg) -- p of degree deg with coefficients determined by the least-squares fit to the data x, y
Poly.fit(x, y, deg)
deg
y
Poly.fromroots(roots) —— p 具有指定的根
Poly.fromroots(roots)
p.copy() -- Create a copy of p
p.copy()
将一种多项式实例转换为另一种多项式实例的方法。
p.cast(Poly) -- Convert p to instance of kind Poly
p.cast(Poly)
p.convert(Poly) -- Convert p to instance of kind Poly or map between domain and window
p.convert(Poly)
domain
window
p.deriv() -- Take the derivative of p
p.deriv()
p.integ() -- Integrate p
p.integ()
Poly.has_samecoef(p1, p2) --检查系数是否匹配
Poly.has_samecoef(p1, p2)
Poly.has_samedomain(p1, p2) --检查域是否匹配
Poly.has_samedomain(p1, p2)
Poly.has_sametype(p1, p2) --检查类型是否匹配
Poly.has_sametype(p1, p2)
Poly.has_samewindow(p1, p2) --检查windows是否匹配
Poly.has_samewindow(p1, p2)
p.linspace() -- Return x, p(x) at equally-spaced points in domain
p.linspace()
x, p(x)
p.mapparms() --返回之间的线性映射的参数 domain 和 window .
p.mapparms()
p.roots() --还根 p .
p.roots()
p.trim() --删除尾部系数。
p.trim()
p.cutdeg(degree) --把p截断到给定的程度
p.cutdeg(degree)
p.truncate(size) --将p截断为给定大小
p.truncate(size)
numpy.polynomial.set_default_printstyle \(样式)
numpy.polynomial.set_default_printstyle
为多项式的字符串表示设置默认格式。