2

Computer science professor, self-taught abstract algebraist. Beginner with GAP and SAGE.

Can someone show me the quickest way to, when given the description of a subgroup of S6, obtain its presentation in terms of permutations?

I've found this as a resource that lists all S6 subgroups: http://schmidt.nuigalway.ie/subgroups/s6.pdf

and read the various group Wikis. Also read this: Subgroups of $S_6$

Currently messing around with GAP and SAGE. Not yet convinced either of them will do what I want.

Basically, I am looking for the smallest permutation subgroup of S6 that has a certain property. Getting them in the right form isn't hard for subgroups of small order, but it gets tougher as they get larger. At the moment, I look at (say) the subgroups of order 18, of which if I understand the literature correctly there are two up to isomorphism. I find their presentation, and then have to try various things to get the elements as members of S6. For example, if I'm understanding things correctly, after a lot of work I was able to represent S3 x Z3 as (a,b,c) of order 6, (d,e,f) of order 3, a^2 = b^c = c^2, a^4=b^4=c^4, a=(1 2)(3 4 5), b=(1 6)(3 4 5), c=(2 6)(3 4 5), d=(1 2 6)(3 4 5), e=(1 6 2)(3 4 5), f=(1 2 3). At least, I hope that's what I did :-).

This is hit-or-miss, there's got to be a better way. As a bonus, I want to choose representations where every number appears at least once in at least one of the elements if such a representation can be found. For example, the obvious representation of S5 wouldn't suffice, since that set of permutations would never permute 6.

Grateful for any pointers, things to read, commands in GAP or SAGE, etc. Relative newcomer to group theory, apologies if I'm missing something well-known in the field. Thank you!

--BF

Shaun
  • 44,997

1 Answers1

1

Here we use Sage, but Sage calls GAP for all these computations so one might prefer to work directly in GAP.

Define the symmetric group on 6 elements:

sage: S = SymmetricGroup(6)
sage: S
Symmetric group of order 6! as a permutation group

Give the symmetric group on 6 elements a shorter name:

sage: S.rename('S_6')
sage: S
S_6

Build the list of its subgroups:

sage: GG = S.subgroups()

How many subgroups:

sage: len(GG)
1455

Some subgroups:

sage: GG[0]
Subgroup generated by [()] of (S_6)
sage: GG[1]
Subgroup generated by [(5,6)] of (S_6)
sage: GG[1200]
Subgroup generated by [(1,2,4), (1,5)(2,3)(4,6)] of (S_6)

Sort them by order:

sage: from collections import defaultdict
sage: subgroups_of_order = defaultdict(list)
sage: for G in GG:
....:     subgroups_of_order[G.order()].append(G)
....:

Count by order:

sage: from six import iteritems
sage: how_many_of_order = dict((n, len(L))
....:     for n, L in iteritems(subgroups_of_order))
sage: how_many_of_order
{1: 1,
 2: 75,
 3: 40,
 4: 255,
 5: 36,
 6: 280,
 8: 255,
 9: 10,
 10: 36,
 12: 150,
 16: 45,
 18: 50,
 20: 36,
 24: 90,
 36: 30,
 48: 30,
 60: 12,
 72: 10,
 120: 12,
 360: 1,
 720: 1}

Explore subgroups of order 18:

sage: how_many_of_order[18]
50
sage: subgroups_of_order[18]
[Subgroup generated by [(2,3)(5,6), (1,3,2), (1,3,2)(4,5,6)] of (S_6),
 Subgroup generated by [(1,6,5), (1,6)(3,4), (1,6,5)(2,3,4)] of (S_6),
 Subgroup generated by [(2,6,5), (2,6)(3,4), (1,3,4)(2,6,5)] of (S_6),
 ...
 Subgroup generated by [(3,6,5), (2,4), (1,2,4)(3,6,5)] of (S_6),
 Subgroup generated by [(2,3), (1,5,4), (1,5,4)(2,3,6)] of (S_6),
 Subgroup generated by [(2,5,4), (1,3), (1,3,6)(2,5,4)] of (S_6)]

Pick one and list it:

sage: G = subgroups_of_order[18][2]
sage: G
Subgroup generated by [(2,6,5), (2,6)(3,4), (1,3,4)(2,6,5)] of (S_6)
sage: G.list()
[(),
 (2,5,6),
 (2,6,5),
 (1,3,4),
 (1,3,4)(2,5,6),
 (1,3,4)(2,6,5),
 (1,4,3),
 (1,4,3)(2,5,6),
 (1,4,3)(2,6,5),
 (3,4)(5,6),
 (2,5)(3,4),
 (2,6)(3,4),
 (1,3)(5,6),
 (1,3)(2,5),
 (1,3)(2,6),
 (1,4)(5,6),
 (1,4)(2,5),
 (1,4)(2,6)]