Question: How to assign value to matrix in procedure?

How to assign value to matrix in procedure?

with(ArrayTools):
kontraHom := proc(M, s)
dim := Size(M);
n := dim[1];
m := dim[2];
R := [][];
for i from 1 to m do
    for j from 1 to s do
        for k from 1 to n do
            R[(j-1)*n+k,(j-1)*m+i] = M[i,k];
        od;
    od;    
od;
return R;
end proc;

M := matrix([[1,2,3],[4,5,6],[7,8,9]]);
M2 := kontraHom(M,2);

Please Wait...