with(linalg): A1:=Matrix([[1,-3,2,6], [1,4,-1,4], [5,6,1,20]]); A2:=addrow(A1,1,2,-1); A3:=addrow(A2,1,3,-5); A4:=mulrow(A3,2,1/7); A5:=addrow(A4,2,3,-21); # To swap rows, use syntax A6:=swaprow(A5,1,2); # A more natural syntax using functions and no library load swap:=(A,s,t)->linalg[swaprow](A,s,t); mult:=(A,t,m)->linalg[mulrow](A,t,m); combo:=(A,s,t,m)->linalg[addrow](A,s,t,m); A1:=<1,-3,2,6|1,4,-1,4|5,6,1,20>^+; A2:=combo(A1,1,2,-1); A3:=combo(A2,1,3,-5); A4:=mult(A3,2,1/7); A5:=combo(A4,2,3,-21); # To swap rows, use syntax A6:=swap(A5,1,2);