This is a pre-release version (2.5.0.dev0+git20251130.2de293a).Go to latest (2.4.4)
{ } Raw JSON

bundles / numpy 2.5.0.dev0+git20251130.2de293a / numpy / triu_indices

function

numpy:triu_indices

source: /dev/numpy/build-install/usr/lib/python3.14/site-packages/numpy/lib/_twodim_base_impl.py:1054

Signature

def triu_indices(n, k = 0, m = None)

Summary

Return the indices for the upper-triangle of an (n, m) array.

Parameters

n : int

The size of the arrays for which the returned indices will be valid.

k : int, optional

Diagonal offset (see triu for details).

m : int, optional

The column dimension of the arrays for which the returned arrays will be valid. By default m is taken equal to n.

Returns

inds : tuple, shape(2) of ndarrays, shape(`n`)

The row and column indices, respectively. The row indices are sorted in non-decreasing order, and the corresponding column indices are strictly increasing for each row.

Examples

import numpy as np
✓
Compute two different sets of indices to access 4x4 arrays, one for the upper triangular part starting at the main diagonal, and one starting two diagonals further right:
iu1 = np.triu_indices(4)
iu1
✓
(array([0, 0, 0, 0, 1, 1, 1, 2, 2, 3]), array([0, 1, 2, 3, 1, 2, 3, 2, 3, 3]))
Note that row indices (first array) are non-decreasing, and the corresponding column indices (second array) are strictly increasing for each row. Here is how they can be used with a sample array:
a = np.arange(16).reshape(4, 4)
a
✓
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
Both for indexing:
a[iu1]
✓
array([ 0,  1,  2,  3,  5,  6,  7, 10, 11, 15])
And for assigning values:
a[iu1] = -1
a
✓
array([[-1, -1, -1, -1],
       [ 4, -1, -1, -1],
       [ 8,  9, -1, -1],
       [12, 13, 14, -1]])
These cover only a small part of the whole array (two diagonals right of the main one):
iu2 = np.triu_indices(4, 2)
a[iu2] = -10
a
✓
array([[ -1,  -1, -10, -10],
       [  4,  -1,  -1, -10],
       [  8,   9,  -1,  -1],
       [ 12,  13,  14,  -1]])

See also

mask_indices

generic function accepting an arbitrary mask function.

tril
tril_indices

similar function, for lower-triangular.

triu

Aliases

  • numpy.triu_indices

Referenced by