flopscope.

flopscope.numpy.unique_inverse

fnp.unique_inverse(x: 'ArrayLike', /) -> 'Any'[flopscope source][numpy source]

Find the unique elements of `x` and indices to reconstruct `x`.

Adapted from NumPy docs np.unique_inverse

Areacore
Typecustom
Cost
per-operation
Flopscope Context

Sort-based unique; cost = n*ceil(log2(n)).

Find the unique elements of x and indices to reconstruct x.

This function is an Array API compatible alternative to:

flops.unique(x, return_inverse=True, equal_nan=False)

but returns a namedtuple for easier access to each output.

Parameters

x:array_like

Input array. It will be flattened if it is not already 1-D.

Returns

out:namedtuple

The result containing:

  • values - The unique elements of an input array.

  • inverse_indices - The indices from the set of unique elements that reconstruct x.

See also

Examples

>>> import flopscope.numpy as fnp
>>> x = [1, 1, 2]
>>> uniq = flops.unique_inverse(x)
>>> uniq.values
array([1, 2])
>>> uniq.inverse_indices
array([0, 0, 1])