Question:Problem with procedure

Question:Problem with procedure

Maple 2016

hi,

i'm trying to figure out where i did a mistake by coding reducedEchelonForm.

with(LinearAlgebra):
reduced:=proc(M)
local l:=1, m:=RowDimension(M),n:=ColumnDimension(M),i,j; # l current column
for i from 1 to m do # going trough every row item
if n<l then # ColumnDimension need to be bigger than current column
return M;
end if;
j:=i; # given current row item
while M[j,l]=0 do # search for first rom item unequal zero
j:=j+1;
if m<j then # end of row
j=i;
l=l+1;
if n<l then # end of rows and columns -> finish
return M;
end if;
end if;
end do;
M:= perm(m,n,j,i).M; #permute row j and i
if not(M[i,l]=0) then # multiply row i with M[i,l])^(-1)
M:= multiplikation(m,n,i,(M[i,l])^(-1)).M;
end if;
for j from 1 to m do # subtract every row j with row i for M[j,l]-times
if not(j=i) then
end if;
end do;
l:=l+1; # increase l by 1, next iteration i increase either
end do;
end proc:

Hint: perm(...),multiplikation(...) and addition(...) are the elementary matrices. They are working.

Now i got an error by running it:

L:=Matrix(2,3,[1,2,3,4,5,6]);
reduced(L);
Error, (in reduced) invalid left hand side in assignment

Can someone explain me these error? And maybe a hint what i need to fix in my code?

Greets felix

﻿