torch.logdet¶
-
torch.
logdet
(input) → Tensor¶ Calculates log determinant of a square matrix or batches of square matrices.
Note
Result is
-inf
ifinput
has zero log determinant, and isnan
ifinput
has negative determinant.Note
Backward through
logdet()
internally uses SVD results wheninput
is not invertible. In this case, double backward throughlogdet()
will be unstable in wheninput
doesn’t have distinct singular values. Seetorch.linalg.svd()
for details.- Parameters
input (Tensor) – the input tensor of size
(*, n, n)
where*
is zero or more batch dimensions.
Example:
>>> 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])