numpy.poly#

numpy.poly(seq_of_zeros)[源代码]#

找到具有给定根序列的多项式的系数.

备注

这是旧多项式 API 的一部分. 从 1.4 版本开始,优先使用在 numpy.polynomial 中定义的新多项式 API. 差异的总结可以在 transition guide 中找到.

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

参数:
seq_of_zerosarray_like,形状(N,)或(N,N)

多项式根的序列,或一个方阵或矩阵对象.

返回:
cndarray

从最高到最低次幂的多项式系数的 1D 数组:

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

Raises:
ValueError

如果输入的形状错误(输入必须是 1-D 或正方形 2-D 数组).

参见

polyval

计算多项式值.

roots

返回多项式的根.

polyfit

最小二乘多项式拟合.

poly1d

一维多项式类.

注释

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

n × n 矩阵 A 的特征多项式 \(p_a(t)\) 由下式给出

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

其中 I 是 n × n 单位矩阵. [2]

参考文献

[1]

M. Sullivan and M. Sullivan, III, “Algebra and Trigonometry, Enhanced With Graphing Utilities,” Prentice-Hall, pg. 318, 1996.

[2]

G. Strang, “Linear Algebra and Its Applications, 2nd Edition,” Academic Press, pg. 182, 1980.

示例

给定一个多项式的零序列:

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

上面一行代表 z3 + 0z2 + 0z + 0.

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

上面一行代表 z3 - 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.