numpy.polynomial.polynomial.polyfromroots()

numpy.polynomial.polynomial.polyfromroots

numpy.polynomial.polynomial.polyfromroots(roots) [source]

Generate a monic polynomial with given roots.

Return the coefficients of the polynomial

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

where the r_n are the roots specified in roots. If a zero has multiplicity n, then it must appear in roots n times. For instance, if 2 is a root of multiplicity three and 3 is a root of multiplicity 2, then roots looks something like [2, 2, 2, 3, 3]. The roots can appear in any order.

If the returned coefficients are c, then

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

The coefficient of the last term is 1 for monic polynomials in this form.

Parameters:

roots : array_like

Sequence containing the roots.

Returns:

out : ndarray

1-D array of the polynomial’s coefficients If all the roots are real, then out is also real, otherwise it is complex. (see Examples below).

See also

chebfromroots, legfromroots, lagfromroots, hermfromroots, hermefromroots

Notes

The coefficients are determined by multiplying together linear factors of the form (x - r_i), i.e.

p(x) = (x - r_0) (x - r_1) ... (x - r_n)

where n == len(roots) - 1; note that this implies that 1 is always returned for a_n.

Examples

>>> 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])
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部