Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить