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)