Skip to main content
`Ctrl`+`K`

# numpy.broadcast_arrays

numpy.broadcast_arrays(*args, subok=False)

  Broadcast any number of arrays against each other.

  Parameters:
    *args array_likes

      The arrays to broadcast.

    subok bool, optional

      If True, then sub-classes will be passed-through, otherwise the returned arrays will be forced to be a base-class array (default).

  Returns:
    broadcasted tuple of arrays

      These arrays are views on the original arrays. They are typically not contiguous. Furthermore, more than one element of a broadcasted array may refer to a single memory location. If you need to write to the arrays, make copies first. While you can set the `writable` flag True, writing to a single output value may end up changing more than one location in the output array.

      Deprecated since version 1.17: The output is currently marked so that if written to, a deprecation warning will be emitted. A future version will set the `writable` flag False so writing to it will raise an error.

  See also

  `broadcast`
  `broadcast_to`
  `broadcast_shapes`

  Examples

      >>> import numpy as np
      >>> 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]]))

  Here is a useful idiom for getting contiguous copies instead of non-contiguous views.

      >>> [np.array(a) for a in np.broadcast_arrays(x, y)]
      [array([[1, 2, 3],
              [1, 2, 3]]),
       array([[4, 4, 4],
              [5, 5, 5]])]