pub fn inv_l(l: Matrix) -> Matrix {
    let mut m = l.clone();

    match l.row {
        1 => l,
        2 => {
            m[(1, 0)] = -m[(1, 0)];
            m
        }
        _ => {
            let (l1, l2, l3, l4) = l.block();

            let m1 = inv_l(l1);
            let m2 = l2;
            let m4 = inv_l(l4);
            let m3 = -(&(&m4 * &l3) * &m1);

            combine(m1, m2, m3, m4)
        }
    }
}
Inverse of Lower matrix

# Examples
```
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
let a = matrix(c!(1,0,2,1), 2, 2, Row);
assert_eq!(inv_l(a), matrix(c!(1,0,-2,1), 2, 2, Row));

let b = matrix(c!(1,0,0,2,1,0,4,3,1), 3, 3, Row);
assert_eq!(inv_l(b), matrix(c!(1,0,0,-2,1,0,2,-3,1), 3, 3, Row));
}
```
src/structure/matrix.rs