torch.logdet
-
torch.logdet(input) → Tensor -
Вычисляет логарифм определителя квадратной матрицы или пакетов квадратных матриц.
Возвращает
-inf, если определитель входных данных равен нулю, иNaN, если он отрицателен.Примечание
При обратном распространении через
logdet()внутри используются результаты SVD, еслиinputнеобратима. В этом случае двойное обратное распространение черезlogdet()будет нестабильным, еслиinputне имеет различных сингулярных значений. Подробнее см. в описанииtorch.linalg.svd().См. также
torch.linalg.slogdet()вычисляет знак (соответственно, угол) и натуральный логарифм абсолютного значения определителя вещественных (соответственно, комплексных) квадратных матриц.- Параметры:
-
input (Тензор) – входной тензор размера
(*, n, n), где*— ноль или более измерений пакета.
Пример:
>>> A = torch.randn(3, 3) >>> torch.det(A) tensor(0.2611) >>> torch.logdet(A) tensor(-1.3430) >>> A tensor([[[ 0.9254, -0.6213], [-0.5787, 1.6843]], [[ 0.3242, -0.9665], [ 0.4539, -0.0887]], [[ 1.1336, -0.4025], [-0.7089, 0.9032]]]) >>> A.det() tensor([1.1990, 0.4099, 0.7386]) >>> A.det().log() tensor([ 0.1815, -0.8917, -0.3031])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.logdet.html