Maths - Dihedral Groups

Dn represents the symmetry of a n dimensional polygon in a plane with rotation and reflection.

So if we let n = 3,4,5… we get:

The group operation is composition.

general form of Cayley table:

rotation reflection
reflection rotation

Generators

<r , m | rn =1,r² = 1, m r m= r-1>

or equivalently:

<x , y | x² = y² = xyn = 1>

Combining Rotation and Reflection

As we have already seen that dihedral groups are not 'finite simple groups' which means that they must be the product of other types of group we also know that dihedral groups involve pure rotation (Cn) and pure reflection (C2). So how do we combine these two types of group to give a dihedral group? As we shall show below, the direct product does not produce the required result and we need to use the semidirect product defined as:

Dn≡Cn&22C9;φ C2 where φ(0) = identity ,φ(1) = inversion

pure reflection C2

generator cayley graph table
<m | m²> c2 graph
1 m
m 1

pure rotation C3

generator cayley graph table
<r | r³> c3 graph
1 r
r 1
1 r

direct product C3 × C2

So lets try the direct product to see if that produces D3:

generator cayley graph table
<m,r | m²,r³,rm=mr> c3c2 graph
{1,1} {r,1} {r²,1} {1,m} {r,m} {r²,m}
{r,1} {r²,1} {1,1} {r,m} {r²,m} {1,m}
{r²,1} {1,1} {r,1} {r²,m} {1,m} {r,m}
{1,m} {r,m} {r²,m} {1,1} {r,1} {r²,1}
{r,m} {r²,m} {1,m} {r,1} {r²,1} {1,1}
{r²,m} {1,m} {r,m} {r²,1} {1,1} {r,1}

This is not what we want, reflection should reverse the rotation, so lets now try the semidirect product:

C3&22C9;φ C2 where φ(0) = identity ,φ(1) = inversion

This produces the result that we expect:

  caley graph table
  d3
{1,1} {R,1} {R²,1} {1,m} {R,m} {R²,m}
{R,1} {R²,1} {1,1} {R,m} {R²,m} {1,m}
{R²,1} {1,1} {R,1} {R²,m} {1,m} {R,m}
{1,m} {R²,m} {R,m} {1,1} {R²,1} {R,1}
{R,m} {1,m} {R²,m} {R,1} {1,1} {R²,1}
{R²,m} {R,m} {1,m} {R²,1} {R,1} {1,1}

Generating a Dihedral Group using a Program

We can use a computer program to generate these groups, here I have used Axiom/FriCAS which is described here.

(1) -> d1 := dihedralGroup(1)
<(1 2)>
                                      Type: PermutationGroup(Integer)
(2) -> toTable()$toFiniteGroup(d1,1)
i a
a i
                                               Type: Table(2)
(3) -> permutationRepresentation(d1,2)
[
0 1
1 0
]
                                        Type: List(Matrix(Integer))
(4) -> d2 := dihedralGroup(2)
<(1 2),(3 4)>
                                    Type: PermutationGroup(Integer)
(5) -> toTable()$toFiniteGroup(d2,1)
i a b ab
a i ab b
b ab i a
ab b a i
                                                   Type: Table(4)
(6) -> permutationRepresentation(d2,2)
[
0 1
1 0
,
1 0
0 1
]
                                      Type: List(Matrix(Integer))
(7) -> d3 := dihedralGroup(3)
<(1 2 3),(1 3)>
                                  Type: PermutationGroup(Integer)
(8) -> toTable()$toFiniteGroup(d3,1)
i a b aa ab ba
a aa ab i ba b
b ba i ab aa a
aa i ba a b ab
ab b a ba i aa
ba ab aa b a i
                                                 Type: Table(6)
(9) -> permutationRepresentation(d3,3)
[
0 0 1
1 0 0
0 1 0
,
0 0 1
0 1 0
1 0 0
]
                                    Type: List(Matrix(Integer))
(10) -> d4 := dihedralGroup(4)
<(1 2 3 4),(1 4)(2 3)>
                                Type: PermutationGroup(Integer)
(11) -> toTable()$toFiniteGroup(d4,1)
i a b aa ab ba aaa aab
a aa ab aaa aab b i ba
b ba i aab aaa a ab aa
aa aaa aab i ba ab a b
ab b a ba i aa aab aaa
ba aab aaa ab aa i b a
aaa i ba a b aab aa ab
aab ab aa b a aaa ba i
                                                Type: Table(8)
(12) -> permutationRepresentation(d4,4)
[
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
,
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
]
                                   Type: List(Matrix(Integer))
(13) -> d5 := dihedralGroup(5)
<(1 2 3 4 5),(1 5)(2 4)>
                               Type: PermutationGroup(Integer)
(14) -> toTable()$toFiniteGroup(d5,1)
i a b aa ab ba aaa aab baa bab
a aa ab aaa aab b bab baa ba i
b ba i baa bab a aab aaa aa ab
aa aaa aab bab baa ab i ba b a
ab b a ba i aa baa bab aaa aab
ba baa bab aab aaa i ab aa a b
aaa bab baa i ba aab a b ab aa
aab ab aa b a aaa ba i bab baa
baa aab aaa ab aa bab b a i ba
bab i ba a b baa aa ab aab aaa
                                             Type: Table(10)
(15) -> permutationRepresentation(d5,5)
[
0 0 0 0 1
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
,
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
]
                                 Type: List(Matrix(Integer))
(16) -> d6 := dihedralGroup(6)
<(1 2 3 4 5 6),(1 6)(2 5)(3 4)>
                             Type: PermutationGroup(Integer)
(17) -> toTable()$toFiniteGroup(d6,1)
i a b aa ab ba aaa aab baa bab aaaa aaab
a aa ab aaa aab b aaaa aaab ba i bab baa
b ba i baa bab a aaab aaaa aa ab aab aaa
aa aaa aab aaaa aaab ab bab baa b a i ba
ab b a ba i aa baa bab aaa aab aaab aaaa
ba baa bab aaab aaaa i aab aaa a b ab aa
aaa aaaa aaab bab baa aab i ba ab aa a b
aab ab aa b a aaa ba i aaaa aaab baa bab
baa aaab aaaa aab aaa bab ab aa i ba b a
bab i ba a b baa aa ab aaab aaaa aaa aab
aaaa bab baa i ba aaab a b aab aaa aa ab
aaab aab aaa ab aa aaaa b a bab baa ba i
                                             Type: Table(12)
(18) -> permutationRepresentation(d6,6)
[
0 0 0 0 0 1
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
,
0 0 0 0 0 1
0 0 0 0 1 0
0 0 0 1 0 0
0 0 1 0 0 0
0 1 0 0 0 0
1 0 0 0 0 0
]
                                Type: List(Matrix(Integer))

where:


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

flag flag flag flag flag flag Symmetry and the Monster - This is a popular science type book which traces the history leading up to the discovery of the largest symmetry groups.

Terminology and Notation

Specific to this page here:

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.