#### Previous topic

numpy.polydiv

#### Next topic

numpy.polysub

# numpy.polymul

`numpy.``polymul`(a1, a2)

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

  `poly`, `polyadd`, `polyder`, `polydiv`, `polyfit`, `polyint`, `polysub`, `polyval`

  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