numpy.polynomial.polynomial.polyfromroots#
- polynomial.polynomial.polyfromroots(roots)[源代码]#
生成一个具有给定根的幺模多项式。
返回多项式的系数
\[p(x) = (x - r_0) * (x - r_1) * ... * (x - r_n),\]其中 \(r_n\) 是在
roots
中指定的根。如果一个零点具有 n 的重数,那么它必须在roots
中出现 n 次。例如,如果 2 是三重根,3 是二重根,则roots
看起来像 [2, 2, 2, 3, 3]。根可以以任何顺序出现。如果返回的系数是 c,则
\[p(x) = c_0 + c_1 * x + ... + x^n\]对于这种形式的幺模多项式,最后一项的系数是 1。
- 参数:
- rootsarray_like
包含根的序列。
- 返回:
- outndarray
多项式系数的一维数组。如果所有根都是实数,则 out 也是实数,否则为复数。(参见下面的示例)。
另请参阅
注释
系数是通过将形如
(x - r_i)
的线性因子相乘来确定的,即\[p(x) = (x - r_0) (x - r_1) ... (x - r_n)\]其中
n == len(roots) - 1
;请注意,这意味着 \(a_n\) 始终返回1
。示例
>>> from numpy.polynomial import polynomial as P >>> P.polyfromroots((-1,0,1)) # x(x - 1)(x + 1) = x^3 - x array([ 0., -1., 0., 1.]) >>> j = complex(0,1) >>> P.polyfromroots((-j,j)) # complex returned, though values are real array([1.+0.j, 0.+0.j, 1.+0.j])