How can you find all subgroups of a certain group?

For example, how can how find all subgroups of $S_3$? How can you ensure that your answer includes all of them?

Note: I want to know if there is a universal method to find all subgroups for a single given group. I'm not only asking how to find all subgroups for $S_3$.

• No such method exists for arbitrary groups. However, if you restrict to finite groups you can simply write down all possible sets of elements and then for each set work out if it is a subgroup. You can do this in finite time. Although "finite time" may be a rather long time, even for $S_3$...(even doing clever things, like putting the identity and inverses manually in each set, isn't going to speed this up much!) – user1729 Apr 7 '14 at 8:53

For this particular example, the group is small enough that you can deduce that every proper subgroup is cyclic (by Lagrange), so you can just go through each element and figure out which elements generate which subgroups.

As far as a general method goes, no, there really isn't one. Finding subgroups is not an easy problem.

In general, your goal is usually to find all subgroups up to conjugacy, as from there recovering all subgroups is easy. Here is a discussion on some of the ways people have thought to do that. You can see that it is not a trivial issue.

• Thank you that's really helpful :) – pxc3110 Apr 7 '14 at 9:04
• One more thing I want to ask: By which Lagrange's theorem is it true that every proper subgroup of $S_3$ is cyclic? I have looked up Herstein's book and didn't find it. – pxc3110 Apr 7 '14 at 9:55
• @pxc3110 Lagrange says that the subgroups must have order dividing the order of $G=6$. So any proper, non-trivial subgroup must have order $2$ or $3$. As all groups of prime order are cyclic... – user1729 Apr 7 '14 at 13:29
• @user1729 Why are all groups of prime order cyclic? – pxc3110 Apr 7 '14 at 13:34
• @pxc3110 Alternately: every element has order dividing $|G|=p$, thus order $1$ or $p$; only one element has order $1$, therefore every other element (and in particular, some element $g$) has order $p$. Since there are only $p$ members of the group, $\langle g\rangle$ must be the whole group, which must therefore be cyclic. – Steven Stadnicki May 6 '14 at 14:53

No such method exists for arbitrary groups. However, if you restrict to finite groups you can simply write down all possible sets of elements and then for each set work out if it is a subgroup. You can do this in finite time. Although "finite time" may be a rather long time, even for $S_3$...

But anyway, for small groups we can try to get something quick enough for "practical purposes" by doing clever things. So, put the identity and inverses manually in each set and then discard all sets of size which do not divide the order of your group. So here, $S_3$ has order $6$ so you only care about sets of size $1, 2, 3$ or $6$. Counting the number of elements and then discarding is quicker than deciding if each set is closed under products. However, even when doing all this this algorithm is still slow...noticeably quicker for small numbers, but slow all the same...

But anyway, a worked example:

$S_3=\{1, (12), (13), (23), (123), (132)\}$

Possible sets, whilst being clever and making sure the identity is in each set and that each set is closed under inverses: \begin{align*} &\{1\}\\ &\{1, (12)\}\\ &\{1, (13)\}\\ &\{1, (23)\}\\ &\{1, (123), (132)\}\\ &\{1, (12), (123), (132)\}\\ &\{1, (13), (123), (132)\}\\ &\{1, (23), (123), (132)\}\\ &\{1, (12), (13), (123), (132)\}\\ &\{1, (12), (23), (123), (132)\}\\ &\{1, (13), (23), (123), (132)\}\\ &\{1, (12), (13), (23), (123), (132)\} \end{align*} Then, discard the sets of order not dividing $6$, \begin{align*} &\{1\}\\ &\{1, (12)\}\\ &\{1, (13)\}\\ &\{1, (23)\}\\ &\{1, (123), (132)\}\\ &\{1, (12), (13), (23), (123), (132)\} \end{align*} Quickly check that these are closed under multiplication (they are because all subgroups of $S_3$ are cyclic). Thus, these are all our subgroups.

Note that in general you will have to discard some subsets at the final step. For example, in $\mathbb{Z}_4\times\mathbb{Z}_2$ you will discard the set $\{(0, 0), (1, 0), (3, 0), (0, 1)\}$.

• Define "professional"... :-) – user1729 Apr 7 '14 at 9:24