numpy.polynomial.legendre.legfromroots

numpy.polynomial.legendre.legfromroots(roots)

Generate a Legendre series with the given roots.

Return the array of coefficients for the P-series whose roots (a.k.a. “zeros”) are given by roots. The returned array of coefficients is ordered from lowest order “term” to highest, and zeros of multiplicity greater than one must be included in roots a number of times equal to their multiplicity (e.g., if 2 is a root of multiplicity three, then [2,2,2] must be in roots).

Parameters :

roots : array_like

Sequence containing the roots.

Returns :

out : ndarray

1-d array of the Legendre series coefficients, ordered from low to high. If all roots are real, out.dtype is a float type; otherwise, out.dtype is a complex type, even if all the coefficients in the result are real (see Examples below).

See also

polyfromroots, chebfromroots

Notes

What is returned are the c_i such that:

\sum_{i=0}^{n} c_i*P_i(x) = \prod_{i=0}^{n} (x - roots[i])

where n == len(roots) and P_i(x) is the i-th Legendre (basis) polynomial over the domain [-1,1]. Note that, unlike polyfromroots, due to the nature of the Legendre basis set, the above identity does not imply c_n = 1 identically (see Examples).

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

Previous topic

numpy.polynomial.legendre.legroots

Next topic

numpy.polynomial.legendre.legfit

This Page