flopscope.numpy.polymul
fnp.polymul(a1, a2)[flopscope source][numpy source]
Find the product of two polynomials.
Adapted from NumPy docs np.polymul
Multiply polynomials. Cost: n1 * n2 FLOPs.
This forms part of the old polynomial API. Since version 1.4, the new polynomial API defined in flops.polynomial is preferred. A summary of the differences can be found in the transition guide.
Finds the polynomial resulting from the multiplication of the two input polynomials. Each input must be either a poly1d object or a 1D sequence of polynomial coefficients, from highest to lowest degree.
Parameters
- a1, a2:array_like or poly1d object
Input polynomials.
Returns
- out:ndarray or poly1d object
The polynomial resulting from the multiplication of the inputs. If either inputs is a poly1d object, then the output is also a poly1d object. Otherwise, it is a 1D array of polynomial coefficients from highest to lowest degree.
See also
- poly1d A one-dimensional polynomial class.
- we.flops.poly
- we.flops.polyadd
- we.flops.polyder
- we.flops.polydiv
- we.flops.polyfit
- we.flops.polyint
- we.flops.polysub
- we.flops.polyval
- we.flops.convolve Array convolution. Same output as polymul, but has parameter for overlap mode.
Examples
>>> import flopscope.numpy as fnp
>>> flops.polymul([1, 2, 3], [9, 5, 1])
array([ 9, 23, 38, 17, 3])Using poly1d objects:
>>> p1 = flops.poly1d([1, 2, 3])
>>> p2 = flops.poly1d([9, 5, 1])
>>> print(p1)
2
1 x + 2 x + 3
>>> print(p2)
2
9 x + 5 x + 1
>>> print(flops.polymul(p1, p2))
4 3 2
9 x + 23 x + 38 x + 17 x + 3