numpy.polynomial.polynomial.polyfromroots #

多项式.多项式. polyfromroots () [来源] #

生成具有给定根的一元多项式。

返回多项式的系数

\[p(x) = (x - r_0) * (x - r_1) * ... * (x - r_n),\]

其中 是r_n中指定的根roots。如果零的重数为 n,则它必须出现rootsn 次。例如,如果 2 是重数 3 的根,3 是重数 2 的根,则roots看起来类似于 [2, 2, 2, 3, 3]。根可以以任何顺序出现。

如果返回的系数是c,则

\[p(x) = c_0 + c_1 * x + ... + x^n\]

对于这种形式的一元多项式,最后一项的系数为 1。

参数
类似根数组

包含根的序列。

返回
输出数组

多项式系数的一维数组 如果所有根都是实数,则out也是实数,否则为复数。 (参见下面的示例)。

笔记

通过将以下形式的线性因子相乘来确定系数,即(x - r_i)

\[p(x) = (x - r_0) (x - r_1) ... (x - r_n)\]

在哪里;请注意,这意味着总是返回n == len(roots) - 11\(a_n\)

例子

>>> 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])