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§

source

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.

Provided Methods§

source

fn det(&self) -> Result<A>

Computes the determinant of the matrix.

Implementations on Foreign Types§

source§

impl<A, S> Determinant<A> for ArrayBase<S, Ix2>
where A: Scalar + Lapack, S: Data<Elem = A>,

source§

fn sln_det(&self) -> Result<(A, A::Real)>

Implementors§

source§

impl<A, S> Determinant<A> for LUFactorized<S>
where A: Scalar + Lapack, S: Data<Elem = A> + RawDataClone,