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