Dear Pierre-Alain, Let me first check that you have the same error as given below. First of all,
> On 7 May 2015, at 13:34, Pierre-Alain BOURDIL <pabou...@laas.fr> wrote: > > Sorry, wrong copy/paste on the function source code, corrected. Neverthelles > i still get the problem. > > Hi, > > I've tryed unsuccesfuly to implement an action on a set of list. > > > Say G=S_2, Omega = [[1,rc1,2],[2,rc2,1]] Omega is an operation in GAP, so it is protected and you can't assign this list to it (there is even a mild advise somewhere to tend to use name starting in lowercase to avoid name clashes). > where rc1, rc2 are rightcosets of Stabilizer(G,1) and a function : > > Act := function (x,g) > local repr,comp,rc,orbital,g; Also, this function can't be read in GAP, as 'g' is used for an argument and for a local variable > #extract args > comp := x[1]; > rc := x[2]; > orbital := x[3]; > # compute the coset > repr:=rc*g; > return [comp^g,repr,orbital]; > end;; > > Now > A:=Action(G,Omega,Act) > gives a no method found errors. With ShowArguments i see that x and g are > set with 1 and rc1 respectively. I do not find a way for x to be set to > [1,rc1,2] and g with the current G's element. > > How can i implement such an action function ? However, if I fix the two errors above, I still have a problem: gap> G:=SymmetricGroup(2); Sym( [ 1 .. 2 ] ) gap> stab:=Stabilizer(G,1); Group(()) gap> rc:=RightCosets(G,stab); [ RightCoset(Group( () ),()), RightCoset(Group( () ),(1,2)) ] gap> omega := [[1,rc[1],2],[2,rc[2],1]] ; [ [ 1, RightCoset(Group( () ),()), 2 ], [ 2, RightCoset(Group( () ),(1,2)), 1 ] ] gap> act := function (x,g) > local repr,comp,rc,orbital; > #extract args > comp := x[1]; > rc := x[2]; > orbital := x[3]; > # compute the coset > repr:=rc*g; > return [comp^g,repr,orbital]; > end;; gap> gap> A:=Action(G,omega,act); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `<' on 2 arguments called from func( elm ) called from ForAll( D, IsList and IsSSortedList ) called from ActionHomomorphismConstructor( xset, true ) called from attr( xset ) called from CallFuncList( ActionHomomorphism, arg ) called from ... at line 16 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> D; [ [ 1, RightCoset(Group( () ),()), 2 ], [ 2, RightCoset(Group( () ),(1,2)), 1 ] ] because GAP expects IsSSortedList to work on elements of omega, while it doesn't: gap> IsSSortedList(omega[1]); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `<' on 2 arguments called from <function "HANDLE_METHOD_NOT_FOUND">( <arguments> ) called from read-eval loop at line 31 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Before continuing, do we now at least see the same error message? Best, Alexander P.S. Actually, the following works: gap> G:=SymmetricGroup(2); Sym( [ 1 .. 2 ] ) gap> stab:=Stabilizer(G,1); Group(()) gap> rc:=RightCosets(G,stab); [ RightCoset(Group( () ),()), RightCoset(Group( () ),(1,2)) ] gap> A:=Action(G,rc,OnRight); Group([ (1,2) ]) and also gap> A:=Action(G,[1,2],OnPoints); Group([ (1,2) ]) - could any of these examples be helpful? _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum