numpy.polynomial.legendre.legmul(c1, c2)[source]

Multiply one Legendre series by another.

Returns the product of two Legendre series c1 * c2. The arguments are sequences of coefficients, from lowest order “term” to highest, e.g., [1,2,3] represents the series P_0 + 2*P_1 + 3*P_2.


c1, c2 : array_like

1-D arrays of Legendre series coefficients ordered from low to high.


out : ndarray

Of Legendre series coefficients representing their product.

See also

legadd, legsub, legdiv, legpow


In general, the (polynomial) product of two C-series results in terms that are not in the Legendre polynomial basis set. Thus, to express the product as a Legendre series, it is necessary to “reproject” the product onto said basis set, which may produce “unintuitive” (but correct) results; see Examples section below.


>>> from numpy.polynomial import legendre as L
>>> c1 = (1,2,3)
>>> c2 = (3,2)
>>> P.legmul(c1,c2) # multiplication requires "reprojection"
array([  4.33333333,  10.4       ,  11.66666667,   3.6       ])