with(linalg): A := matrix(5,5,[1,1,1,0,0, 1,2,0,1,0, 3,2,0,0,1, 3,0,2,0,3, 0,2,0,0,1]); inverse(A); det(A); [1 1 1 0 0] [ ] [1 2 0 1 0] [ ] A := [3 2 0 0 1] [ ] [3 0 2 0 3] [ ] [0 2 0 0 1] [ 0 0 1/3 0 -1/3] [ ] [1/4 0 1/24 -1/8 1/3 ] [ ] [3/4 0 -3/8 1/8 0 ] [ ] [ -5 ] [-1/2 0 -- 1/4 1/3 ] [ 12 ] -24