On 25/09/2010, at 8:36 , Benjamin Sambale wrote:

> Dear Forum,
> 
> I've defined an action of a permutation group on a set of square matrices in 
> the following way:
> 
> act:=function(x,g)
>   local i;
>   for i in [1..Length(x[1])] do x[i]:=Permuted(x[i],g); od;
>   return Permuted(x,g);
> end;
> 
> This works as expected, for example:
> 
> gap> act([[1,2],[3,4]],(1,2));
> [ [ 4, 3 ], [ 2, 1 ] ]
> 
> However, using the Orbit command gives
> 
> gap> Orbit(Group((1,2)),[[1,2],[3,4]],act);
> Lists Assignment: <list> must be a mutable list
> 
> What is wrong here?

Your action tries to change the argument x (by assigning permuted rows). But 
this is probably not what you had intended anyway. Try the following.

act:=function(x,g)
  local i, y;
  y := [];
  for i in [1..Length(x[1])] do y[i]:=Permuted(x[i],g); od;
  return Permuted(y,g);
end;

Cheers,

Burkhard.


_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to