code: def broadcast_arrays(*args):
      """
      Broadcast any number of arrays against each other.
  
      Parameters
      ----------
      `*args` : a list of ndarrays
          The arrays to broadcast.
  
      Returns
      -------
      broadcasted : list of arrays
          These arrays are copies of the original arrays unless that all the input
          arrays have the same shape, the input list of arrays are returned
          instead of a list of copies.
  
      Examples
      --------
      >>> x = np.array([[1,2,3]])
      >>> y = np.array([[4],[5]])
      >>> np.broadcast_arrays(x, y)
      [array([[1., 2., 3.],
             [1., 2., 3.]]), array([[4., 4., 4.],
             [5., 5., 5.]])]
      """
      shape = _broadcast_shape(*args)
  
      if all(array.shape == shape for array in args):
          # Common case where nothing needs to be broadcasted.
          return list(args)
  
      return [_mx_nd_np.broadcast_to(array, shape) for array in args]
  
imports: from ..ndarray.ndarray import _get_broadcast_shape
  from ..ndarray import numpy
label_desc: Use image node_id 2 for calling a global function with example usage: broadcast_arrays() and returns: unknown, list