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

Функция linalg.inv

Функция linalg.inv вычисляет обратную матрицу для квадратной матрицы или пакета квадратных матриц. Обратная матрица A⁻¹ удовлетворяет условию A * A⁻¹ = I, где I - единичная матрица. Первым параметром функция принимает тензор квадратной матрицы или пакет матриц. Вторым параметром можно передать булево значение out для указания выходного тензора.

Синтаксис

torch.linalg.inv(A, [out])

Пример

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

import torch t = torch.tensor([ [4.0, 7.0], [2.0, 6.0] ]) res = torch.linalg.inv(t) print(res)

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

tensor([ [ 0.6000, -0.7000], [-0.2000, 0.4000] ])

Пример

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

import torch t = torch.tensor([ [4.0, 7.0], [2.0, 6.0] ]) inv_t = torch.linalg.inv(t) res = torch.matmul(t, inv_t) print(res)

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

tensor([ [1.0000, 0.0000], [0.0000, 1.0000] ])

Пример

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

import torch t = torch.tensor([ [ [4.0, 7.0], [2.0, 6.0] ], [ [1.0, 2.0], [3.0, 4.0] ] ]) res = torch.linalg.inv(t) print(res)

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

tensor([ [ [ 0.6000, -0.7000], [-0.2000, 0.4000] ], [ [-2.0000, 1.0000], [ 1.5000, -0.5000] ] ])

Пример

Функция выбрасывает ошибку для вырожденной матрицы с нулевым определителем:

import torch t = torch.tensor([ [1.0, 2.0], [2.0, 4.0] ]) res = torch.linalg.inv(t) print(res)

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

"RuntimeError: linalg.inv: The diagonal element 0 is zero."

Пример

Давайте используем параметр out для сохранения результата в заранее выделенный тензор:

import torch t = torch.tensor([ [4.0, 7.0], [2.0, 6.0] ]) out_t = torch.empty(2, 2) torch.linalg.inv(t, out=out_t) print(out_t)

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

tensor([ [ 0.6000, -0.7000], [-0.2000, 0.4000] ])

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

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