#[macro_use]
mod matrixcolumniterator;
mod matrixcolumniteratormut;
mod matrixcolumniteratormutimmut;
mod matrixintoiterator;
mod matrixiterator;
mod matrixiteratormut;
mod matrixrowiterator;
mod eigendec;
mod matrixcolumnintoiterator;
mod matrixrowintoiterator;
pub use self::eigendec::{EigenDec, EigenDecomposition};
mod hessenbergdec;
pub use hessenbergdec::{HessenbergDec, HessenbergDecomposition};
mod ludec;
pub use ludec::{LUDec, LUDecomposition};
mod qrdec;
pub use qrdec::{QRDec, QRDecomposition};
mod schurdec;
pub use schurdec::{SchurDec, SchurDecomposition};
mod inverse;
mod choleskydec;
pub use choleskydec::{CholeskyDec, CholeskyDecomposition};
mod det;
pub use det::Determinant;
mod diagonal;
mod general;
mod lowertriangular;
mod solve;
mod substitute;
mod transpose;
mod unitlowertriangular;
mod unituppertriangular;
mod upperhessenberg;
mod uppertriangular;
pub use self::{
diagonal::Diagonal,
general::General,
inverse::Inverse,
lowertriangular::LowerTriangular,
matrixcolumnintoiterator::MatrixColumnIntoIterator,
matrixcolumniterator::MatrixColumnIterator,
matrixcolumniteratormut::MatrixColumnIteratorMut,
matrixcolumniteratormutimmut::MatrixColumnIteratorMutImmut,
matrixintoiterator::MatrixIntoIterator,
matrixiterator::MatrixIterator,
matrixiteratormut::MatrixIteratorMut,
matrixrowintoiterator::MatrixRowIntoIterator,
matrixrowiterator::MatrixRowIterator,
solve::Solve,
substitute::{SubstituteBackward, SubstituteForward},
transpose::Transpose,
unitlowertriangular::UnitLowerTriangular,
unituppertriangular::UnitUpperTriangular,
upperhessenberg::UpperHessenberg,
uppertriangular::UpperTriangular,
};