mod cholesky;
mod expm;
mod lu;
mod lyapunov;
mod macros;
mod matrix;
mod qr;
mod riccati;
mod svd;
mod symmetric_eigendecomposition;
mod vector;
pub use cholesky::Cholesky;
pub use lu::Lu;
pub use lyapunov::solve_discrete_lyapunov;
pub use matrix::Matrix;
pub use qr::{CholeskyFactor, DampedLeastSquares, PivotedQr};
pub use riccati::solve_discrete_riccati;
pub use svd::Svd;
pub use symmetric_eigendecomposition::SymmetricEigendecomposition;
pub use vector::Vector;
pub type Vector2D<T = f64> = Vector<2, T>;
pub type Vector3D<T = f64> = Vector<3, T>;
pub type Vector6D<T = f64> = Vector<6, T>;
pub type Matrix2D<T = f64> = Matrix<2, 2, T>;
pub type Matrix3D<T = f64> = Matrix<3, 3, T>;
pub type Matrix4D<T = f64> = Matrix<4, 4, T>;
pub type Matrix6D<T = f64> = Matrix<6, 6, T>;
pub(crate) use qr::{enorm, max, min};
#[cfg(test)]
mod test;