pub fn calc_determinant<T>(matrix: Vec<Vec<T>>) -> Twhere
    T: Copy + Sub<Output = T> + Mul<Output = T> + Div<Output = T>,