Am 25.09.2010 10:59, schrieb Burkhard Höfling:
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
Thanks Burkhard and Keshav. I already tried Keshav's approach with
StructuralCopy instead of ShallowCopy and it did not work. I'm a bit
confused about that, but it doesn't matter, because both your approaches
work excellent.
Best wishes,
Benjamin
_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum