Broadcast any number of arrays against each other.
The arrays to broadcast.
If True, then sub-classes will be passed-through, otherwise the returned arrays will be forced to be a base-class array (default).
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.
>>> x = np.array([[1,2,3]]) >>> y = np.array([,]) >>> 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]])]