[][src]Struct ndarray_linalg::solveh::BKFactorized

pub struct BKFactorized<S: Data> {
    pub a: ArrayBase<S, Ix2>,
    pub ipiv: Pivot,
}

Represents the Bunch–Kaufman factorization of a Hermitian (or real symmetric) matrix as A = P * U * D * U^H * P^T.

Fields

a: ArrayBase<S, Ix2>ipiv: Pivot

Methods

impl<A, S> BKFactorized<S> where
    A: Scalar + Lapack,
    S: Data<Elem = A>, 
[src]

pub fn deth(&self) -> A::Real[src]

Computes the determinant of the factorized Hermitian (or real symmetric) matrix.

pub fn sln_deth(&self) -> (A::Real, A::Real)[src]

Computes the (sign, natural_log) of the determinant of the factorized 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.

pub fn deth_into(self) -> A::Real[src]

Computes the determinant of the factorized Hermitian (or real symmetric) matrix.

pub fn sln_deth_into(self) -> (A::Real, A::Real)[src]

Computes the (sign, natural_log) of the determinant of the factorized 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_into() instead.

This method is more robust than .deth_into() to very small or very large determinants since it returns the natural logarithm of the determinant rather than the determinant itself.

Trait Implementations

impl<A, S> SolveH<A> for BKFactorized<S> where
    A: Scalar + Lapack,
    S: Data<Elem = A>, 
[src]

fn solveh<S: Data<Elem = A>>(&self, b: &ArrayBase<S, Ix1>) -> Result<Array1<A>>[src]

Solves a system of linear equations A * x = b with Hermitian (or real symmetric) matrix A, where A is self, b is the argument, and x is the successful result. Read more

fn solveh_into<S: DataMut<Elem = A>>(
    &self,
    b: ArrayBase<S, Ix1>
) -> Result<ArrayBase<S, Ix1>>
[src]

Solves a system of linear equations A * x = b with Hermitian (or real symmetric) matrix A, where A is self, b is the argument, and x is the successful result. Read more

impl<A, S> InverseH for BKFactorized<S> where
    A: Scalar + Lapack,
    S: Data<Elem = A>, 
[src]

type Output = Array2<A>

impl<A, S> InverseHInto for BKFactorized<S> where
    A: Scalar + Lapack,
    S: DataMut<Elem = A>, 
[src]

type Output = ArrayBase<S, Ix2>

Auto Trait Implementations

impl<S> Send for BKFactorized<S> where
    S: Send

impl<S> Sync for BKFactorized<S> where
    S: Sync

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]