Generate a Laguerre series with given roots.

The function returns the coefficients of the polynomial

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

in Laguerre 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 Laguerre form.


Sequence containing the roots.


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


>>> from numpy.polynomial.laguerre import lagfromroots, lagval
>>> coef = lagfromroots((-1, 0, 1))
>>> lagval((-1, 0, 1), coef)
array([0.,  0.,  0.])
>>> coef = lagfromroots((-1j, 1j))
>>> lagval((-1j, 1j), coef)
array([0.+0.j, 0.+0.j])