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

Функция linalg.diag

Функция linalg.diag создает диагональный тензор из переданных значений или извлекает диагональные элементы из входной матрицы. Первым параметром функция принимает тензор или список. Вторым параметром можно передать смещение диагонали k. Третьим параметром задается выравнивание align, которое определяет поведение функции для многомерных тензоров.

Синтаксис

tf.linalg.diag(diagonal, [k], [align])

Пример

Давайте создадим квадратную матрицу из вектора значений 1, 2, 3:

import tensorflow as tf t = tf.constant([1, 2, 3]) res = tf.linalg.diag(t) print(res)

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

tf.Tensor( [[1 0 0] [0 2 0] [0 0 3]], shape=(3, 3), dtype=int32)

Пример

Давайте извлечем диагональные элементы из двумерной матрицы:

import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = tf.linalg.diag(t) print(res)

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

tf.Tensor([1 5 9], shape=(3,), dtype=int32)

Пример

Давайте создадим матрицу со смещенной диагональю, передав параметр k равным 1:

import tensorflow as tf t = tf.constant([1, 2, 3]) res = tf.linalg.diag(t, k=1) print(res)

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

tf.Tensor( [[0 1 0 0] [0 0 2 0] [0 0 0 3] [0 0 0 0]], shape=(4, 4), dtype=int32)

Пример

Давайте извлечем диагональ со смещением 1 из матрицы:

import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) res = tf.linalg.diag(t, k=1) print(res)

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

tf.Tensor([2 6], shape=(2,), dtype=int32)

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

  • функцию set_diag,
    которая устанавливает диагональные элементы матрицы
  • функцию band_part,
    которая копирует часть матрицы в ленточной форме
  • функцию trace,
    которая вычисляет след матрицы
  • функцию matmul,
    которая выполняет матричное умножение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить