bundles / scipy 1.18.0 / scipy / _external / array_api_extra / _lib / _funcs / broadcast_shapes
function
scipy._external.array_api_extra._lib._funcs:broadcast_shapes
Signature
def broadcast_shapes(*shapes: tuple[float | None, ...]) → tuple[int | None, ...]Summary
Compute the shape of the broadcasted arrays.
Extended Summary
Duplicates numpy.broadcast_shapes, with additional support for None and NaN sizes.
This is equivalent to xp.broadcast_arrays(arr1, arr2, ...)[0].shape without needing to worry about the backend potentially deep copying the arrays.
Parameters
*shapes: tuple[int | None, ...]Shapes of the arrays to broadcast.
Returns
: tuple[int | None, ...]The shape of the broadcasted arrays.
Notes
This function accepts the Array API's None for unknown sizes, as well as Dask's non-standard math.nan. Regardless of input, the output always contains None for unknown sizes.
Examples
import array_api_extra as xpx xpx.broadcast_shapes((2, 3), (2, 1)) xpx.broadcast_shapes((4, 2, 3), (2, 1), (1, 3))⚠
Traceback (most recent call last):
File "<doctest scipy._external.array_api_extra._lib._funcs:broadcast_shapes[0]>", line 1, in <module>
xpx.broadcast_shapes((4, 2, 3), (2, 1), (1, 3))
^^^
NameError: name 'xpx' is not defined
See also
- array_api.broadcast_arrays
Function to broadcast actual arrays.
- numpy.broadcast_shapes
Equivalent NumPy function.
Aliases
scipy.differentiate.xpx.broadcast_shapes