numpy.poly

numpy.poly(seq_of_zeros)[源代码]

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

注解

这是旧的多项式API的一部分。从版本1.4开始,新的多项式API在 numpy.polynomial 首选。差异可以在摘要中找到 transition guide .

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

参数
seq_of_zeros数组,形状(n,)或(n,n)

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

返回
c恩达雷

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

c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N] 其中C [0] 总是等于1。

加薪
ValueError

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

参见

polyval

计算多项式值。

roots

返回多项式的根。

polyfit

最小二乘多项式拟合。

poly1d

一维多项式类。

笔记

指定多项式的根仍然有一个自由度,通常由一个不确定的前导系数表示。 [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,“代数和三角学,用绘图工具增强”,Prentie Hall,第318页,1996年。

2

G.Strang,“线性代数及其应用,第2版”,学术出版社,第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。