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 是重數為 2 的根,則 roots 看起來會像 [2, 2, 2, 3, 3]。根可以以任何順序出現。

如果傳回的係數是 c,則

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

最後一項的係數對於此形式的單位多項式為 1。

參數:
rootsarray_like

包含根的序列。

傳回值:
outndarray

多項式係數的 1-D 陣列。如果所有根都是實數,則 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])