code: def polysub(a1, a2):
      """
      Difference (subtraction) of two polynomials.
  
      .. note::
         This forms part of the old polynomial API. Since version 1.4, the
         new polynomial API defined in `numpy.polynomial` is preferred.
         A summary of the differences can be found in the
         :doc:`transition guide </reference/routines.polynomials>`.
  
      Given two polynomials `a1` and `a2`, returns ``a1 - a2``.
      `a1` and `a2` can be either array_like sequences of the polynomials'
      coefficients (including coefficients equal to zero), or `poly1d` objects.
  
      Parameters
      ----------
      a1, a2 : array_like or poly1d
          Minuend and subtrahend polynomials, respectively.
  
      Returns
      -------
      out : ndarray or poly1d
          Array or `poly1d` object of the difference polynomial's coefficients.
  
      See Also
      --------
      polyval, polydiv, polymul, polyadd
  
      Examples
      --------
      .. math:: (2 x^2 + 10 x - 2) - (3 x^2 + 10 x -4) = (-x^2 + 2)
  
      >>> np.polysub([2, 10, -2], [3, 10, -4])
      array([-1,  0,  2])
  
      """
      truepoly = isinstance(a1, poly1d) or isinstance(a2, poly1d)
      a1 = atleast_1d(a1)
      a2 = atleast_1d(a2)
      diff = len(a2) - len(a1)
      if diff == 0:
          val = a1 - a2
      elif diff > 0:
          zr = NX.zeros(diff, a1.dtype)
          val = NX.concatenate((zr, a1)) - a2
      else:
          zr = NX.zeros(abs(diff), a2.dtype)
          val = a1 - NX.concatenate((zr, a2))
      if truepoly:
          val = poly1d(val)
      return val
  
imports: import functools
  import re
  import warnings
  from .._utils import set_module
  import numpy._core.numeric
  from numpy._core import isscalar, abs, finfo, atleast_1d, hstack, dot, array, ones
  from numpy._core import overrides
  from numpy.exceptions import RankWarning
  from numpy.lib._twodim_base_impl import diag, vander
  from numpy.lib._function_base_impl import trim_zeros
  from numpy.lib._type_check_impl import iscomplex, real, imag, mintypecode
  from numpy.linalg import eigvals, lstsq, inv
label_desc: Use image node_id 15 for calling a global function with example usage: polysub(a1, a2) and returns: val