A:=Matrix([[1,2,3],[2,-1,1],[3,0,-1]]);
b:=Vector([9,8,3]);
print("(1)"); A^(-1);
print("(2)"); C:=<A|b>;
print("(3)"); R:=linalg[rref](C);
print("(3) Alternate");
R:=LinearAlgebra[ReducedRowEchelonForm](C);
print("(4)"); R[1..3,4]; # Select col=4 from 3x4 matrix R
print("(4) Alternate"); X:=LinearAlgebra[Column](R,4);
print("(5)"); A^3;
print("(6)"); A^+;
?LinearAlgebra
print("(7)"); A-3*A^2;
print("(8)"); X:=A^(-1).b;X:=LinearAlgebra[LinearSolve](A,b);
# linsolve prints nothing: a signal equation "0=3".
print("(9)"); F:=Matrix([[1,2,3],[2,-1,1],[0,0,0]]);linalg[linsolve](F,b);
<F|b>; # Visual explanation of the signal equation
print("(10)"); A^+ . A; (A^+.A)^(-1); A^(-1) . (A^(-1))^+;