NumPy参考 >例行程序 >Polynomials >Poly1d > numpy.poly
numpy.
poly
(seq_of_zeros )[源代码] ¶找到具有给定根序列的多项式系数。
对于给定的零序列,返回其前导系数为1的多项式的系数(该序列中必须包含多个根,且其根数应为它们的乘数;请参见示例)。也可以给出一个正方形矩阵(或将被视为矩阵的数组),在这种情况下,将返回矩阵特征多项式的系数。
多项式根序列,或平方数组或矩阵对象。
从最高到最低的一维多项式系数数组:
c[0] * x**(N) + c[1] * x**(N-1) + ... + c[N-1] * x + c[N]
其中c [0]始终等于1。
如果输入的形状错误(输入必须是一维或二维二维数组)。
笔记
指定多项式的根仍然保留一个自由度,通常由不确定的前导系数表示。[1]对于此函数,该系数-返回数组中的第一个系数-始终视为1。(如果由于某种原因您还有其他观点,则目前唯一利用该信息的自动方法是使用polyfit
。)
特征多项式,,一个的Ñ -by- Ñ 矩阵阿由下式给出
,
其中I是n × n单位矩阵。[2]
参考文献
M. Sullivan和M. Sullivan,III,“代数和三角学,使用绘图实用程序进行了增强”,Prentice-Hall,第13页。318,1996。
G. Strang,“线性代数及其应用,第二版”,学术出版社,第5页。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。