orthax.chebyshev.chebmul
- orthax.chebyshev.chebmul(c1, c2, mode='full')Source
Multiply one Chebyshev series by another.
Returns the product of two Chebyshev series c1 * c2. The arguments are sequences of coefficients, from lowest order “term” to highest, e.g., [1,2,3] represents the series
T_0 + 2*T_1 + 3*T_2.- Parameters:
c1 (array_like) – 1-D arrays of Chebyshev series coefficients ordered from low to high.
c2 (array_like) – 1-D arrays of Chebyshev 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 Chebyshev series coefficients representing their product.
Notes
In general, the (polynomial) product of two C-series results in terms that are not in the Chebyshev polynomial basis set. Thus, to express the product as a C-series, it is typically necessary to “reproject” the product onto said basis set, which typically produces “unintuitive live” (but correct) results; see Examples section below.
Examples
>>> from orthax import chebyshev as C >>> c1 = (1,2,3) >>> c2 = (3,2,1) >>> C.chebmul(c1,c2) # multiplication requires "reprojection" array([ 6.5, 12. , 12. , 4. , 1.5])