I had a fleeting thought about how little I use group theory when I realize I used it just this week.

A couple days ago I needed to know which permutations of 4 elements commute with reversal. If *r* takes a sequence and reverses it, I need to find all permutations *p* such that *p* ∘ *r* = *r* ∘ *p*.

In group theory jargon, the group of all permutations of 4 elements is the symmetric group *S*_{4}. The subgroup of elements that commute with *r* is the centralizer of *r*. So my task was to find the centralizer of *r* in *S*_{4}. How do I pose this task to Mathematica?

Mathematica represents permutations as disjoint cycles. The permutation *r* is represented as

Cycles[{{4, 1}, {2, 3}}]

because swapping the first and last elements, then swapping the middle two elements, reverses a list of four elements.

To find the centralizer of *r* I asked Mathematica

GroupCentralizer[SymmetricGroup[4], Cycles[{{4, 1}, {2, 3}}]]

This returns

PermutationGroup[{Cycles[{{1, 4}}], Cycles[{{2, 3}}], Cycles[{{1, 2}, {3, 4}}]}]

This does list the permutations that commute with *r* but rather the *generators* of the group of such permutations. If we ask for the elements of the group above with

GroupElements[%]

this returns

{Cycles[{}], Cycles[{{2, 3}}], Cycles[{{1, 2}, {3, 4}}], Cycles[{{1, 2, 4, 3}}], Cycles[{{1, 3, 4, 2}}], Cycles[{{1, 3}, {2, 4}}], Cycles[{{1, 4}}], Cycles[{{1, 4}, {2, 3}}]}

I use basic group theory and other algebra all the time, but I don’t think of it that way. In this example, I had a question about permutations, and it only occurred to me later that I could phrase my question in the vocabulary of group theory. I use ideas from algebra more often than I use the vocabulary of algebra.