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).

Other linalg: linalg_cholesky_ex(), linalg_cholesky(), linalg_det(), linalg_eigh(), linalg_eigvalsh(), linalg_eigvals(), linalg_eig(), linalg_householder_product(), linalg_inv_ex(), linalg_inv(), linalg_lstsq(), linalg_matrix_norm(), linalg_matrix_power(), linalg_matrix_rank(), linalg_multi_dot(), linalg_norm(), linalg_pinv(), linalg_qr(), linalg_solve_triangular(), linalg_solve(), linalg_svdvals(), linalg_svd(), linalg_tensorinv(), linalg_tensorsolve(), linalg_vector_norm()

## Examples

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