flopscope.numpy.triu_indices_from
fnp.triu_indices_from(arr, k=0)[flopscope source][numpy source]
Return the indices for the upper-triangle of arr.
Adapted from NumPy docs np.triu_indices_from
Cost
0
Flopscope Context
Return upper-triangle indices for given array.
See triu_indices for full details.
Parameters
- arr:ndarray, shape(N, N)
The indices will be valid for square arrays.
- k:int, optional
Diagonal offset (see triu for details).
Returns
- triu_indices_from:tuple, shape(2) of ndarray, shape(N)
Indices for the upper-triangle of
arr.
See also
Examples
>>> import flopscope.numpy as fnpCreate a 4 by 4 array
>>> a = flops.arange(16).reshape(4, 4)
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])Pass the array to get the indices of the upper triangular elements.
>>> triui = flops.triu_indices_from(a)
>>> triui
(array([0, 0, 0, 0, 1, 1, 1, 2, 2, 3]), array([0, 1, 2, 3, 1, 2, 3, 2, 3, 3]))>>> a[triui]
array([ 0, 1, 2, 3, 5, 6, 7, 10, 11, 15])This is syntactic sugar for triu_indices().
>>> flops.triu_indices(a.shape[0])
(array([0, 0, 0, 0, 1, 1, 1, 2, 2, 3]), array([0, 1, 2, 3, 1, 2, 3, 2, 3, 3]))Use the k parameter to return the indices for the upper triangular array
from the k-th diagonal.
>>> triuim1 = flops.triu_indices_from(a, k=1)
>>> a[triuim1]
array([ 1, 2, 3, 6, 7, 11])