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

Функция linalg.inv

Функция linalg.inv вычисляет обратную матрицу. Первым параметром функция принимает входной тензор, который должен представлять квадратную матрицу или батч квадратных матриц. Вторым параметром можно передать имя операции.

Обратная матрица A⁻¹ - это такая матрица, при умножении на которую исходная матрица A дает единичную матрицу. Функция полезна при решении систем линейных уравнений, вычислении коэффициентов регрессии и других задач линейной алгебры.

Синтаксис

tf.linalg.inv(input, [name])

Пример

Давайте вычислим обратную матрицу для квадратной матрицы размера 2×2:

import tensorflow as tf t = tf.constant([[1.0, 2.0], [3.0, 4.0]]) res = tf.linalg.inv(t) print(res)

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

tf.Tensor( [[-2.0000002 1.0000001 ] [ 1.5000001 -0.50000006]], shape=(2, 2), dtype=float32)

Пример

Проверим, что произведение исходной матрицы и обратной дает единичную матрицу:

import tensorflow as tf t = tf.constant([[1.0, 2.0], [3.0, 4.0]]) inv = tf.linalg.inv(t) res = tf.matmul(t, inv) print(res)

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

tf.Tensor( [[ 1.0000000e+00 0.0000000e+00] [-1.1920929e-07 1.0000000e+00]], shape=(2, 2), dtype=float32)

Пример

Функция также работает с батчем матриц. Давайте вычислим обратные матрицы для батча из двух матриц размера 2×2:

import tensorflow as tf t = tf.constant([ [[1.0, 2.0], [3.0, 4.0]], [[2.0, 0.0], [0.0, 2.0]] ]) res = tf.linalg.inv(t) print(res)

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

tf.Tensor( [[[-2.0000002 1.0000001 ] [ 1.5000001 -0.50000006]] [[ 0.5 0. ] [ 0. 0.5 ]]], shape=(2, 2, 2), dtype=float32)

Пример

Давайте вычислим обратную матрицу для матрицы размера 3×3 с типом float64:

import tensorflow as tf t = tf.constant([ [1.0, 2.0, 3.0], [0.0, 1.0, 4.0], [5.0, 6.0, 0.0] ], dtype=tf.float64) res = tf.linalg.inv(t) print(res)

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

tf.Tensor( [[-24. 18. 5.] [ 20. -15. -4.] [ -5. 4. 1.]], shape=(3, 3), dtype=float64)

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

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