Maths - Direct Product

Perhaps the simplest way to combine (multiply) two sets (and therefore groups) is to use the Cartesian product as explained on this page. This product produces a set from the product:

g×h = {g, h}

So the result of this product is a different type of entity than the elements being multiplied, so the multiplication is not closed, and therefore does not represent a group. The external product makes this into a group because the inputs to the multiplication are also sets:

{g, h} × {g' , h' } = {g * g' , h o h' }

where:

Example C2×C3

In order to try to understand this product of two groups lets try multiplying two very simple groups together, the simplest groups I can think of are C2 and C3. As a reminder these are the definitions of these groups individually (full definitions on this page):

C2

generator cayley graph table permutation representation
<m | m²> c2 graph
1 m
m 1
< ( 1 2 ) >
0 1
1 0

C3

generator cayley graph table permutation representation
<r | r³> c3 graph
1 r
r 1
1 r
< ( 1 2 3 ) >
0 0 1
1 0 0
0 1 0

direct product C3 × C2

This gives :

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}
permutation representation  
<(1 2 3)(4 5 6),(1 4)(2 5)(3 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
]

Note that, in addition to applying both the generators and constrains for the original groups we have had to apply an additional constraint: rm=mr. If we had not done this we would have the infinite free product.

Generating a Direct Product 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/directProduct
)set output algebra off
)set output mathml on
-- first calculate C2 x C3
C2 := FiniteGroup(2,[[1,2],[2,1]],["1","m"])
                                                               Type: Type
DP := directProduct([[1,2,3],[2,3,1],[3,1,2]],["1","r","rr"])$C2

                                                               Type: Type
toTable()$DP

1 r rr m mr mrr
r rr 1 mr mrr m
rr 1 r mrr m mr
m mr mrr 1 r rr
mr mrr m r rr 1
mrr m mr rr 1 r
                      
                           

                                                           Type: Table(6)
setGenerators([false,true,false,true,false,false])$DP

                                                               Type: Void
PDP := toPermutation()$DP

<(1 2 3)(4 5 6),(1 4)(2 5)(3 6)>
                           
                                

                                          Type: PermutationGroup(Integer)
permutationRepresentation(PDP,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))
-- now calculate C3 x C2
C3 := FiniteGroup(3,[[1,2,3],[2,3,1],[3,1,2]],["1","r","rr"])

                                                               Type: Type
DP := directProduct([[1,2],[2,1]],["1","m"])$C3

                                                               Type: Type
toTable()$DP

1 m r rm rr rrm
m 1 rm r rrm rr
r rm rr rrm 1 m
rm r rrm rr m 1
rr rrm 1 m r rm
rrm rr m 1 rm r
                      
                           

                                                           Type: Table(6)
setGenerators([false,true,true,false,false,false])$DP

                                                               Type: Void
PDP := toPermutation()$DP

<(1 2)(3 4)(5 6),(1 3 5)(2 4 6)>
                           
                                

                                          Type: PermutationGroup(Integer)
permutationRepresentation(PDP,6)

[
0 1 0 0 0 0
1 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 0 0 0 1
0 0 0 0 1 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
0 0 0 1 0 0
]


                                              Type: List(Matrix(Integer))
(13) ->

 


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 The Princeton Companion to Mathematics - This is a big book that attempts to give a wide overview of the whole of mathematics, inevitably there are many things missing, but it gives a good insight into the history, concepts, branches, theorems and wider perspective of mathematics. It is well written and, if you are interested in maths, this is the type of book where you can open a page at random and find something interesting to read. To some extent it can be used as a reference book, although it doesn't have tables of formula for trig functions and so on, but where it is most useful is when you want to read about various topics to find out which topics are interesting and relevant to you.

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.