code: def zpk2tf(z, p, k):
      """
      Return polynomial transfer function representation from zeros and poles
  
      Parameters
      ----------
      z : array_like
          Zeros of the transfer function.
      p : array_like
          Poles of the transfer function.
      k : float
          System gain.
  
      Returns
      -------
      b : ndarray
          Numerator polynomial coefficients.
      a : ndarray
          Denominator polynomial coefficients.
  
      See Also
      --------
      scipy.signal.zpk2tf
      """
      if z.ndim > 1:
          raise NotImplementedError(f"zpk2tf: z.ndim = {z.ndim}.")
      b = _polycoeffs_from_zeros(z) * k
      a = _polycoeffs_from_zeros(p)
      return b, a
  
imports: import warnings
  import math
  from math import pi, prod
  import cupy
  from cupyx.scipy.special import binom
  import cupyx.scipy.special
  from cupyx.scipy.signal import _optimize
  from cupyx.scipy.signal._polyutils import roots, poly
  from cupyx.scipy.signal._lti_conversion import abcd_normalize
label_desc: Use image node_id 20 for calling a global function with example usage: zpk2tf(z, p, k) and returns: b,  a