torch.linalg.slogdet
-
torch.linalg.slogdet(A, *, out=None) -
Вычисляет знак и натуральный логарифм абсолютного значения определителя квадратной матрицы.
Для комплексных
A, она возвращает угол и натуральный логарифм модуля определителя, то есть логарифмическое полярное разложение определителя.Определитель можно восстановить как
sign * exp(logabsdet). Когда определитель матрицы равен нулю, возвращается(0, -inf).Поддерживает входные данные типов float, double, cfloat и cdouble. Также поддерживает пакеты матриц, и если
Aявляется пакетом матриц, то выходные данные имеют те же размерности пакета.См. также
torch.linalg.det()вычисляет определитель квадратных матриц.- Параметры:
-
A (Tensor) – тензор формы
(*, n, n)где*— ноль или более размерностей пакета. - Ключевые аргументы:
-
out (tuple, необязательно) – кортеж выходных тензоров. Игнорируется, если
None. По умолчанию:None. - Возвращает:
-
Именованный кортеж
(sign, logabsdet).signбудет иметь тот же тип данных, что иA.logabsdetвсегда будет вещественным, даже когдаAкомплексный.
Примеры:
>>> A = torch.randn(3, 3) >>> A tensor([[ 0.0032, -0.2239, -1.1219], [-0.6690, 0.1161, 0.4053], [-1.6218, -0.9273, -0.0082]]) >>> torch.linalg.det(A) tensor(-0.7576) >>> torch.logdet(A) tensor(nan) >>> torch.linalg.slogdet(A) torch.return_types.linalg_slogdet(sign=tensor(-1.), logabsdet=tensor(-0.2776))
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.linalg.slogdet.html