pub trait Inverse { type Output; // Required method fn inverse(&self) -> Self::Output; }
this trait enables the inversion of a matrix