NumPy

Previous topic

numpy.polynomial.legendre.legint

Next topic

numpy.polynomial.legendre.legroots

numpy.polynomial.legendre.legfromroots

numpy.polynomial.legendre.legfromroots(roots)[source]

Generate a Legendre series with given roots.

The function returns the coefficients of the polynomial

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

in Legendre form, 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 * L_1(x) + ... +  c_n * L_n(x)

The coefficient of the last term is not generally 1 for monic polynomials in Legendre form.

Parameters
rootsarray_like

Sequence containing the roots.

Returns
outndarray

1-D array of coefficients. If all roots are real then out is a real array, if some of the roots are complex, then out is complex even if all the coefficients in the result are real (see Examples below).

See also

polyfromroots, chebfromroots, lagfromroots, hermfromroots, hermefromroots

Examples

>>> import numpy.polynomial.legendre as L
>>> L.legfromroots((-1,0,1)) # x^3 - x relative to the standard basis
array([ 0. , -0.4,  0. ,  0.4])
>>> j = complex(0,1)
>>> L.legfromroots((-j,j)) # x^2 + 1 relative to the standard basis
array([ 1.33333333+0.j,  0.00000000+0.j,  0.66666667+0.j]) # may vary