PREP - Professional Enhancement Programs of the MAA


Abstract Algebra with GAP

A PREP Workshop

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

gap> x:=Indeterminate(Rationals,"x");
x
gap> CyclotomicPolynomial(Rationals,15);
1-x+x^3-x^4+x^5-x^7+x^8
gap> f:=CF(8);
CF(8)
gap> E(8)^1;
E(8)
gap> E(8)^8;
1
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> CyclotomicPolynomial(Rationals,8);
1+x^4
gap> Elements(g);
[ IdentityMapping( CF(8) ), ANFAutomorphism( CF(8), 3 ), ANFAutomorphism( CF(8), 5 ), ANFAutomorphism( CF(8), 7 ) ]
gap> e:=Elements(g);
[ IdentityMapping( CF(8) ), ANFAutomorphism( CF(8), 3 ), ANFAutomorphism( CF(8), 5 ), ANFAutomorphism( CF(8), 7 ) ]
gap> Order(e[1]);
1
gap> Order(e[2]);
2
gap> Order(e[3]);
2
gap> Order(e[4]);
2
gap> g:=GaloisGroup(AsField(Rationals,CF(9)));
<group with 1 generators>
gap> Size(g);
6
gap> g:=GaloisGroup(AsField(Rationals,CF(7)));
<group with 1 generators>
gap> Size(g);
6
gap> IsCyclic(g);
true
gap> g:=GaloisGroup(AsField(Rationals,CF(10)));
<group with 1 generators>
gap> Size(g);
4
gap> IsCyclic(g);
true
gap> g:=GaloisGroup(AsField(Rationals,CF(8)));
<group of size 4 with 2 generators>
gap> IsCyclic(g);
false
gap> g:=GaloisGroup(AsField(Rationals,CF(15)));
<group with 2 generators>
gap> Read("orderFrequency");
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 3 ], [ 4, 4 ] ]
gap> IsAbelian(g);
true
gap> g:=GaloisGroup(AsField(Rationals,CF(64)));
<group with 2 generators>
gap> Size(g);
32
gap> IsCyclic(g);
false
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 3 ], [ 4, 4 ], [ 8, 8 ], [ 16, 16 ] ]
gap> g:=GaloisGroup(AsField(Rationals,CF(80)));
<group with 3 generators>
gap> Size(g);
32
gap> IsCyclic(g);
false
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 7 ], [ 4, 24 ] ]
gap> g:=DirectProduct(CyclicGroup(2),CyclicGroup(16));
<pc group of size 32 with 5 generators>
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 3 ], [ 4, 4 ], [ 8, 8 ], [ 16, 16 ] ]
gap> g:=DirectProduct(CyclicGroup(2),CyclicGroup(4),CyclicGroup(4));
<pc group of size 32 with 5 generators>
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 7 ], [ 4, 24 ] ]
gap> g:=DirectProduct(CyclicGroup(2),CyclicGroup(2),CyclicGroup(2),CyclicGroup(4));
<pc group of size 32 with 5 generators>
gap> orderFrequency(g);
[ [ 1, 1 ], [ 2, 15 ], [ 4, 16 ] ]
gap> sf := 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(sf);
27
gap> g:=GaloisGroup(AsField(Rational,CF(60)));
Variable: 'Rational' must have a value

gap> g:=GaloisGroup(AsField(Rationals,CF(60)));
<group of size 16 with 3 generators>
gap> e:=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> Order(e[2]);
4
gap> e[2]^2;
ANFAutomorphism( CF(60), 49 )
gap> e[3]^3;
ANFAutomorphism( CF(60), 11 )
gap> e[2]^3;
ANFAutomorphism( CF(60), 43 )
gap> Order(e[3]);
2
gap> Order(e[4]);
4
gap> e[4]^2;
ANFAutomorphism( CF(60), 49 )
gap> e[4]^3;
ANFAutomorphism( CF(60), 37 )
gap> Order(e[5]);
4
gap> e[5]^2;
ANFAutomorphism( CF(60), 49 )
gap> e[5]^3;
ANFAutomorphism( CF(60), 53 )
gap> Order(e[6]);
2
gap> Order(e[7]);
4
gap> e[7]^2;
ANFAutomorphism( CF(60), 49 )
gap> e[7]^3;
ANFAutomorphism( CF(60), 47 )
gap> Order(e[8]);
2
gap> Order(e[9]);
2
gap> Order(e[11]);
2
gap> Order(e[16]);
2
gap> Elements(Subgroup(g,[e[2],e[3]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[2],e[4]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[2],e[7]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[3],e[4]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[3],e[5]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[3],e[6]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 19 ), 
  ANFAutomorphism( CF(60), 29 ) ]
gap> Elements(Subgroup(g,[e[3],e[9]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 31 ), 
  ANFAutomorphism( CF(60), 41 ) ]
gap> Elements(Subgroup(g,[e[3],e[11]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 31 ), 
  ANFAutomorphism( CF(60), 41 ) ]
gap> Elements(Subgroup(g,[e[3],e[14]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 11 ), ANFAutomorphism( CF(60), 49 ), 
  ANFAutomorphism( CF(60), 59 ) ]
gap> Elements(Subgroup(g,[e[4],e[5]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[5],e[6]]));
[ 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 ) ]
gap> Elements(Subgroup(g,[e[6],e[9]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 31 ), 
  ANFAutomorphism( CF(60), 49 ) ]
gap> Elements(Subgroup(g,[e[6],e[11]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 19 ), ANFAutomorphism( CF(60), 41 ), 
  ANFAutomorphism( CF(60), 59 ) ]
gap> Elements(Subgroup(g,[e[8],e[9]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 31 ), 
  ANFAutomorphism( CF(60), 59 ) ]
gap> Elements(Subgroup(g,[e[8],e[11]]));
[ IdentityMapping( CF(60) ), ANFAutomorphism( CF(60), 29 ), ANFAutomorphism( CF(60), 41 ), 
  ANFAutomorphism( CF(60), 49 ) ]
gap> Elements(Subgroup(g,[e[3],e[6],e[9]]));
[ 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 ) ]
gap> orderFrequency(Subgroup(g,[e[3],e[6],e[9]]))'
> ;
Syntax error: missing single quote in character constant
;
^
gap> orderFrequency(Subgroup(g,[e[3],e[6],e[9]]));
[ [ 1, 1 ], [ 2, 7 ] ]
gap> g;
<group of size 16 with 3 generators>
gap> 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(ConjugacyClassesSubgroups(g));
27
gap> sg:=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> Elements(sg[26]);
[ <group of size 8 with 3 generators> ]
gap> IsElementaryAbelian(sg[26]);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `IsElementaryAbelian' on 1 arguments called from
<function>( <arguments> ) called from read-eval-loop
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> gap> LogTo();
Back to Home Page
 
 

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