1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
    Appellation: linalg <mod>
    Contrib: FL03 <jo3mccain@icloud.com>
*/
//! # Linear Algebra
//!
//!
pub mod uplo;

use crate::shape::Axis;

pub trait Inverse {
    fn inv(self) -> Self;
}

/// Matrix multiplication
pub trait Matmul<Rhs = Self> {
    type Output;

    fn matmul(&self, rhs: &Rhs) -> Self::Output;
}

pub trait SwapAxes {
    fn swap_axes(&self, swap: Axis, with: Axis) -> Self;
}

pub(crate) mod prelude {
    pub use super::uplo::UPLO;
    pub use super::{Inverse, Matmul, SwapAxes};
}

#[cfg(test)]
mod tests {}