Trait ndarray_linalg::solve::Determinant
source · pub trait Determinant<A: Scalar> {
// Required method
fn sln_det(&self) -> Result<(A, A::Real)>;
// Provided method
fn det(&self) -> Result<A> { ... }
}
Expand description
An interface for calculating determinants of matrix refs.
Required Methods§
sourcefn sln_det(&self) -> Result<(A, A::Real)>
fn sln_det(&self) -> Result<(A, A::Real)>
Computes the (sign, natural_log)
of the determinant of the matrix.
For real matrices, sign
is 1
, 0
, or -1
. For complex matrices,
sign
is 0
or a complex number with absolute value 1. The
natural_log
is the natural logarithm of the absolute value of the
determinant. If the determinant is zero, sign
is 0 and natural_log
is negative infinity.
To obtain the determinant, you can compute sign * natural_log.exp()
or just call .det()
instead.
This method is more robust than .det()
to very small or very large
determinants since it returns the natural logarithm of the determinant
rather than the determinant itself.