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>)>;
}