# numpy.tril_indices_from#

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

Return the indices for the lower-triangle of arr.

See `tril_indices` for full details.

Parameters:
arrarray_like

The indices will be valid for square arrays whose dimensions are the same as arr.

kint, optional

Diagonal offset (see `tril` for details).

Notes

New in version 1.4.0.

Examples

```>>> import numpy as np
```

Create a 4 by 4 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]])
```

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])
```