原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.poly.html
校对:(虚位以待)
numpy.
poly
(seq_of_zeros)[source]找到具有给定的根序列的多项式的系数。
返回多项式的系数,其前导系数对于给定的零序列为一(多个根必须包括在序列中,次数与它们的多样性一样多;参见示例)。还可以给出方矩阵(或数组,其将被视为矩阵),在这种情况下返回矩阵的特征多项式的系数。
参数: | seq_of_zeros:array_like,shape(N,)或(N,N)
|
---|---|
返回: | c:ndarray
|
上升: | ValueError
|
笔记
指定多项式的根仍然具有一个自由度,通常由未确定的超前系数表示。[R56]在此函数的情况下,该系数 - 返回的数组中的第一个 - 始终为1。(如果由于某种原因你有另外一点,目前利用该信息的唯一自动方法是使用polyfit
。)
n -by- n矩阵A的特征多项式由下式给出:
,
其中I是n -by- n单位矩阵。[R57]
参考文献
[R56] | (1, 2) M. Sullivan and M. Sullivan, III, “Algebra and Trignometry, Enhanced With Graphing Utilities,” Prentice-Hall, pg. 318,1996。 |
[R57] | (1,2) G.Strang,“Linear Algebra and Its Applications,第2版,”Academic Press,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])
或方矩阵对象:
>>> np.poly(np.matrix(P))
array([ 1. , 0. , 0.16666667])
注意在所有情况下,领先的系数总是1。