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

Функция linalg.slogdet

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

Синтаксис

torch.linalg.slogdet(A)

Параметры

Функция принимает следующие параметры:

  • A - входной тензор с размерностью (..., n, n), где последние два измерения образуют квадратную матрицу.

Возвращаемое значение

Функция возвращает кортеж из двух тензоров:

  • первый тензор содержит знак определителя (1 для положительного, -1 для отрицательного, 0 для вырожденной матрицы);
  • второй тензор содержит натуральный логарифм модуля определителя.

Пример

Вычислим знак и логарифм определителя для единичной матрицы размера 2x2:

import torch t = torch.eye(2) sign, logdet = torch.linalg.slogdet(t) print(sign) print(logdet)

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

tensor(1.) tensor(0.)

Пример

Рассмотрим матрицу с отрицательным определителем:

import torch t = torch.tensor([ [1, 2], [3, 4], ]) sign, logdet = torch.linalg.slogdet(t) print(sign) print(logdet)

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

tensor(-1.) tensor(0.6931)

Пример

Вырожденная матрица даёт знак 0 и логарифм минус бесконечность:

import torch t = torch.tensor([ [1, 2], [2, 4], ]) sign, logdet = torch.linalg.slogdet(t) print(sign) print(logdet)

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

tensor(0.) tensor(-inf)

Пример

Вычислим определитель для пакета матриц:

import torch t = torch.tensor([ [[1, 2], [3, 4]], [[5, 6], [7, 8]], ]) sign, logdet = torch.linalg.slogdet(t) print(sign) print(logdet)

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

tensor([-1., -1.]) tensor([0.6931, 0.6931])

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

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