numpy.poly #

麻木的。( seq_of_zeros ) [来源] #

求具有给定根序列的多项式的系数。

笔记

这构成了旧多项式 API 的一部分。从版本 1.4 开始,numpy.polynomial首选中定义的新多项式 API 。差异摘要可以在 转换指南中找到。

对于给定的零序列,返回其首项系数为 1 的多项式的系数(序列中包含的多个根必须与其重数一样多;请参阅示例)。还可以给出方阵(或数组,将被视为矩阵),在这种情况下返回矩阵的特征多项式的系数。

参数
seq_of_zeros类似数组,形状 (N,) 或 (N, N)

多项式根序列、方阵或矩阵对象。

返回
ndarray

从最高次到最低次的多项式系数的一维数组:

c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N] 其中 c[0] 始终等于 1。

加薪
值错误

如果输入的形状错误(输入必须是一维或二维方形数组)。

也可以看看

polyval

计算多项式值。

roots

返回多项式的根。

polyfit

最小二乘多项式拟合。

poly1d

一维多项式类。

笔记

指定多项式的根仍然保留一个自由度,通常由未确定的首项系数表示。[1]在此函数中,该系数(返回数组中的第一个系数)始终被视为 1。 (如果出于某种原因您还有另一点,目前利用该信息的唯一自动方法是使用polyfit。)

特征多项式,\(p_a(t)\)n × n 矩阵A的计算公式为

\(p_a(t) = \mathrm{det}(t\, \mathbf{I} - \mathbf{A})\),

其中In × n单位矩阵。[2]

参考

[ 1 ]

M. Sullivan 和 M. Sullivan, III,“代数和三角学,通过图形实用程序增强”,Prentice-Hall,第 17 页。 318,1996 年。

[ 2 ]

G. Strang,“线性代数及其应用,第二版”,学术出版社,第 17 页。 182, 1980.

例子

给定多项式零点序列:

>>> np.poly((0, 0, 0)) # Multiple root example
array([1., 0., 0., 0.])

上面的线代表 z**3 + 0*z**2 + 0*z + 0。

>>> np.poly((-1./2, 0, 1./2))
array([ 1.  ,  0.  , -0.25,  0.  ])

上面的线代表 z**3 - z/4

>>> np.poly((np.random.random(1)[0], 0, np.random.random(1)[0]))
array([ 1.        , -0.77086955,  0.08618131,  0.        ]) # random

给定一个方阵对象:

>>> P = np.array([[0, 1./3], [-1./2, 0]])
>>> np.poly(P)
array([1.        , 0.        , 0.16666667])

请注意在所有情况下首项系数始终为 1。