Функция torch.slogdet в PyTorch
Справочное руководство 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 = 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.)
Другие расширения