dpnp.tril_indices_from

dpnp.tril_indices_from(arr, k=0)[source]

Return the indices for the lower-triangle of arr.

For full documentation refer to numpy.tril_indices_from.

Parameters:
  • arr ({dpnp.ndarray, usm_ndarray}) -- The indices will be valid for square arrays whose dimensions are the same as arr.

  • k (int, optional) -- Diagonal offset (see dpnp.tril for details). Default: 0.

Returns:

inds -- The indices for the triangle. The returned tuple contains two arrays, each with the indices along one dimension of the array.

Return type:

tuple of dpnp.ndarray

See also

dpnp.tril_indices

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

dpnp.tril

Return lower triangle of an array.

dpnp.triu_indices_from

similar function, for upper-triangular.

Examples

Create a 4 by 4 array.

>>> import dpnp as np
>>> 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]])

Pass the array to get the indices of the lower triangular elements.

>>> trili = np.tril_indices_from(a)
>>> trili
(array([0, 1, 1, 2, 2, 2, 3, 3, 3, 3]),
 array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3]))
>>> a[trili]
array([ 0,  4,  5,  8,  9, 10, 12, 13, 14, 15])

This is syntactic sugar for tril_indices().

>>> np.tril_indices(a.shape[0])
(array([0, 1, 1, 2, 2, 2, 3, 3, 3, 3]),
 array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3]))

Use the k parameter to return the indices for the lower triangular array up to the k-th diagonal.

>>> trili1 = np.tril_indices_from(a, k=1)
>>> a[trili1]
array([ 0,  1,  4,  5,  6,  8,  9, 10, 11, 12, 13, 14, 15])