I am suppose only be able to put in 2x2 matrices and find the determinate if the matrices is a 2x2 if it is a 1x1 or a 3x3 I am suppose to print an error and if it is singular i am suppose to print another error.
What am I doing wrong?
Proc IML;
a = {1 2, 3 4};
b = {1 1, 1 1};
c = {1 2 3, 4 5 6, 7 8 9};
d = {5};
start invers(a);
nr = nrow(a);
nc = ncol(a) ;
if nr=2 & nc=2 then do;
i = det(a);
b = INV(a);
if i ^= 0 then return(b);
else if i = 0 then print("Singular");
end; else print("error");
finish;
w = invers(a);
x = invers(b);
y = invers(c);
z = invers(d);
print w, x, y, z;