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

Функция linalg.svd

Функция linalg.svd выполняет сингулярное разложение матрицы. Первым параметром функция принимает тензор размерности [..., M, N]. Вторым параметром можно передать флаг full_matrices, который определяет размер возвращаемых матриц. Третьим параметром можно указать compute_uv - нужно ли вычислять унитарные матрицы. Четвертым параметром передается имя операции name.

Синтаксис

tf.linalg.svd(tensor, [full_matrices], [compute_uv], [name])

Пример

Давайте выполним сингулярное разложение для матрицы размером 2 на 3:

import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32) s, u, v = tf.linalg.svd(t) print(s) print(u) print(v)

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

tf.Tensor([9.508032 0.7728694], shape=(2,), dtype=float32) tf.Tensor( [[-0.3863177 -0.9223658 ] [-0.9223658 0.38631767]], shape=(2, 2), dtype=float32) tf.Tensor( [[-0.42866713 -0.56630695 -0.7039468 ] [ 0.80596393 0.11238242 -0.5811991 ] [ 0.4082483 -0.8164966 0.4082483 ]], shape=(3, 3), dtype=float32)

Пример

Давайте выполним сингулярное разложение без вычисления унитарных матриц, передав compute_uv=False:

import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32) s = tf.linalg.svd(t, compute_uv=False) print(s)

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

tf.Tensor([9.508032 0.7728694], shape=(2,), dtype=float32)

Пример

Давайте выполним сингулярное разложение с параметром full_matrices=False, чтобы получить усеченные унитарные матрицы:

<+python+> import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32) s, u, v = tf.linalg.svd(t, full_matrices=False) print(s) print(u) print(v) <-python+>

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

tf.Tensor([9.508032 0.7728694], shape=(2,), dtype=float32) tf.Tensor( [[-0.3863177 -0.9223658 ] [-0.9223658 0.38631767]], shape=(2, 2), dtype=float32) tf.Tensor( [[-0.42866713 -0.56630695 -0.7039468 ] [ 0.80596393 0.11238242 -0.5811991 ]], shape=(2, 3), dtype=float32)

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

  • функцию inv,
    которая вычисляет обратную матрицу
  • функцию det,
    которая вычисляет определитель матрицы
  • функцию qr,
    которая выполняет QR-разложение матрицы
  • функцию solve,
    которая решает систему линейных уравнений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить