Trait ndarray_linalg::solveh::DeterminantH
source · pub trait DeterminantH {
type Elem: Scalar;
// Required methods
fn deth(&self) -> Result<<Self::Elem as Scalar>::Real>;
fn sln_deth(
&self,
) -> Result<(<Self::Elem as Scalar>::Real, <Self::Elem as Scalar>::Real)>;
}
Expand description
An interface for calculating determinants of Hermitian (or real symmetric) matrix refs.
Required Associated Types§
Required Methods§
sourcefn deth(&self) -> Result<<Self::Elem as Scalar>::Real>
fn deth(&self) -> Result<<Self::Elem as Scalar>::Real>
Computes the determinant of the Hermitian (or real symmetric) matrix.
sourcefn sln_deth(
&self,
) -> Result<(<Self::Elem as Scalar>::Real, <Self::Elem as Scalar>::Real)>
fn sln_deth( &self, ) -> Result<(<Self::Elem as Scalar>::Real, <Self::Elem as Scalar>::Real)>
Computes the (sign, natural_log)
of the determinant of the Hermitian
(or real symmetric) matrix.
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 .deth()
instead.
This method is more robust than .deth()
to very small or very large
determinants since it returns the natural logarithm of the determinant
rather than the determinant itself.