Abelian Groups are groups which commute (ab = ba)
The Fundamental Theorem of Abelian Groups
Every finite abelian group 'Ab' is isomorphic to a direct product of cyclic groups, That is:
AbC_{n1}C_{n2}…C_{nm}
Cyclic Groups
The properties of cyclic groups are discussed on this page and listed on this datasheet so we will just summarise here:
Cayley Table 
Cayley Graph 
Cyclic Notation 

1 
a 
b 
c 
... 
n 
1 
1 
a 
b 
c 
... 
n 
a 
a 
b 
c 
... 
n 
n1 
b 
b 
c 
... 
n 
n1 

c 
c 
... 
n 
n1 


... 
... 
n 
n1 



n 
n 
n1 






(1,2,3..n) 
Group Presentation 
Group Representation 

<a  a^{n}=1> 
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 


Products of Cyclic Groups
Commutivity in Caley Diagrams
Commutivity in Multiplication Tables
Commutivity in Cyclic Notation
If we are multiplying a 3 element cycle by a two element cycle we number the elements in the 2×3 rectangle:
we then create 2 permutations, one from the rows and the other from the columns:
<(1 2 3)(4 5 6),(1 4)(2 5)(3 6)>
Simarly for n×m multipication:
1 
2 
… 
n 
n+1 
) 






1 
2 
… 
n 
n+1 
) 
Generating a Abelian 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) > )r axiom/abelian
)set output algebra off
)set output mathml on
C2 := FiniteGroup(2,[[1,2],[2,1]],["a","b"])
Type: Type
AB6 := directProduct([[1,2,3],[2,3,1],[3,1,2]],["1","2","3"])$C2
Type: Type
toTable()$AB6
a1 
a2 
a3 
b1 
b2 
b3 
a2 
a3 
a1 
b2 
b3 
b1 
a3 
a1 
a2 
b3 
b1 
b2 
b1 
b2 
b3 
a1 
a2 
a3 
b2 
b3 
b1 
a2 
a3 
a1 
b3 
b1 
b2 
a3 
a1 
a2 
Type: Table(6)
setGenerators([false,true,false,true,false,false])$AB6
Type: Void
PAB6 := toPermutation()$AB6
<(1 2 3)(4 5 6),(1 4)(2 5)(3 6)>
Type: PermutationGroup(Integer)
permutationRepresentation(PAB6,6)
[ 
0 
0 
1 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
1 
0 

, 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
1 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 


] 
Type: List(Matrix(Integer))
(7) >

where:
 The points of the permutation are numbered 1..n
 The elements of the group are named: "i" for the identity, single letters "a","b"... for the generators, and products of these.
 numbers in brackets are points of permutations represented in cyclic notation.
 abelianGroup[1] is not really valid and the results for this case are nonsense.
 The Axiom/FriCAS program can't work in terms of the Cayley table, so I have added my own code to do this.