[GAP Forum] ActionHomomorphism: can I also get

John Bamberg john.bamberg at uwa.edu.au
Thu Dec 6 11:32:47 GMT 2012


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 at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum




More information about the Forum mailing list