当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy poly用法及代码示例


本文简要介绍 python 语言中 numpy.poly 的用法。

用法:

numpy.poly(seq_of_zeros)

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

注意

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

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

参数

seq_of_zeros 数组, 形状 (N,) 或 (N, N)

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

返回

c ndarray

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

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

抛出

ValueError

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

注意

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

特征多项式,\(p_a(t)\) , 一个n-经过-n矩阵A是(谁)给的

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

其中I是个n-经过-n单位矩阵。[2]

参考

1

M. Sullivan 和 M. Sullivan, III,“代数和三角函数,通过图形实用程序增强”,Prentice-Hall,第 1 页。 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。

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.poly。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。