1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
//! Decompositions.

use format::{Conventional, Diagonal};
use {Element, Result};

/// The singular-value decomposition.
pub trait SingularValue<T: Element> {
    /// Perform the decomposition.
    fn decompose(&self) -> Result<(Conventional<T>, Diagonal<T>, Conventional<T>)>;
}

/// The eigendecomposition for symmetric matrices.
pub trait SymmetricEigen<T: Element> {
    /// Perform the decomposition.
    fn decompose(&self) -> Result<(Conventional<T>, Diagonal<T>)>;
}