Este procedimiento que ha escrito mi compañero Luis Lechuga, define una función en wxMaxima, llamada gaussjordan, que permite determinar la forma escalonada reducida de una matriz. Para usarla es suficiente copiar y pegarlo al inicio de cualquier archivo de Maxima:
load(eigen)$
colpivot(a,i):=block([colpivote:0],
for j:1 thru length(a[1]) do if a[i,j] # 0 then return(colpivote:j),
return(colpivote))$
gaussjordan(a):= (b : echelon(a),
for i1:2 thru rank(b) do
( colpivote:colpivot(b,i1),
for i2:1 thru i1-1 do
b : rowop(b,i2,i1,b[i2,colpivote])), b)$