parameters: (c1, c2)
return_statement: return hermeadd(c0, hermemulx(c1))
docstring: 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, c2 : array_like
          1-D arrays of Hermite series coefficients ordered from low to
          high.
  
      Returns
      -------
      out : ndarray
          Of Hermite series coefficients representing their product.
  
      See Also
      --------
      hermeadd, hermesub, hermemulx, hermediv, hermepow
  
      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 numpy.polynomial.hermite_e import hermemul
      >>> hermemul([1, 2, 3], [0, 1, 2])
      array([14.,  15.,  28.,   7.,   6.])
docstring_summary: Multiply one Hermite series by another.
docstring_tokens: Multiply one Hermite series by another .
function: def hermemul(c1, c2):
      """
      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, c2 : array_like
          1-D arrays of Hermite series coefficients ordered from low to
          high.
  
      Returns
      -------
      out : ndarray
          Of Hermite series coefficients representing their product.
  
      See Also
      --------
      hermeadd, hermesub, hermemulx, hermediv, hermepow
  
      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 numpy.polynomial.hermite_e import hermemul
      >>> hermemul([1, 2, 3], [0, 1, 2])
      array([14.,  15.,  28.,   7.,   6.])
  
      """
      # s1, s2 are trimmed copies
      [c1, c2] = pu.as_series([c1, c2])
  
      if len(c1) > len(c2):
          c = c2
          xs = c1
      else:
          c = c1
          xs = c2
  
      if len(c) == 1:
          c0 = c[0]*xs
          c1 = 0
      elif len(c) == 2:
          c0 = c[0]*xs
          c1 = c[1]*xs
      else:
          nd = len(c)
          c0 = c[-2]*xs
          c1 = c[-1]*xs
          for i in range(3, len(c) + 1):
              tmp = c0
              nd = nd - 1
              c0 = hermesub(c[-i]*xs, c1*(nd - 1))
              c1 = hermeadd(tmp, hermemulx(c1))
      return hermeadd(c0, hermemulx(c1))
function_tokens: def hermemul ( c1 , c2 ) : # s1, s2 are trimmed copies [ c1 , c2 ] = pu . as_series ( [ c1 , c2 ] ) if len ( c1 ) > len ( c2 ) : c = c2 xs = c1 else : c = c1 xs = c2 if len ( c ) == 1 : c0 = c [ 0 ] * xs c1 = 0 elif len ( c ) == 2 : c0 = c [ 0 ] * xs c1 = c [ 1 ] * xs else : nd = len ( c ) c0 = c [ - 2 ] * xs c1 = c [ - 1 ] * xs for i in range ( 3 , len ( c ) + 1 ) : tmp = c0 nd = nd - 1 c0 = hermesub ( c [ - i ] * xs , c1 * ( nd - 1 ) ) c1 = hermeadd ( tmp , hermemulx ( c1 ) ) return hermeadd ( c0 , hermemulx ( c1 ) )