Функция tril() библиотеки Numpy в Python возвращает копию массива с нулевыми элементами выше k-диагонали. k: этот параметр представляет требуемую нам диагональ.
Что такое функция np.tril() в Python?
Метод np.tril() в Python возвращает копию матрицы массива с элементом нижней части треугольника относительно k. Метод tril() принимает два параметра и возвращает нижний треугольник матрицы массива.
Метод tril() определен в numpy, который можно импортировать как import numpy as np, и мы можем создавать многомерные массивы и получать другую математическую статистику.
Синтаксис
|
1 |
numpy.tril(array, k=0) |
Параметры
Метод принимает два параметра, один из которых является необязательным:
- первый параметр — это array, который принимает входной массив;
- второй параметр k, необязательный. Это целочисленное значение, имеющее значение 0 по умолчанию.
K>0 представляет собой диагональ выше главной диагонали, и то же самое происходит наоборот для K<0.
Возвращаемое значение
Возвращает нижний треугольник матрицы массива, который имеет тот же тип данных и форму, что и основной массив.
Примеры программ по методу tril() в Python
- Напишем программу, показывающую работу функции tril() в Python.
|
1 2 3 4 5 6 7 |
import numpy as np arr = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print("Main Diagonal elements(for k=0) : \n", np.tril(arr), "\n") print("Diagonal above main Diagonal elements(For k=1): \n", np.tril(arr, 1), "\n\n") print("Main Diagonal elements(For k=-1) : \n", np.tril(arr, -1)) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Main Diagonal elements(for k=0) : [[1 0 0] [4 5 0] [7 8 9]] Diagonal above main Diagonal elements(For k=1): [[1 2 0] [4 5 6] [7 8 9]] Main Diagonal elements(For k=-1) : [[0 0 0] [4 0 0] [7 8 0]] |
В этом примере мы видим обход различных значений k. Это потому, что мы получаем разные нижние треугольники в соответствии с диагональю матрицы.
- Напишем программу, которая берет матрицу 4×4, а затем применяет функцию tril().
|
1 2 3 4 5 6 7 8 |
import numpy as np arr = np.matrix([[1, 2, 3, 22], [4, 5, 6, 33], [7, 8, 9, 44], [10, 11, 12, 13]]) print("Main Diagonal elements(for k=0) : \n", np.tril(arr), "\n") print("Diagonal above main Diagonal elements(For k=1): \n", np.tril(arr, 1), "\n\n") print("Main Diagonal elements(For k=-1) : \n", np.tril(arr, -1)) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Main Diagonal elements(for k=0) : [[ 1 0 0 0] [ 4 5 0 0] [ 7 8 9 0] [10 11 12 13]] Diagonal above main Diagonal elements(For k=1): [[ 1 2 0 0] [ 4 5 6 0] [ 7 8 9 44] [10 11 12 13]] Main Diagonal elements(For k=-1) : [[ 0 0 0 0] [ 4 0 0 0] [ 7 8 0 0] [10 11 12 0]] |
В этом примере мы видим, что когда мы передаем матрицу 4 × 4, мы получаем выходную матрицу соответственно для разных значений k. Первая матрица для k=0, вторая матрица для k=1, а третья для k=-1.
