Hello, As the message states, you cannot assign values to elements of an immutable list. When you tested your act function at the prompt, you passed it a list literal, which is mutable. Presumably Orbit() is passing your function an immutable list (which is wise as it preserves the arguments you sent to Orbit()), which your function then chokes on. You could try for example using ShallowCopy() on the list x which is passed to your function:
gap> act:=function(x,g) > local i,y; > y:=ShallowCopy(x); > for i in [1..Length(y[1])] do y[i]:=Permuted(y[i],g); od; > return Permuted(y,g); > end; function( x, g ) ... end gap> act([[1,2],[3,4]],(1,2)); [ [ 4, 3 ], [ 2, 1 ] ] gap> Orbit(Group((1,2)),[[1,2],[3,4]],act); [ [ [ 1, 2 ], [ 3, 4 ] ], [ [ 4, 3 ], [ 2, 1 ] ] ] gap> As I am a GAP beginner, I can't guarantee that there isn't a better way to do this, but it seems to work ;) Here is some more information about mutability: http://www.gap-system.org/Manuals/doc/htm/ref/CHAP012.htm#SECT006 Yours, Keshav On Sat, Sep 25, 2010 at 14:36, Benjamin Sambale <bsamb...@gmx.de<mailto:bsamb...@gmx.de>> 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? Thanks, Benjamin Sambale _______________________________________________ Forum mailing list Forum@mail.gap-system.org<mailto:Forum@mail.gap-system.org> http://mail.gap-system.org/mailman/listinfo/forum ________________________________ CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum