# numpy.polymul¶

`numpy.``polymul`(a1, a2)[source]

Find the product of two polynomials.

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

`poly1d`
A one-dimensional polynomial class.
`convolve`
Array convolution. Same output as polymul, but has parameter for overlap mode.

Examples

```>>> np.polymul([1, 2, 3], [9, 5, 1])
array([ 9, 23, 38, 17,  3])
```

Using poly1d objects:

```>>> p1 = np.poly1d([1, 2, 3])
>>> p2 = np.poly1d([9, 5, 1])
>>> print(p1)
2
1 x + 2 x + 3
>>> print(p2)
2
9 x + 5 x + 1
>>> print(np.polymul(p1, p2))
4      3      2
9 x + 23 x + 38 x + 17 x + 3
```

numpy.polydiv

numpy.polysub