PREP - Professional Enhancement Programs of the MAA



 

Incorporating the Software GAP into Teaching Abstract Algebra

A PREP Workshop

GAP log - Tuesday July 11, 10 am - 11:30 am

Section 3, continued
gap> DirectoryContents("./");
[ ".", "..", ".DS_Store", "Asst.doc", "autoDn", "gap060610am", 
  "gap060710amchat.doc", "GAP060710amChat.rtf", "gap060710chatam.txt", 
  "gap060710pm", "gap060710pmchat.doc", "gap060711am", "homoDn", "intror", 
  "intror2", "junk", "junk2", "junk3", "nilpotentCount", "orderFrequency", 
  "ringHoms", "ringHoms2", "sylows" ]
gap> Read("orderFrequency");
gap> c75:=CyclicGroup(IsPermGroup,75);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
    28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
    53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75) ])
gap> orderFrequency(c75);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 3, 2 ], [ 5, 4 ], [ 15, 8 ], [ 25, 20 ], [ 75, 40 ] ]
gap> c90:=CyclicGroup(IsPermGroup,90);;
gap> orderFrequency(c90);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 1 ], [ 3, 2 ], 
  [ 5, 4 ], [ 6, 2 ], [ 9, 6 ], [ 10, 4 ], [ 15, 8 ], [ 18, 6 ], [ 30, 8 ], 
  [ 45, 24 ], [ 90, 24 ] ]
gap> d17:=DihedralGroup(IsPermGroup,34);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17), 
  (2,17)(3,16)(4,15)(5,14)(6,13)(7,12)(8,11)(9,10) ])
gap> orderFrequency(d17);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 17 ], [ 17, 16 ] ]
gap> d25:=DihedralGroup(IsPermGroup,50);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25), 
  (2,25)(3,24)(4,23)(5,22)(6,21)(7,20)(8,19)(9,18)(10,17)(11,16)(12,15)(13,14) ])
gap> orderFrequency(d25);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 25 ], [ 5, 4 ], 
  [ 25, 20 ] ]
gap> d33:=DihedralGroup(IsPermGroup,66);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
    28,29,30,31,32,33), (2,33)(3,32)(4,31)(5,30)(6,29)(7,28)(8,27)(9,26)(10,
    25)(11,24)(12,23)(13,22)(14,21)(15,20)(16,19)(17,18) ])
gap> d49:=DihedralGroup(IsPermGroup,98);

gap> orderFrequency(d33);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 33 ], [ 3, 2 ], 
  [ 11, 10 ], [ 33, 20 ] ]
gap> orderFrequency(d49);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 49 ], [ 7, 6 ], 
  [ 49, 42 ] ]
gap> d18:=DihedralGroup(IsPermGroup,36);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18), 
  (2,18)(3,17)(4,16)(5,15)(6,14)(7,13)(8,12)(9,11) ])
gap> d26:=DihedralGroup(IsPermGroup,52);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26), 
  (2,26)(3,25)(4,24)(5,23)(6,22)(7,21)(8,20)(9,19)(10,18)(11,17)(12,16)(13,15) ])
gap> d34:=DihedralGroup(IsPermGroup,68);
Group([ (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
    28,29,30,31,32,33,34), (2,34)(3,33)(4,32)(5,31)(6,30)(7,29)(8,28)(9,27)(10,
    26)(11,25)(12,24)(13,23)(14,22)(15,21)(16,20)(17,19) ])
gap> d50:=DihedralGroup(IsPermGroup,100);

gap> orderFrequency(d18);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 19 ], [ 3, 2 ], 
  [ 6, 2 ], [ 9, 6 ], [ 18, 6 ] ]
gap> orderFrequency(d26);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 27 ], [ 13, 12 ], 
  [ 26, 12 ] ]
gap> orderFrequency(d34);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 35 ], [ 17, 16 ], 
  [ 34, 16 ] ]
gap> orderFrequency(d50);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 51 ], [ 5, 4 ], 
  [ 10, 4 ], [ 25, 20 ], [ 50, 20 ] ]
gap> c4:=CyclicGroup(IsPermGroup,4);
Group([ (1,2,3,4) ])
gap> c6:=CyclicGroup(IsPermGroup,6);
Group([ (1,2,3,4,5,6) ])
gap> G:=DirectProduct(c4,c6);
Group([ (1,2,3,4), (5,6,7,8,9,10) ])
gap> G:=DirectProduct(c4,c6);;
gap> IsCyclic(G);
false
gap> IsAbelian(G);
true
Section 3 Appendix: How to make and read in functions
The two files newfunction and newfunction2
newfunction:= function(t)
local x;
x:= (t^3+3)/11 mod 5;
return x;
end;
newfunction2:= function(t)
local x;
x:= (t^3+3)/11 mod 8;
return x;
end;
gap> Read("newfunction");
gap> Read("newfunction2");
Error, file "newfunction2" must exist and be readable called from
(  ) 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> quit;
gap> Read("newfunction2.txt");
gap> newfunction(5);
3
gap> newfunction2(5);
0

Section 4: Direct Products
gap> c4:= CyclicGroup(IsPermGroup,4);
Group([ (1,2,3,4) ])
gap> s3:= SymmetricGroup(3);
Sym( [ 1 .. 3 ] )
gap> D:= DirectProduct(s3,c4);
Group([ (1,2,3), (1,2), (4,5,6,7) ])
gap> Order(D);
24
gap> Read("orderFrequency");
gap> d10:= DihedralGroup(IsPermGroup, 20);;
gap> c2:= CyclicGroup(IsPermGroup,2);;
gap> orderFrequency(DirectProduct(d10,c2));
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 23 ], [ 5, 4 ], [ 10, 12 ] ]
gap> d5:= DihedralGroup(IsPermGroup, 10);;
gap> c4:= CyclicGroup(IsPermGroup,4);;
gap> orderFrequency(DirectProduct(d5,c4));
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 11 ], [ 4, 12 ], 
  [ 5, 4 ], [ 10, 4 ], [ 20, 8 ] ]
gap> 
gap> d20:= DihedralGroup(IsPermGroup, 40);;
gap> orderFrequency(d20);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 21 ], [ 4, 2 ], 
  [ 5, 4 ], [ 10, 4 ], [ 20, 8 ] ]
gap> groups40:= AllSmallGroups(40);;
gap> IsAbelian(groups40[1]);
false
gap> g:= DirectProduct(c4,d5);
Group([ (1,2,3,4), (5,6,7,8,9), (6,9)(7,8) ])
gap> IsIsomorphic(g, groups40[1]);
Variable: 'IsIsomorphic' must have a value

gap> IsomorphismGroups(g, groups40[1]);
fail
gap> List(groups40,x->Filtered(x,y->Order(y)=10));
[ [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4 ], [ f2*f4, f2^2*f4, f2^3*f4, f2^4*f4 ], 
  [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4 ], [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4 ], 
  [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4 ], [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4 ], 
  [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4, f2*f4, f2*f4^2, f2*f4^3, f2*f4^4, f2*f3*f4, 
      f2*f3*f4^2, f2*f3*f4^3, f2*f3*f4^4 ], 
  [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4, f2*f4, f2*f4^2, f2*f4^3, f2*f4^4, f2*f3*f4, 
      f2*f3*f4^2, f2*f3*f4^3, f2*f3*f4^4 ], 
  [ f3*f4, f3^2*f4, f3^3*f4, f3^4*f4, f2*f3, f2*f3*f4, f2*f3^2, f2*f3^2*f4, 
      f2*f3^3, f2*f3^3*f4, f2*f3^4, f2*f3^4*f4 ], 
  [ f3*f4, f3^2*f4, f3^3*f4, f3^4*f4, f2*f3, f2*f3*f4, f2*f3^2, f2*f3^2*f4, 
      f2*f3^3, f2*f3^3*f4, f2*f3^4, f2*f3^4*f4, f1*f3, f1*f3*f4, f1*f3^2, 
      f1*f3^2*f4, f1*f3^3, f1*f3^3*f4, f1*f3^4, f1*f3^4*f4 ], 
  [ f3*f4, f3^2*f4, f3^3*f4, f3^4*f4 ], [ f2*f4, f2*f4^2, f2*f4^3, f2*f4^4 ], 
  [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4, f2*f4, f2*f4^2, f2*f4^3, f2*f4^4, f2*f3*f4, 
      f2*f3*f4^2, f2*f3*f4^3, f2*f3*f4^4 ], 
  [ f3*f4, f3*f4^2, f3*f4^3, f3*f4^4, f2*f4, f2*f4^2, f2*f4^3, f2*f4^4, f2*f3*f4, 
      f2*f3*f4^2, f2*f3*f4^3, f2*f3*f4^4, f1*f4, f1*f4^2, f1*f4^3, f1*f4^4, 
      f1*f3*f4, f1*f3*f4^2, f1*f3*f4^3, f1*f3*f4^4, f1*f2*f4, f1*f2*f4^2, 
      f1*f2*f4^3, f1*f2*f4^4, f1*f2*f3*f4, f1*f2*f3*f4^2, f1*f2*f3*f4^3, 
      f1*f2*f3*f4^4 ] ]
gap> List(last,x->Size(x));
[ 4, 4, 4, 4, 4, 4, 12, 12, 12, 20, 4, 4, 12, 28 ]
gap> Size(last);
14
Section 5: Proof that An is Simple
gap> a4:=AlternatingGroup(4);
Alt( [ 1 .. 4 ] )
gap> ConjugacyClasses(a4);
[ ()^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,4)^G ]
gap> ConjugacyClass(a4,(1,2,3));
(1,2,3)^G
gap> Elements(last);
[ (2,4,3), (1,2,3), (1,3,4), (1,4,2) ]
gap> a6:=AlternatingGroup(6);
Alt( [ 1 .. 6 ] )
gap> a6;
Alt( [ 1 .. 6 ] )
gap> ConjugacyClasses(a6);
[ ()^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,3)(4,5,6)^G, (1,2,3,4)(5,6)^G, 
  (1,2,3,4,5)^G, (1,2,3,4,6)^G ]
gap> Size(last);
7
gap> Size(ConjugacyClass(a6,()));
1
gap> Size(ConjugacyClass(a6,(1,2)(3,4)));
45
gap> List(ConjugacyClasses(a6),x->Size(x));
[ 1, 45, 40, 40, 90, 72, 72 ]
gap> a5:=AlternatingGroup(5);
Alt( [ 1 .. 5 ] )
gap> ConjugacyClasses(a5);
[ ()^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,3,4,5)^G, (1,2,3,5,4)^G ]
gap> List(ConjugacyClasses(a5),x->Size(x));
[ 1, 15, 20, 12, 12 ]
gap> Order(a5);
60
gap> List(ConjugacyClasses(a4),x->Size(x));
[ 1, 3, 4, 4 ]
gap> Order(a4);
12
gap> ConjugacyClasses(a4);
[ ()^G, (1,2)(3,4)^G, (1,2,3)^G, (1,2,4)^G ]
gap> LogTo();
Back to Home Page
 
 

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

<\body>