PREP - Professional Enhancement Programs of the MAA



 

Exploring Abstract Algebra with Computer Software

A PREP Workshop

GAP log - Friday July 2, 10 am - 11:30 am

Section 14, continued
gap> x := X(GF(2),"x");
x
gap> g:=1+x+x^2+x^4+x^8;
x^8+x^4+x^2+x+Z(2)^0
gap> Factors(g);
[ x^4+x^3+Z(2)^0, x^4+x^3+x^2+x+Z(2)^0 ]
gap> polyring := PolynomialRing(GF(16));
PolynomialRing(..., [ x ])
gap> Factors(polyring,g);
[ x+Z(2^4)^3, x+Z(2^4)^6, x+Z(2^4)^7, x+Z(2^4)^9, x+Z(2^4)^11, x+Z(2^4)^12, x+Z(2^4)^13, 
  x+Z(2^4)^14 ]
gap> f := CF(8);
CF(8)
gap> E(8)^2;
E(4)
gap> E(8)^4;
-1
gap> Subfields(f);
[ Rationals, GaussianRationals, CF(8), NF(8,[ 1, 3 ]), NF(8,[ 1, 7 ]) ]
gap> g := GaloisGroup(AsField(Rationals,CF(8)));
<group of size 4 with 2 generators>
gap> Elements(g);
[ IdentityMapping( CF(8) ), ANFAutomorphism( CF(8), 3 ), ANFAutomorphism( CF(8), 5 ), 
  ANFAutomorphism( CF(8), 7 ) ]
Exercise 14.6
gap> g1 := GaloisGroup(AsField(Rationals,CF(9)));
<group with 1 generators>
gap> Order(g1);
6
gap> g2 := GaloisGroup(AsField(Rationals,CF(7)));
<group with 1 generators>
gap> Order(g2);
6
Exercise 14.7
gap> g1 := GaloisGroup(AsField(Rationals,CF(10)));
<group with 1 generators>
gap> Order(g1);
4
gap> g2 := GaloisGroup(AsField(Rationals,CF(8)));
<group of size 4 with 2 generators>
gap> IsCyclic(g2);
false
Exercise 14.8
gap> g := GaloisGroup(AsField(Rationals,CF(15)));
<group with 2 generators>
gap> Order(g);
8
gap> Read("orderFrequency");
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 3 ], [ 4, 4 ] ]
gap> e:=Elements(g);
[ IdentityMapping( CF(15) ), ANFAutomorphism( CF(15), 2 ), ANFAutomorphism( CF(15), 4 ), 
  ANFAutomorphism( CF(15), 7 ), ANFAutomorphism( CF(15), 8 ), ANFAutomorphism( CF(15), 11 ), 
  ANFAutomorphism( CF(15), 13 ), ANFAutomorphism( CF(15), 14 ) ]
gap> Order(e[2]);
4
Exercise 14.9
gap> g1 := GaloisGroup(AsField(Rationals,CF(64)));
<group with 2 generators>
gap> Order(g1);
32
gap> g2 := GaloisGroup(AsField(Rationals,CF(80)));
<group with 3 generators>
gap> Order(g2);
32
gap> orderFrequency(g1);
[ [ 1, 1 ], [ 2, 3 ], [ 4, 4 ], [ 8, 8 ], [ 16, 16 ] ]
gap> orderFrequency(g2);
[ [ 1, 1 ], [ 2, 7 ], [ 4, 24 ] ]
gap> IsAbelian(g1);
true
gap> IsAbelian(g2);
true
Exercise 14.10
gap> f := Subfields(CF(60));
[ Rationals, CF(3), GaussianRationals, CF(5), NF(5,[ 1, 4 ]), CF(12), NF(12,[ 1, 11 ]), CF(15), 
  NF(15,[ 1, 2, 4, 8 ]), NF(15,[ 1, 4 ]), NF(15,[ 1, 14 ]), CF(20), NF(20,[ 1, 3, 7, 9 ]), 
  NF(20,[ 1, 9 ]), NF(20,[ 1, 19 ]), CF(60), NF(60,[ 1, 7, 11, 17, 43, 49, 53, 59 ]), 
  NF(60,[ 1, 7, 43, 49 ]), NF(60,[ 1, 11 ]), NF(60,[ 1, 11, 19, 29 ]), NF(60,[ 1, 11, 49, 59 ]), 
  NF(60,[ 1, 17, 49, 53 ]), NF(60,[ 1, 19 ]), NF(60,[ 1, 23, 47, 49 ]), NF(60,[ 1, 29 ]), 
  NF(60,[ 1, 49 ]), NF(60,[ 1, 59 ]) ]
gap> Size(f);
27
Exercise 14.11
gap> g := GaloisGroup(AsField(Rationals,CF(60)));
<group of size 16 with 3 generators>
gap> Elements(g);
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 7 ), ANFAutomorphism( CF(60), 11 ), 
  ANFAutomorphism( CF(60), 13 ), ANFAutomorphism( CF(60), 17 ), ANFAutomorphism( CF(60), 19 ), 
  ANFAutomorphism( CF(60), 23 ), ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 31 ), 
  ANFAutomorphism( CF(60), 37 ), ANFAutomorphism( CF(60), 41 ), ANFAutomorphism( CF(60), 43 ), 
  ANFAutomorphism( CF(60), 47 ), ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 53 ), 
  ANFAutomorphism( CF(60), 59 ) ]
gap> IsAbelian(g);
true
gap> classes := ConjugacyClassesSubgroups(g);
[ Group( IdentityMapping( CF(60) ) )^G, Group( [ ANFAutomorphism( CF(60), 11 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 19 ) ] )^G, Group( [ ANFAutomorphism( CF(60), 29 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 31 ) ] )^G, Group( [ ANFAutomorphism( CF(60), 41 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 49 ) ] )^G, Group( [ ANFAutomorphism( CF(60), 59 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 19 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 31 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 49 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 31 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 41 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 31 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 41 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 7 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 13 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 17 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 23 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 19 ), 
      ANFAutomorphism( CF(60), 31 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 7 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 13 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 7 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 17 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 7 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 13 ) ] )^G, 
  Group( [ ANFAutomorphism( CF(60), 31 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 37 ) ] )^G ]
gap> Size(classes);
27
gap> subs:=List(classes, x -> Representative(x));
[ <trivial group>, <group of size 2 with 1 generators>, <group of size 2 with 1 generators>, 
  <group of size 2 with 1 generators>, <group of size 2 with 1 generators>, 
  <group of size 2 with 1 generators>, <group of size 2 with 1 generators>, 
  <group of size 2 with 1 generators>, <group of size 4 with 2 generators>, 
  <group of size 4 with 2 generators>, <group of size 4 with 2 generators>, 
  <group of size 4 with 2 generators>, <group of size 4 with 2 generators>, 
  <group of size 4 with 2 generators>, <group of size 4 with 2 generators>, 
  <group of size 4 with 2 generators>, <group of size 4 with 2 generators>, 
  <group of size 4 with 2 generators>, <group of size 4 with 2 generators>, 
  <group of size 8 with 3 generators>, <group of size 8 with 3 generators>, 
  <group of size 8 with 3 generators>, <group of size 8 with 3 generators>, 
  <group of size 8 with 3 generators>, <group of size 8 with 3 generators>, 
  <group of size 8 with 3 generators>, <group of size 16 with 3 generators> ]
gap> subs_as_elts := List(subs, x -> Elements(x));
[ [ IdentityMapping( CF(60) ) ], [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 19 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 29 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 31 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 41 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 19 ), 
      ANFAutomorphism( CF(60), 29 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 41 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 7 ), ANFAutomorphism( CF(60), 43 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 13 ), ANFAutomorphism( CF(60), 37 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 17 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 53 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 23 ), ANFAutomorphism( CF(60), 47 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 19 ), 
      ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 41 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 7 ), ANFAutomorphism( CF(60), 11 ), 
      ANFAutomorphism( CF(60), 17 ), ANFAutomorphism( CF(60), 43 ), 
      ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 53 ), 
      ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 13 ), 
      ANFAutomorphism( CF(60), 23 ), ANFAutomorphism( CF(60), 37 ), 
      ANFAutomorphism( CF(60), 47 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 59 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 7 ), ANFAutomorphism( CF(60), 13 ), 
      ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 37 ), ANFAutomorphism( CF(60), 43 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 17 ), ANFAutomorphism( CF(60), 19 ), 
      ANFAutomorphism( CF(60), 23 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 47 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 53 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 7 ), ANFAutomorphism( CF(60), 23 ), 
      ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 43 ), ANFAutomorphism( CF(60), 47 ), 
      ANFAutomorphism( CF(60), 49 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 13 ), ANFAutomorphism( CF(60), 17 ), 
      ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 37 ), 
      ANFAutomorphism( CF(60), 41 ), ANFAutomorphism( CF(60), 49 ), 
      ANFAutomorphism( CF(60), 53 ) ], 
  [ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 7 ), ANFAutomorphism( CF(60), 11 ), 
      ANFAutomorphism( CF(60), 13 ), ANFAutomorphism( CF(60), 17 ), 
      ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 23 ), 
      ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 31 ), 
      ANFAutomorphism( CF(60), 37 ), ANFAutomorphism( CF(60), 41 ), 
      ANFAutomorphism( CF(60), 43 ), ANFAutomorphism( CF(60), 47 ), 
      ANFAutomorphism( CF(60), 49 ), ANFAutomorphism( CF(60), 53 ), 
      ANFAutomorphism( CF(60), 59 ) ] ]
gap> f;
[ Rationals, CF(3), GaussianRationals, CF(5), NF(5,[ 1, 4 ]), CF(12), NF(12,[ 1, 11 ]), CF(15), 
  NF(15,[ 1, 2, 4, 8 ]), NF(15,[ 1, 4 ]), NF(15,[ 1, 14 ]), CF(20), NF(20,[ 1, 3, 7, 9 ]), 
  NF(20,[ 1, 9 ]), NF(20,[ 1, 19 ]), CF(60), NF(60,[ 1, 7, 11, 17, 43, 49, 53, 59 ]), 
  NF(60,[ 1, 7, 43, 49 ]), NF(60,[ 1, 11 ]), NF(60,[ 1, 11, 19, 29 ]), NF(60,[ 1, 11, 49, 59 ]), 
  NF(60,[ 1, 17, 49, 53 ]), NF(60,[ 1, 19 ]), NF(60,[ 1, 23, 47, 49 ]), NF(60,[ 1, 29 ]), 
  NF(60,[ 1, 49 ]), NF(60,[ 1, 59 ]) ]
gap> g := GaloisGroup(AsField(NF(20,[ 1, 3, 7, 9 ]),CF(60)));
<group with 2 generators>
gap> Order(g);
8
Section 15: Another False Conjecture
gap> G:= Subgroup(SymmetricGroup(6), [(1,2,3)(4,5,6),(1,4)(2,6)(3,5)]);
Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ])
gap> Elements(G);
[ (), (1,2,3)(4,5,6), (1,3,2)(4,6,5), (1,4)(2,6)(3,5), (1,5)(2,4)(3,6), (1,6)(2,5)(3,4) ]
gap> d3:= SymmetricGroup(3);
Sym( [ 1 .. 3 ] )
gap> IsomorphismGroups(d3,G);
[ (1,2,3), (1,2) ] -> [ (1,2,3)(4,5,6), (1,5)(2,4)(3,6) ]
Exercise 15.1
gap> rotations4:= Subgroup(SymmetricGroup(8), [(1,2,3,4)(5,6,7,8), (1,8)(2,7)(3,6)(4,5)]);
Group([ (1,2,3,4)(5,6,7,8), (1,8)(2,7)(3,6)(4,5) ])
gap> Size(rotations4);
8
gap> orderFrequency(rotations4);
[ [ 1, 1 ], [ 2, 5 ], [ 4, 2 ] ]
Exercise 15.2
gap> rotations5:= Subgroup(SymmetricGroup(10), [(1,2,3,4,5)(6,7,8,9,10), (1,9)(2,8)(3,7)(4,6)(5,10)]);
Group([ (1,2,3,4,5)(6,7,8,9,10), (1,9)(2,8)(3,7)(4,6)(5,10) ])
gap> Size(rotations5);
10
gap> orderFrequency(rotations5);
[ [ 1, 1 ], [ 2, 5 ], [ 5, 4 ] ]
Exercise 15.6
gap> symmetries3:= Subgroup(SymmetricGroup(6), [(1,2,3)(4,5,6), (1,4)(2,6)(3,5)
> , (2,3)(5,6)]);
Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5), (2,3)(5,6) ])
gap> Size(symmetries3);
12
gap> orderFrequency(symmetries3);
[ [ 1, 1 ], [ 2, 7 ], [ 3, 2 ], [ 6, 2 ] ]
gap> d6:= DihedralGroup(12);
<pc group of size 12 with 3 generators>
gap> orderFrequency(d6);
[ [ 1, 1 ], [ 2, 7 ], [ 3, 2 ], [ 6, 2 ] ]
gap> IsomorphismGroups(d6, symmetries3);
[ f1, f2, f3 ] -> [ (1,4)(2,6)(3,5), (1,5,3,4,2,6), (1,3,2)(4,6,5) ]
Exercise 15.7
gap> symmetries5:= Subgroup(SymmetricGroup(10), [(1,2,3,4,5)(6,7,8,9,10), (1,9)(2,8)(3,7)(4,6)(5,10),
>  (1,4)(2,3)(6,9)(7,8)]);
Group([ (1,2,3,4,5)(6,7,8,9,10), (1,9)(2,8)(3,7)(4,6)(5,10), (1,4)(2,3)(6,9)(7,8) ])
gap> Size(symmetries5);
20
gap> d10:= DihedralGroup(20);
<pc group of size 20 with 3 generators>
gap> IsomorphismGroups(d10, symmetries5);
[ f1, f2, f3 ] -> [ (1,3)(4,5)(6,8)(9,10), (1,10,4,8,2,6,5,9,3,7), (1,4,2,5,3)(6,9,7,10,8) ]
gap> symmetries4:= Subgroup(SymmetricGroup(8), [(1,2,3,4)(5,6,7,8), (1,8)(2,7)(3,6)(4,5),
> (1,4)(2,3)(5,8)(6,7)]);
Group([ (1,2,3,4)(5,6,7,8), (1,8)(2,7)(3,6)(4,5), (1,4)(2,3)(5,8)(6,7) ])
Exercise 15.9
gap> Size(symmetries4);
16
gap> d8:= DihedralGroup(16);
<pc group of size 16 with 4 generators>
gap> IsomorphismGroups(d8, symmetries4);
fail
gap> Elements(symmetries4);
[ (), (2,4)(6,8), (1,2)(3,4)(5,6)(7,8), (1,2,3,4)(5,6,7,8), (1,3)(5,7), (1,3)(2,4)(5,7)(6,8), 
  (1,4,3,2)(5,8,7,6), (1,4)(2,3)(5,8)(6,7), (1,5)(2,6)(3,7)(4,8), (1,5)(2,8)(3,7)(4,6), 
  (1,6)(2,5)(3,8)(4,7), (1,6,3,8)(2,7,4,5), (1,7)(2,6)(3,5)(4,8), (1,7)(2,8)(3,5)(4,6), 
  (1,8,3,6)(2,5,4,7), (1,8)(2,7)(3,6)(4,5) ]
Section 16: Gaussian Integers
gap> R:= GaussianIntegers;
GaussianIntegers
gap> quit;
Back to Home Page
 
 

This PREP workshop is made possible by the NSF grant DUE: 0341481