Rate this Page

torch.logdet#

torch.logdet(input)Tensor#

Calculates log determinant of a square matrix or batches of square matrices.

It returns-inf if the input has a determinant of zero, andNaN if it hasa negative determinant.

Note

Backward throughlogdet() internally uses SVD results wheninputis not invertible. In this case, double backward throughlogdet() willbe unstable in wheninput doesn’t have distinct singular values. Seetorch.linalg.svd() for details.

See also

torch.linalg.slogdet() computes the sign (resp. angle) and natural logarithm of theabsolute value of the determinant of real-valued (resp. complex) square matrices.

Parameters

input (Tensor) – the input tensor of size(*,n,n) where* is zero or morebatch dimensions.

Example:

>>>A=torch.randn(3,3)>>>torch.det(A)tensor(0.2611)>>>torch.logdet(A)tensor(-1.3430)>>>Atensor([[[ 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])