torch.slogdet¶
-
torch.slogdet(input)¶ Calculates the sign and log absolute value of the determinant(s) of a square matrix or batches of square matrices.
Note
If
inputhas zero determinant, this returns(0, -inf).Note
Backward through
slogdet()internally uses SVD results wheninputis not invertible. In this case, double backward throughslogdet()will be unstable in wheninputdoesn’t have distinct singular values. Seesvd()for details.- Parameters
input (Tensor) – the input tensor of size
(*, n, n)where*is zero or more batch dimensions.- Returns
A namedtuple (sign, logabsdet) containing the sign of the determinant, and the log value of the absolute determinant.
Example:
>>> 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.det(A) tensor(-0.7576) >>> torch.logdet(A) tensor(nan) >>> torch.slogdet(A) torch.return_types.slogdet(sign=tensor(-1.), logabsdet=tensor(-0.2776))