Skip to contents

For complex A, it returns the angle and the natural logarithm of the modulus of the determinant, that is, a logarithmic polar decomposition of the determinant. Supports input of float, double, cfloat and cdouble dtypes. Also supports batches of matrices, and if A is a batch of matrices then the output has the same batch dimensions.

Usage

linalg_slogdet(A)

Arguments

A

(Tensor): tensor of shape (*, n, n) where * is zero or more batch dimensions.

Value

A list (sign, logabsdet). logabsdet will always be real-valued, even when A is complex. sign will have the same dtype as A.

Notes

  • The determinant can be recovered as sign * exp(logabsdet).

  • When a matrix has a determinant of zero, it returns (0, -Inf).

Examples

if (torch_is_installed()) {
a <- torch_randn(3, 3)
linalg_slogdet(a)
}
#> [[1]]
#> torch_tensor
#> 1
#> [ CPUFloatType{} ]
#> 
#> [[2]]
#> torch_tensor
#> -2.58988
#> [ CPUFloatType{} ]
#>