torch.logdet#
- torch.logdet(input)→Tensor#
Calculates log determinant of a square matrix or batches of square matrices.
It returns
-infif the input has a determinant of zero, andNaNif it hasa negative determinant.Note
Backward through
logdet()internally uses SVD results wheninputis not invertible. In this case, double backward throughlogdet()willbe unstable in wheninputdoesn’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])