Hi Frédéric, Good to see you on the GAP forum! I have the solution for you, and it is just the last few lines to Alex's solution:
tau := RepresentativeAction(SymmetricGroup(40), gsmall, gstab); peculiar := [1,3,5,6,10]; peculiartwo := subset{OnSets(peculiar,tau)}; That should give you the equivalent set for your group Stabilizer(g,subset,OnSets) (before you took the permutation representation). Cheers, John. On 06/12/2012, at 6:02 PM, Frederic Vanhove wrote: > Hello, > > thanks for your reply, but I'm afraid I don't really understand. > Perhaps it would indeed help if I'd explain what I really want to do: > > #small permutation representation > gsmall:=AllPrimitiveGroups(DegreeOperation,40,Size,51840)[1]; > > #big permutation representation > g:=AllPrimitiveGroups(DegreeOperation,1120, Size, 9170703360)[2]; > > subset:=[ 1, 3, 13, 53, 106, 143, 149, 161, 233, 263, 268, 281, 284, > 295, 333, 370, > 378, 410, 421, 439, 459, 496, 541, 546, 565, 597, 628, 683, 695, 696, > 698, > 738, 795, 868, 881, 907, 934, 999, 1021, 1038 ]; > gstab:=Action(Stabilizer(g,subset,OnSets),subset,OnPoints); > Size(gstab);DegreeAction(gstab); > > (note: the stabilizer in g of subset does not act faithfully on that > subset, it has size 51840*486.) > > > Now suppose I have found (through a separate and lengthy computation) > that [1,3,5,6,10] is a peculiar subset of [1..40] with respect to the > first representation. How could I transform it into a corresponding > subset of > [ 1, 3, 13, 53, 106, 143, 149, 161, 233, 263, 268, 281, 284, 295, 333, 370, > 378, 410, 421, 439, 459, 496, 541, 546, 565, 597, 628, 683, 695, 696, > 698, > 738, 795, 868, 881, 907, 934, 999, 1021, 1038 ] > ? > > Many thanks, > Kind regards, > Frédéric > > > > > > > Op 05/12/12 18:59, Alexander Hulpke schreef: >> >> Dear Forum, Dear Drederic, >> >>> some time ago the command ActionHomomorphism was recommend to me. I was now >>> wondering, if I have two equivalent permutation groups, can I get a >>> bijection between the groups as well as a corresponding bijection between >>> the sets on which they act? >>> >>> For instance: >>> >>> g1:=Group((1,2),(3,4),(1,3)); >>> g2:=Group((1,2),(2,3)); >>> >>> gaction1:=Action(Stabilizer(g1,1),[2..4],OnPoints); >>> gaction2:=Action(g2,[1..3],OnPoints); >> Your syntax is a bit confused here. Basically >> Action(G,set,op)=Image(ActionHomomorphism(G,set,op)). >> The action homomorphism preserves the connection to the initial group, the >> action is just the resulting permutation group. Thus >>> ActionHomomorphism(gaction1,gaction2); >> does not make sense. >> >> If you call `RepresentativeAction(symmetricgroup,g1,g2)' you get a >> permutation that conjugates one group into the other. So it is a bijection >> between the groups given by a bijection of the underlying domain. >> >> However I suspect that you actually want to test for equivalence of actions, >> i.e. you have a group G acting on two sets omega1 and omega2 and you want to >> see whether there is a bijection between the sets that makes the actions >> equivalent. In this case you need to find a permutation that maps the images >> of the same generating set to each other. This is actually a cheaper test >> than the one for mapping the groups. >> >> For example, consider these two actions of S4 on sets of order 2 or on >> cosets of a subgroup. >> >> gap> G:=SymmetricGroup(4); >> Sym( [ 1 .. 4 ] ) >> gap> c:=Combinations([1..4],2); >> [ [ 1, 2 ], [ 1, 3 ], [ 1, 4 ], [ 2, 3 ], [ 2, 4 ], [ 3, 4 ] ] >> gap> act1:=ActionHomomorphism(G,c,OnSets,"surjective"); >> <action epimorphism> >> gap> U:=Subgroup(G,[(1,3),(2,4)]); >> Group([ (1,3), (2,4) ]) >> gap> Index(G,U); >> 6 >> gap> T:=RightCosets(G,U); >> [ RightCoset(Group( [ (1,3), (2,4) ] ),()), >> RightCoset(Group( [ (1,3), (2,4) ] ),(3,4)), >> RightCoset(Group( [ (1,3), (2,4) ] ),(2,3)), >> RightCoset(Group( [ (1,3), (2,4) ] ),(1,2)), >> RightCoset(Group( [ (1,3), (2,4) ] ),(1,2)(3,4)), >> RightCoset(Group( [ (1,3), (2,4) ] ),(1,3,4,2)) ] >> gap> act2:=ActionHomomorphism(G,T,OnRight,"surjective"); >> <action epimorphism> >> gap> imgs1:=List(GeneratorsOfGroup(G),x->Image(act1,x)); >> [ (1,4,6,3)(2,5), (2,4)(3,5) ] >> gap> imgs2:=List(GeneratorsOfGroup(G),x->Image(act2,x)); >> [ (1,5)(2,3,4,6), (1,4)(2,5) ] >> >> Now search for an element that maps the elements of imgs1 to those of imgs2 >> in the same arrangement: >> >> gap> rep:=RepresentativeAction(SymmetricGroup(6),imgs1,imgs2,OnTuples); >> (1,3,2) >> >> Verify: >> gap> List(imgs1,x->x^(1,3,2)); >> [ (1,5)(2,3,4,6), (1,4)(2,5) ] >> >> >> So (1,3,2) is the permutation indicating how to reorder the elements of c to >> get the same action. >> >> If you can replace the symmetric group with something smaller (you might do >> a prearrangement by hand so that for example both actions have the same >> blocks) this will help in larger degrees. >> >> (If this is not of help or not what you want feel free to send me the actual >> problem you want to solve.) >> >> Best, >> >> Alexander >> >> > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum