Функция torch.slogdet в PyTorch


Pytorch torch 参考手册Справочное руководство PyTorch torch

torch.slogdetЭто функция в PyTorch, используемая для вычисления знака и логарифма определителя матрицы. Она более численно устойчива в случаях, когда определитель очень большой или очень маленький.

Определение функции

torch.slogdet(input, out=None)

Parameters:

  • input(Tensor): Входная квадратная матрица.
  • out(tuple, optional): Выходной кортеж.

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

  • tuple: Возвращает кортеж (знак, значение логарифма).

Пример использования

Пример

import torch

# Создать квадратную матрицу
A = torch.tensor([[1.0, 2.0, 3.0],
                  [0.0, 4.0, 5.0],
                  [0.0, 0.0, 6.0]])

# Вычислить знак и логарифм определителя
sign, logdet = torch.slogdet(A)

print("Матрица A:")
print(A)
print("nЗнак определителя:", sign)
print("Логарифм определителя:", logdet)
print("Определитель:", sign * torch.exp(logdet))

Вывод:

矩阵 A:
tensor([[1., 2., 3.],
        [0., 4., 5.],
        [0., 0., 6.]])
行列式符号: tensor(1.)
行列式对数: tensor(3.5835)
行列式: tensor(24.)

Pytorch torch 参考手册Справочное руководство PyTorch torch

Другие расширения