orthax.hermite.hermmul

orthax.hermite.hermmul(c1, c2, mode='full')Source

Multiply one Hermite series by another.

Returns the product of two Hermite 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.

Parameters:
  • c1 (array_like) – 1-D arrays of Hermite series coefficients ordered from low to high.

  • c2 (array_like) – 1-D arrays of Hermite series coefficients ordered from low to high.

  • mode ({"full", "same"}) – If “full”, output has shape (len(c1) + len(c2) - 1). If “same”, output has shape max(len(c1), len(c2)), possibly truncating high order modes.

Returns:

out (ndarray) – Of Hermite series coefficients representing their product.

Notes

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

Examples

>>> from orthax.hermite import hermmul
>>> hermmul([1, 2, 3], [0, 1, 2])
array([52.,  29.,  52.,   7.,   6.])