Функция tril
Функция tril возвращает нижнюю треугольную
часть массива, обнуляя элементы выше заданной
диагонали. Первым параметром функция принимает
массив, вторым - номер диагонали (по умолчанию 0).
Возвращается массив с сохраненной нижней
треугольной частью.
Синтаксис
np.tril(arr, [k])
Пример
Получим нижнюю треугольную часть матрицы:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
res = np.tril(arr)
print(res)
Результат выполнения кода:
[[1 0 0]
[4 5 0]
[7 8 9]]
Пример
Получим нижнюю треугольную часть со сдвигом диагонали:
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8],
[9, 10, 11, 12], [13, 14, 15, 16]])
res = np.tril(arr, k=1)
print(res)
Результат выполнения кода:
[[ 1 2 0 0]
[ 5 6 7 0]
[ 9 10 11 12]
[13 14 15 16]]
Пример
Используем отрицательный сдвиг диагонали:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
res = np.tril(arr, k=-1)
print(res)
Результат выполнения кода:
[[0 0 0]
[4 0 0]
[7 8 0]]
Пример
Сравним tril и triu:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Original:")
print(arr)
print("tril:")
print(np.tril(arr))
print("triu:")
print(np.triu(arr))
Результат выполнения кода:
"Original:"
[[1 2 3]
[4 5 6]
[7 8 9]]
"tril:"
[[1 0 0]
[4 5 0]
[7 8 9]]
"triu:"
[[1 2 3]
[0 5 6]
[0 0 9]]