nlcpy.broadcast_arrays

nlcpy.broadcast_arrays(*args, **kwargs)[source]

Broadcasts any number of arrays against each other.

Parameters:
*argsarray_likes

The arrays to broadcast.

subokbool, optional

Not implemented.

Returns:
broadcastedlist 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.

Examples

>>> import nlcpy as vp
>>> x = vp.array([[1,2,3]])
>>> y = vp.array([[4],[5]])
>>> vp.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.

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