РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
76 of 541 menu

Функция diag

Функция diag работает с диагоналями массивов. Если на вход подаётся двумерный массив, она извлекает его главную диагональ в виде одномерного массива. Если на вход подаётся одномерный массив, она создаёт двумерную диагональную матрицу, где элементы входного массива располагаются на главной диагонали, а остальные элементы равны нулю. Вторым параметром можно указать смещение относительно главной диагонали.

Синтаксис

np.diag(v, [k=0])

Пример

Извлечём главную диагональ из квадратной матрицы:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = np.diag(arr) print(res)

Результат выполнения кода:

[1 5 9]

Пример

Извлечём диагональ со смещением на одну позицию выше главной:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = np.diag(arr, k=1) print(res)

Результат выполнения кода:

[2 6]

Пример

Извлечём диагональ со смещением на одну позицию ниже главной:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = np.diag(arr, k=-1) print(res)

Результат выполнения кода:

[4 8]

Пример

Создадим диагональную матрицу из одномерного массива:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.diag(arr) print(res)

Результат выполнения кода:

[[1 0 0 0 0] [0 2 0 0 0] [0 0 3 0 0] [0 0 0 4 0] [0 0 0 0 5]]

Пример

Создадим диагональную матрицу со смещением на одну позицию выше главной диагонали:

import numpy as np arr = np.array([1, 2, 3, 4]) res = np.diag(arr, k=1) print(res)

Результат выполнения кода:

[[0 1 0 0 0] [0 0 2 0 0] [0 0 0 3 0] [0 0 0 0 4] [0 0 0 0 0]]

Пример

Создадим диагональную матрицу со смещением на две позиции ниже главной диагонали:

import numpy as np arr = np.array([1, 2, 3]) res = np.diag(arr, k=-2) print(res)

Результат выполнения кода:

[[0 0 0 0 0] [0 0 0 0 0] [1 0 0 0 0] [0 2 0 0 0] [0 0 3 0 0]]

Смотрите также

  • функцию diagonal,
    которая возвращает указанную диагональ из массива
  • функцию diagflat,
    которая создаёт диагональную матрицу из плоского входного массива
  • функцию tril,
    которая возвращает нижнюю треугольную часть матрицы
  • функцию triu,
    которая возвращает верхнюю треугольную часть матрицы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить