1 | initial version |
Use the cartesian_product
and multiplication_table
methods.
Is this what you are looking for?
sage: G = SymmetricGroup(3).cartesian_product(CyclicPermutationGroup(3))
sage: G in Groups()
True
sage: G.multiplication_table()
* a b c d e f g h i j k l m n o p q r
+------------------------------------
a| a b c d e f g h i j k l m n o p q r
b| b c a e f d h i g k l j n o m q r p
c| c a b f d e i g h l j k o m n r p q
d| d e f a b c p q r m n o j k l g h i
e| e f d b c a q r p n o m k l j h i g
f| f d e c a b r p q o m n l j k i g h
g| g h i m n o j k l a b c p q r d e f
h| h i g n o m k l j b c a q r p e f d
i| i g h o m n l j k c a b r p q f d e
j| j k l p q r a b c g h i d e f m n o
k| k l j q r p b c a h i g e f d n o m
l| l j k r p q c a b i g h f d e o m n
m| m n o g h i d e f p q r a b c j k l
n| n o m h i g e f d q r p b c a k l j
o| o m n i g h f d e r p q c a b l j k
p| p q r j k l m n o d e f g h i a b c
q| q r p k l j n o m e f d h i g b c a
r| r p q l j k o m n f d e i g h c a b
2 | No.2 Revision |
Use the cartesian_product
and multiplication_table
methods.
Is this what you are looking for?
sage: version()
'SageMath version 7.4, Release Date: 2016-10-18'
sage: G = SymmetricGroup(3).cartesian_product(CyclicPermutationGroup(3))
sage: G in Groups()
True
sage: G.multiplication_table()
* a b c d e f g h i j k l m n o p q r
+------------------------------------
a| a b c d e f g h i j k l m n o p q r
b| b c a e f d h i g k l j n o m q r p
c| c a b f d e i g h l j k o m n r p q
d| d e f a b c p q r m n o j k l g h i
e| e f d b c a q r p n o m k l j h i g
f| f d e c a b r p q o m n l j k i g h
g| g h i m n o j k l a b c p q r d e f
h| h i g n o m k l j b c a q r p e f d
i| i g h o m n l j k c a b r p q f d e
j| j k l p q r a b c g h i d e f m n o
k| k l j q r p b c a h i g e f d n o m
l| l j k r p q c a b i g h f d e o m n
m| m n o g h i d e f p q r a b c j k l
n| n o m h i g e f d q r p b c a k l j
o| o m n i g h f d e r p q c a b l j k
p| p q r j k l m n o d e f g h i a b c
q| q r p k l j n o m e f d h i g b c a
r| r p q l j k o m n f d e i g h c a b
To figure out who are a, b, c, etc, list the elements of the group.
sage: G.list()
[((), ()),
((), (1,2,3)),
((), (1,3,2)),
((1,2), ()),
((1,2), (1,2,3)),
((1,2), (1,3,2)),
((1,2,3), ()),
((1,2,3), (1,2,3)),
((1,2,3), (1,3,2)),
((1,3,2), ()),
((1,3,2), (1,2,3)),
((1,3,2), (1,3,2)),
((2,3), ()),
((2,3), (1,2,3)),
((2,3), (1,3,2)),
((1,3), ()),
((1,3), (1,2,3)),
((1,3), (1,3,2))]
The multiplication table with elements is hard to read.
sage: G.multiplication_table(names='elements')
* ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2))
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
((), ())| ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2))
((), (1,2,3))| ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ())
((), (1,3,2))| ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3))
((1,2), ())| ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2))
((1,2), (1,2,3))| ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ())
((1,2), (1,3,2))| ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3))
((1,2,3), ())| ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2))
((1,2,3), (1,2,3))| ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ())
((1,2,3), (1,3,2))| ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3))
((1,3,2), ())| ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2))
((1,3,2), (1,2,3))| ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ())
((1,3,2), (1,3,2))| ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3))
((2,3), ())| ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2))
((2,3), (1,2,3))| ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ())
((2,3), (1,3,2))| ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3))
((1,3), ())| ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2))
((1,3), (1,2,3))| ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ())
((1,3), (1,3,2))| ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3))
Note that here I used CyclicPermutationGroup(n)
instead of Zmod(n)
,
so that the cyclic group is also in permutation notation.
Something seems to go wrong when using Zmod(n)
instead, we should check if this is a known bug.
sage: version()
'SageMath version 7.4, Release Date: 2016-10-18'
sage: G = SymmetricGroup(3).cartesian_product(Zmod(3))
sage: G.list()
[((), 0),
((), 1),
((), 2),
((1,2), 0),
((1,2), 1),
((1,2), 2),
((1,2,3), 0),
((1,2,3), 1),
((1,2,3), 2),
((1,3,2), 0),
((1,3,2), 1),
((1,3,2), 2),
((2,3), 0),
((2,3), 1),
((2,3), 2),
((1,3), 0),
((1,3), 1),
((1,3), 2)]
sage: G.multiplication_table()
* a b c d e f g h i j k l m n o p q r
+------------------------------------
a| a a a d d d g g g j j j m m m p p p
b| a b c d e f g h i j k l m n o p q r
c| a c b d f e g i h j l k m o n p r q
d| d d d a a a p p p m m m j j j g g g
e| d e f a b c p q r m n o j k l g h i
f| d f e a c b p r q m o n j l k g i h
g| g g g m m m j j j a a a p p p d d d
h| g h i m n o j k l a b c p q r d e f
i| g i h m o n j l k a c b p r q d f e
j| j j j p p p a a a g g g d d d m m m
k| j k l p q r a b c g h i d e f m n o
l| j l k p r q a c b g i h d f e m o n
m| m m m g g g d d d p p p a a a j j j
n| m n o g h i d e f p q r a b c j k l
o| m o n g i h d f e p r q a c b j l k
p| p p p j j j m m m d d d g g g a a a
q| p q r j k l m n o d e f g h i a b c
r| p r q j l k m o n d f e g i h a c b
Not a proper group multiplication table, huh.
3 | No.3 Revision |
Use the cartesian_product
and multiplication_table
methods.
Is this what you are looking for?
sage: version()
'SageMath version 7.4, Release Date: 2016-10-18'
sage: G = SymmetricGroup(3).cartesian_product(CyclicPermutationGroup(3))
sage: G in Groups()
True
sage: G.multiplication_table()
* a b c d e f g h i j k l m n o p q r
+------------------------------------
a| a b c d e f g h i j k l m n o p q r
b| b c a e f d h i g k l j n o m q r p
c| c a b f d e i g h l j k o m n r p q
d| d e f a b c p q r m n o j k l g h i
e| e f d b c a q r p n o m k l j h i g
f| f d e c a b r p q o m n l j k i g h
g| g h i m n o j k l a b c p q r d e f
h| h i g n o m k l j b c a q r p e f d
i| i g h o m n l j k c a b r p q f d e
j| j k l p q r a b c g h i d e f m n o
k| k l j q r p b c a h i g e f d n o m
l| l j k r p q c a b i g h f d e o m n
m| m n o g h i d e f p q r a b c j k l
n| n o m h i g e f d q r p b c a k l j
o| o m n i g h f d e r p q c a b l j k
p| p q r j k l m n o d e f g h i a b c
q| q r p k l j n o m e f d h i g b c a
r| r p q l j k o m n f d e i g h c a b
To figure out who are a, b, c, etc, list the elements of the group.
sage: G.list()
[((), ()),
((), (1,2,3)),
((), (1,3,2)),
((1,2), ()),
((1,2), (1,2,3)),
((1,2), (1,3,2)),
((1,2,3), ()),
((1,2,3), (1,2,3)),
((1,2,3), (1,3,2)),
((1,3,2), ()),
((1,3,2), (1,2,3)),
((1,3,2), (1,3,2)),
((2,3), ()),
((2,3), (1,2,3)),
((2,3), (1,3,2)),
((1,3), ()),
((1,3), (1,2,3)),
((1,3), (1,3,2))]
The multiplication table with elements is hard to read.
sage: G.multiplication_table(names='elements')
* ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2))
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
((), ())| ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2))
((), (1,2,3))| ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ())
((), (1,3,2))| ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3))
((1,2), ())| ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2))
((1,2), (1,2,3))| ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ())
((1,2), (1,3,2))| ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3))
((1,2,3), ())| ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2))
((1,2,3), (1,2,3))| ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ())
((1,2,3), (1,3,2))| ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3))
((1,3,2), ())| ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2))
((1,3,2), (1,2,3))| ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ())
((1,3,2), (1,3,2))| ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3))
((2,3), ())| ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2))
((2,3), (1,2,3))| ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ())
((2,3), (1,3,2))| ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3))
((1,3), ())| ((1,3), ()) ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((), ()) ((), (1,2,3)) ((), (1,3,2))
((1,3), (1,2,3))| ((1,3), (1,2,3)) ((1,3), (1,3,2)) ((1,3), ()) ((1,3,2), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((2,3), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((1,2), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2,3), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((), (1,2,3)) ((), (1,3,2)) ((), ())
((1,3), (1,3,2))| ((1,3), (1,3,2)) ((1,3), ()) ((1,3), (1,2,3)) ((1,3,2), (1,3,2)) ((1,3,2), ()) ((1,3,2), (1,2,3)) ((2,3), (1,3,2)) ((2,3), ()) ((2,3), (1,2,3)) ((1,2), (1,3,2)) ((1,2), ()) ((1,2), (1,2,3)) ((1,2,3), (1,3,2)) ((1,2,3), ()) ((1,2,3), (1,2,3)) ((), (1,3,2)) ((), ()) ((), (1,2,3))
Note that here I used
instead of CyclicPermutationGroup(n)CyclicPermutationGroup(m)
,
so that the cyclic group is also in permutation notation.Zmod(n)Zmod(m)
Something seems to go wrong when using
instead, we should check if this is a known bug.Zmod(n)Zmod(m)
sage: version()
'SageMath version 7.4, Release Date: 2016-10-18'
sage: G = SymmetricGroup(3).cartesian_product(Zmod(3))
sage: G.list()
[((), 0),
((), 1),
((), 2),
((1,2), 0),
((1,2), 1),
((1,2), 2),
((1,2,3), 0),
((1,2,3), 1),
((1,2,3), 2),
((1,3,2), 0),
((1,3,2), 1),
((1,3,2), 2),
((2,3), 0),
((2,3), 1),
((2,3), 2),
((1,3), 0),
((1,3), 1),
((1,3), 2)]
sage: G.multiplication_table()
* a b c d e f g h i j k l m n o p q r
+------------------------------------
a| a a a d d d g g g j j j m m m p p p
b| a b c d e f g h i j k l m n o p q r
c| a c b d f e g i h j l k m o n p r q
d| d d d a a a p p p m m m j j j g g g
e| d e f a b c p q r m n o j k l g h i
f| d f e a c b p r q m o n j l k g i h
g| g g g m m m j j j a a a p p p d d d
h| g h i m n o j k l a b c p q r d e f
i| g i h m o n j l k a c b p r q d f e
j| j j j p p p a a a g g g d d d m m m
k| j k l p q r a b c g h i d e f m n o
l| j l k p r q a c b g i h d f e m o n
m| m m m g g g d d d p p p a a a j j j
n| m n o g h i d e f p q r a b c j k l
o| m o n g i h d f e p r q a c b j l k
p| p p p j j j m m m d d d g g g a a a
q| p q r j k l m n o d e f g h i a b c
r| p r q j l k m o n d f e g i h a c b
Not a proper group multiplication table, huh.
I guess what happens in this case is that the cartesian product is a cartesian product
of multiplicative monoids, so instead of the (additive) group law in Zmod(m)
,
it's the (ring) multiplication that is used there. And indeed:
sage: G in Groups()
False
Let me think a bit more about how to make the cartesian product of the multiplicative group S(n)
with the additive group Zmod(m)
, or maybe someone can help with that.