dpnp.ravel_multi_index
- dpnp.ravel_multi_index(multi_index, dims, mode='raise', order='C')[source]
Converts a tuple of index arrays into an array of flat indices, applying boundary modes to the multi-index.
For full documentation refer to
numpy.ravel_multi_index
.- Parameters:
multi_index (tuple of {dpnp.ndarray, usm_ndarray}) -- A tuple of integer arrays, one array for each dimension.
dims (tuple or list of ints) -- The shape of array into which the indices from multi_index apply.
mode ({"raise", "wrap" or "clip'}, optional) --
Specifies how out-of-bounds indices are handled. Can specify either one mode or a tuple of modes, one mode per index:
"raise" -- raise an error
"wrap" -- wrap around
"clip" -- clip to the range
In
"clip"
mode, a negative index which would normally wrap will clip to 0 instead. Default:"raise"
.order ({None, "C", "F"}, optional) -- Determines whether the multi-index should be viewed as indexing in row-major (C-style) or column-major (Fortran-style) order. Default:
"C"
.
- Returns:
raveled_indices -- An array of indices into the flattened version of an array of dimensions dims.
- Return type:
dpnp.ndarray
See also
dpnp.unravel_index
Converts array of flat indices into a tuple of coordinate arrays.
Examples
>>> import dpnp as np >>> arr = np.array([[3, 6, 6], [4, 5, 1]]) >>> np.ravel_multi_index(arr, (7, 6)) array([22, 41, 37]) >>> np.ravel_multi_index(arr, (7, 6), order="F") array([31, 41, 13]) >>> np.ravel_multi_index(arr, (4, 6), mode="clip") array([22, 23, 19]) >>> np.ravel_multi_index(arr, (4, 4), mode=("clip", "wrap")) array([12, 13, 13])
>>> arr = np.array([3, 1, 4, 1]) >>> np.ravel_multi_index(arr, (6, 7, 8, 9)) array(1621)