Computes the sign and natural logarithm of the absolute value of the determinant of a square matrix.
Source:R/linalg.R
linalg_slogdet.RdFor 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.
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).
See also
Other linalg:
linalg_cholesky(),
linalg_cholesky_ex(),
linalg_det(),
linalg_eig(),
linalg_eigh(),
linalg_eigvals(),
linalg_eigvalsh(),
linalg_householder_product(),
linalg_inv(),
linalg_inv_ex(),
linalg_lstsq(),
linalg_matrix_norm(),
linalg_matrix_power(),
linalg_matrix_rank(),
linalg_multi_dot(),
linalg_norm(),
linalg_pinv(),
linalg_qr(),
linalg_solve(),
linalg_solve_triangular(),
linalg_svd(),
linalg_svdvals(),
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
#> 2.05887
#> [ CPUFloatType{} ]
#>