2
$\begingroup$

GraphAutomorphismGroup[image-of-the-petersen-graph]

PermutationGroup[{
    Cycles[{{3,6},{5,7},{8,10}}],
    Cycles[{{2,5,10,9,8,7},{3,6,4}}],
    Cycles[{{1,2},{3,7},{5,6}}]
}]

I used the Mathematica function GraphAutomorphismGroup to identify the Petersen graph's automorphism group, and it returned the result above. I have not taken group theory. Could someone explain to me how to interpret those cycles in a layman's terms?

2 Answers 2

1

I will give only a brief explanation here, but I'll provide references to help the reader.

The permutation group $S_n$ is the group of all ways that the symbols $\{1, \dotsc, n\}$ can be permuted. Since the Petersen graph has ten vertices, it's automorphism group will be a subgroup of $S_{10}$, where the symbols correspond to the vertices. Some elements of $S_n$ are called cycles because they permute the elements in a cyclic fashion. So the permutation that sends 3 to 6, 6 to 4, and 4 to 3 is a cycle, and can be written concisely as $(3\,6\,4)$. Now we have a fun fact that every element of $S_n$ can be written as a product of disjoint cycles, so a typical element of $S_n$ might look like $$(2\,5\,10\;9\,8\,7)(3\,6\,4)\,.$$ Like I said before, the automorphism group of the Petersen graph is a subgroup of $S_{10}$. When Mathematica says that it's the subgroup

PermutationGroup[{
    Cycles[{{3,6},{5,7},{8,10}}],
    Cycles[{{2,5,10,9,8,7},{3,6,4}}],
    Cycles[{{1,2},{3,7},{5,6}}]
}]

Mathematica means that it's the smallest subgroup of $S_{10}$ containing the three permutations: $$(3\,6)(5\,7)(8\,10)\qquad(2\,5\,10\;9\,8\,7)(3\,6\,4)\qquad(1\,2)(3\,7)(5\,6)$$

0

To supplement Mike's answer,

Cycles[{{3, 6}, {5, 7}, {8, 10}}]

is a representation of a permutation of 10 or more elements. You can get a more familiar form using

In[3]:= PermutationList@Cycles[{{3, 6}, {5, 7}, {8, 10}}]
Out[3]= {1, 2, 6, 4, 7, 3, 5, 10, 9, 8}

Sometimes it is necessary to specify the number of elements:

In[6]:= PermutationList[Cycles[{{1, 2}, {3, 7}, {5, 6}}], 10]
Out[6]= {2, 1, 7, 4, 6, 5, 3, 8, 9, 10}

Any permutation that can be constructed as some composition of these three permutations (the group generators) is an automorphism of the graph. In other words, renaming the graph vertices accordingly leaves the edge list of the graph unchanged.

This is the edge list of the original graph:

In[22]:= edges = EdgeList@PetersenGraph[]
Out[22]= {1 <-> 3, 1 <-> 4, 1 <-> 6, 2 <-> 4, 2 <-> 5, 2 <-> 7, 
 3 <-> 5, 3 <-> 8, 4 <-> 9, 5 <-> 10, 6 <-> 7, 6 <-> 10, 7 <-> 8, 
 8 <-> 9, 9 <-> 10}

This is what we get after renaming vertices according to the permutation above:

In[23]:= edges2 = 
 edges /. Thread[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} -> {2, 1, 7, 4, 6, 5,3, 8, 9, 10}]

Out[23]= {2 <-> 7, 2 <-> 4, 2 <-> 5, 1 <-> 4, 1 <-> 6, 1 <-> 3, 
 7 <-> 6, 7 <-> 8, 4 <-> 9, 6 <-> 10, 5 <-> 3, 5 <-> 10, 3 <-> 8, 
 8 <-> 9, 9 <-> 10}

Other than some reordering, these are the exact same edge lists:

In[24]:= Sort[Sort /@ edges]

Out[24]= {1 <-> 3, 1 <-> 4, 1 <-> 6, 2 <-> 4, 2 <-> 5, 2 <-> 7, 
 3 <-> 5, 3 <-> 8, 4 <-> 9, 5 <-> 10, 6 <-> 7, 6 <-> 10, 7 <-> 8, 
 8 <-> 9, 9 <-> 10}

In[25]:= Sort[Sort /@ edges2]
Out[25]= {1 <-> 3, 1 <-> 4, 1 <-> 6, 2 <-> 4, 2 <-> 5, 2 <-> 7, 
 3 <-> 5, 3 <-> 8, 4 <-> 9, 5 <-> 10, 6 <-> 7, 6 <-> 10, 7 <-> 8, 
 8 <-> 9, 9 <-> 10}

You can list all such permutations like this:

In[12]:= group = GraphAutomorphismGroup@PetersenGraph[];

In[13]:= GroupElements[group]  

There are 120 in total for this graph.

In[14]:= GroupElements[group] // Length
Out[14]= 120