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

Функция linalg.pinv

Функция torch.linalg.pinv вычисляет псевдообратную матрицу Мура-Пенроуза для входного тензора. Первым параметром функция принимает тензор. Вторым параметром можно передать допуск rtol для определения значимых сингулярных значений. Третьим параметром можно передать hermitian для оптимизации вычислений для эрмитовых матриц.

Синтаксис

torch.linalg.pinv(input, rtol=None, hermitian=False)

Пример

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

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

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

tensor([ [-2.0000, 1.0000], [1.5000, -0.5000], ])

Для невырожденной матрицы псевдообратная матрица совпадает с обычной обратной.

Пример

Рассмотрим вычисление псевдообратной матрицы для прямоугольной матрицы с размерностью 2x3:

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

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

tensor([ [-0.7778, -0.1111], [-0.1111, 0.1111], [0.5556, 0.3333], ])

Результатом является матрица размерности 3x2, которая является псевдообратной для исходной.

Пример

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

import torch t = torch.tensor([ [1.0, 2.0], [3.0, 4.0], [5.0, 6.0], ]) res = torch.linalg.pinv(t, rtol=1e-5) print(res)

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

tensor([ [-1.3333, -0.3333, 0.6667], [1.0833, 0.3333, -0.4167], ])

Параметр rtol позволяет контролировать, какие сингулярные значения считаются нулевыми.

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

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