ndarray-linalg 0.4.0

Linear algebra package for rust-ndarray using LAPACK
Documentation
include!("header.rs");

macro_rules! impl_test {
    ($modname:ident, $clone:ident) => {
mod $modname {
    use super::random_hermite;
    use ndarray_linalg::prelude::*;
    #[test]
    fn cholesky() {
        let a = random_hermite(3);
        println!("a = \n{:?}", a);
        let c = a.$clone().cholesky().unwrap();
        println!("c = \n{:?}", c);
        println!("cc = \n{:?}", c.t().dot(&c));
        all_close_l2(&c.t().dot(&c), &a, 1e-7).unwrap();
    }
    #[test]
    fn cholesky_t() {
        let a = random_hermite(3);
        println!("a = \n{:?}", a);
        let c = a.$clone().cholesky().unwrap();
        println!("c = \n{:?}", c);
        println!("cc = \n{:?}", c.t().dot(&c));
        all_close_l2(&c.t().dot(&c), &a, 1e-7).unwrap();
    }
}
}} // impl_test

impl_test!(owned, clone);
impl_test!(shared, to_shared);