pub fn is_matrix_invertible<T, const M: usize, const N: usize>( matrix: &[[T; N]; M] ) -> boolwhere T: Zero + Neg<Output = T> + One + Copy + AddAssign + PartialOrd + MulAssign + Sub<Output = T> + Div<Output = T>,