1
$\begingroup$

Is there a computer software that can compute Automorphism Groups. For instance $Aut(\mathbb{Z}_4\times\mathbb{Z}_2)$.

I tried Sage, but could not get it to work.

Output:

G = CyclicPermutationGroup(4)
3
H = CyclicPermutationGroup(2)
4
D=G.direct_product(H)
5
D.automorphism_group()
6
Error in lines 4-4
Traceback (most recent call last):
  File "/projects/0aeca2d0-1a41-47c7-b462-f4a4432bfbf3/.sagemathcloud/sage_server.py", line 881, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
  File "", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'automorphism_group'

Thanks for any help!

$\endgroup$
  • 3
    $\begingroup$ Try Gap $\endgroup$ – Math137 Sep 30 '15 at 14:44
4
$\begingroup$

It is quite straightforward with GAP:

gap> G:=DirectProduct(CyclicGroup(4),CyclicGroup(2));
<pc group of size 8 with 3 generators>
gap> A:=AutomorphismGroup(G);
<group with 4 generators>
gap> StructureDescription(A);
"D8"

Hopefully someone will also show how to do this in SageMath.

$\endgroup$
  • 1
    $\begingroup$ Thanks! I managed to run your code in SageMath, by typing the exact same thing, with "%gap" (without the "") in front to tell SageMath that I am using the GAP language. $\endgroup$ – yoyostein Oct 1 '15 at 15:14
  • $\begingroup$ @yoyostein you're welcome! Also, the GAP package AutPGrp greatly improves the performance in case the group is a $p$-group (and "knows" about that). $\endgroup$ – Alexander Konovalov Oct 1 '15 at 20:23
4
$\begingroup$

In this case, the error should have pointed you to the fact that the output is not a group, but a group plus the morphisms in question as a "tuple".

sage: D
(Permutation Group with generators [(5,6), (1,2,3,4)],
 Permutation group morphism:
   From: Cyclic group of order 4 as a permutation group
   To:   Permutation Group with generators [(5,6), (1,2,3,4)]
   Defn: Embedding( Group( [ (1,2,3,4), (5,6) ] ), 1 ),
 Permutation group morphism:
   From: Cyclic group of order 2 as a permutation group
   To:   Permutation Group with generators [(5,6), (1,2,3,4)]
   Defn: Embedding( Group( [ (1,2,3,4), (5,6) ] ), 2 ),
 Permutation group morphism:
   From: Permutation Group with generators [(5,6), (1,2,3,4)]
   To:   Cyclic group of order 4 as a permutation group
   Defn: Projection( Group( [ (1,2,3,4), (5,6) ] ), 1 ),
 Permutation group morphism:
   From: Permutation Group with generators [(5,6), (1,2,3,4)]
   To:   Cyclic group of order 2 as a permutation group
   Defn: Projection( Group( [ (1,2,3,4), (5,6) ] ), 2 ))

Fortunately, Sage uses GAP behind the scenes for most group functionality anyway. Unfortunately, it's not well-wrapped in this case.

sage: d = D[0]
sage: d.order()
8
sage: d1 = d._gap_()
sage: d1.AutomorphismGroup()
Group( [ GroupHomomorphismByImages( Group( [ (5,6), (1,2,3,4) ] ), Group( 
    [ (5,6), (1,2,3,4) ] ), [ (1,2,3,4), (5,6) ], [ (1,2,3,4), (5,6) ] ), 
  GroupHomomorphismByImages( Group( [ (5,6), (1,2,3,4) ] ), Group( 
    [ (5,6), (1,2,3,4) ] ), [ (5,6), (1,2,3,4) ], [ (5,6), (1,4,3,2) ] ), 
  GroupHomomorphismByImages( Group( [ (5,6), (1,2,3,4) ] ), Group( 
    [ (5,6), (1,2,3,4) ] ), [ (5,6), (1,2,3,4) ], 
    [ (1,3)(2,4)(5,6), (1,2,3,4) ] ), GroupHomomorphismByImages( Group( 
    [ (5,6), (1,2,3,4) ] ), Group( [ (5,6), (1,2,3,4) ] ), [ (1,2,3,4), (5,6) 
     ], [ (1,2,3,4)(5,6), (5,6) ] ) ] )

I've opened Ticket 19328 for this.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.