PREP - Professional Enhancement Programs of the MAA



 

Incorporating the Software GAP into Teaching Abstract Algebra

A PREP Workshop

GAP log - Tuesday July 11, 2:30 pm - 4:00 pm

Section 6
gap> f:= FreeGroup(2);

gap> G:= f/[f.1^3, f.2^9, f.1^-1*f.2*f.1*f.2];

gap> Order(G);
3
gap> G:= f/[f.1^5, f.2^2, f.2*f.1*f.2^-1*f.1^-2];

gap> Order(G);
2
gap> f:= FreeGroup(4);

gap> G:= f/[f.1*f.2*f.3^-1, f.2*f.3*f.4^-1, f.3*f.4*f.1^-1,f.4*f.1*f.2^-1];

gap> Order(G);
5
gap> f:= FreeGroup(2);

gap> G:= f/ [f.1^3, f.2^2, f.1*f.2*f.1^-1*f.2^-1]; Order(G);

6
gap> G:= f/ [f.1^3, f.2^2, f.1*f.2*f.1^-1*f.2^-1]; Order(G); IsAbelian(G);

6
true
gap> G:= f/ [f.1^3, f.2^2, f.1*f.2*f.1^-1*f.2^-2]; Order(G); IsAbelian(G);

3
true
gap> G:= f/ [f.1^3, f.2^2, f.1*f.2*f.1^-2*f.2^-1]; Order(G); IsAbelian(G);

6
false
gap> G:= f/ [f.1^6, f.2^2, f.1*f.2*f.1^-2*f.2^-1]; Order(G); IsAbelian(G);

6
false
gap> G:= f/ [f.1^24, f.2^2, f.1*f.2*f.1^-2*f.2^-1]; Order(G); IsAbelian(G);

6
false
gap> f:= FreeGroup(2);

gap> G:= f/ [f.1^3, f.2^3, f.1*f.2*f.1*f.2]; Order(G); IsAbelian(G);

12
false
gap> Read("orderFrequency");
gap> orderFrequency(g);
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 3 ], [ 3, 8 ] ]
gap> orderFrequency(AlternatinGroup(4));
Variable: 'AlternatinGroup' must have a value

gap> orderFrequency(AlternatingGroup(4));
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 3 ], [ 3, 8 ] ]
gap> orderFrequency(DihedralGroup(12));
[Order of element, Number of that order]=[ [ 1, 1 ], [ 2, 7 ], [ 3, 2 ], 
  [ 6, 2 ] ]
gap> IsomorphismGroups(g, AlternatingGroup(4));
[ f1, f2 ] -> [ (1,2,3), (1,4,3) ]
gap> StructureDescription(g);
"A4"
gap> List(AllSmallGroups(12),StructureDescription);
[ "C3 : C4", "C12", "A4", "D12", "C6 x C2" ]
Section 7
gap> s6:= SymmetricGroup(6);
Sym( [ 1 .. 6 ] )
gap> a6:= AlternatingGroup(6);
Alt( [ 1 .. 6 ] )
gap> d6:= DihedralGroup(IsPermGroup, 12);
Group([ (1,2,3,4,5,6), (2,6)(3,5) ])
gap> z6:= Center(d6);
Group([ (1,4)(2,5)(3,6) ])
gap> IsNormal(s6, a6);
true
gap> IsNormal(s6, d6);
false
gap> RightCosets(s6, d6);
[ RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),()), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(4,5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(4,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(4,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,4)(5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,4,5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,4,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,4,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,5,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,5,6,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,5)(4,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,5,4,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,6,5,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,6,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,6,4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(3,6)(4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3)(5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3)(4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3)(4,5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3)(4,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3)(4,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,4)(5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,4,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,5,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,5,6,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,5)(4,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,6,5,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,6,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,3,6,4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,3)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,3)(5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,5,3)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,6,5,3)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4)(5,6)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4)(3,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,3,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4)(3,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,4,3,6,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,5,4,3)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,5,3)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,5,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,5)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,5,3,4)), 
  RightCoset(Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] ),(2,5)(3,4)) ]
gap> RightCosets(s6, a6);
[ RightCoset(AlternatingGroup( [ 1 .. 6 ] ),()), 
  RightCoset(AlternatingGroup( [ 1 .. 6 ] ),(5,6)) ]
gap> FactorGroup(s6, a6);
Group([ f1 ])
gap> Order(FactorGroup(s6, a6));
2
gap> RightCosets(d6, z6);
[ RightCoset(Group( [ ( 1, 4)( 2, 5)( 3, 6) ] ),()), 
  RightCoset(Group( [ ( 1, 4)( 2, 5)( 3, 6) ] ),(2,6)(3,5)), 
  RightCoset(Group( [ ( 1, 4)( 2, 5)( 3, 6) ] ),(1,5,3)(2,6,4)), 
  RightCoset(Group( [ ( 1, 4)( 2, 5)( 3, 6) ] ),(1,5)(2,4)), 
  RightCoset(Group( [ ( 1, 4)( 2, 5)( 3, 6) ] ),(1,3,5)(2,4,6)), 
  RightCoset(Group( [ ( 1, 4)( 2, 5)( 3, 6) ] ),(1,3)(4,6)) ]
gap> F:= FactorGroup(d6,z6);
Group([ f1, f2 ])
gap> Order(FactorGroup(d6,z6)); IsAbelian(F);
6
false
gap> Elements(RightCoset(z6, (2,6)(3,5)));
[ (2,6)(3,5), (1,4)(2,3)(5,6) ]
gap> d8:= DihedralGroup(IsPermGroup, 16);
Group([ (1,2,3,4,5,6,7,8), (2,8)(3,7)(4,6) ])
gap> z8:= Center(d8);
Group([ (1,5)(2,6)(3,7)(4,8) ])
gap> RightCosets(d8,z8);
[ RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),()), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(2,8)(3,7)(4,6)), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(1,7,5,3)(2,8,6,4)), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(1,7)(2,6)(3,5)), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(1,8,7,6,5,4,3,2)), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(1,8)(2,7)(3,6)(4,5)), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(1,6,3,8,5,2,7,4)), 
  RightCoset(Group( [ ( 1, 5)( 2, 6)( 3, 7)( 4, 8) ] ),(1,6)(2,5)(3,4)(7,8)) ]
gap> PrintArray(MultiplicationTable(FactorGroup(d8,z8)));
[ [  1,  2,  3,  4,  5,  6,  7,  8 ],
  [  2,  1,  5,  6,  3,  4,  8,  7 ],
  [  3,  8,  4,  7,  2,  5,  1,  6 ],
  [  4,  6,  7,  1,  8,  2,  3,  5 ],
  [  5,  7,  6,  8,  1,  3,  2,  4 ],
  [  6,  4,  8,  2,  7,  1,  5,  3 ],
  [  7,  5,  1,  3,  6,  8,  4,  2 ],
  [  8,  3,  2,  5,  4,  7,  6,  1 ] ]
gap> Display(MultiplicationTable(FactorGroup(d8,z8)));
[ [  1,  2,  3,  4,  5,  6,  7,  8 ],
  [  2,  1,  5,  6,  3,  4,  8,  7 ],
  [  3,  8,  4,  7,  2,  5,  1,  6 ],
  [  4,  6,  7,  1,  8,  2,  3,  5 ],
  [  5,  7,  6,  8,  1,  3,  2,  4 ],
  [  6,  4,  8,  2,  7,  1,  5,  3 ],
  [  7,  5,  1,  3,  6,  8,  4,  2 ],
  [  8,  3,  2,  5,  4,  7,  6,  1 ] ]
gap> F:= FactorGroup(d8,z8);
Group([ f1, f2, f3 ])
gap> Elements(F);
[  of ..., f1, f2, f3, f1*f2, f1*f3, f2*f3, f1*f2*f3 ]
gap> F[1];
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `ELM_LIST' on 2 arguments 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> E:=Elements(F);
Variable: 'E' is read only
not in any function
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' after making it writable to continue
brk> quit;
gap> e:=Elements(F);
[  of ..., f1, f2, f3, f1*f2, f1*f3, f2*f3, f1*f2*f3 ]
gap> Order(e[2]);
2
gap> e[2]*e[3];
f1*f2
Section 8
gap> s3:=SymmetricGroup(3);
Sym( [ 1 .. 3 ] )
gap> f1:=GroupHomomorphismByImages(S3,S3,[(1,2,3),(1,3)],[(1,3,2),(1,2)]);
Variable: 'S3' must have a value

gap> f1:=GroupHomomorphismByImages(s3,s3,[(1,2,3),(1,3)],[(1,3,2),(1,2)]);
[ (1,2,3), (1,3) ] -> [ (1,3,2), (1,2) ]
gap> Image(f1,(2,3));
(2,3)
gap> Image(f1,(1,3));
(1,2)
gap> Image(f1,(1,2));
(1,3)
gap> Order(Image(f1));
6
gap> Kernel(f1);
Group(())
gap> f2:=GroupHomomorphismByImages(s3,s3,[(1,2,3),(1,3)],[(),(1,2)]);
[ (1,2,3), (1,3) ] -> [ (), (1,2) ]
gap> Order(Image(f2));
2
gap> Kernel(f2);
Group([ (1,2,3) ])
gap> f3:=GroupHomomorphismByImages(s3,s3,[(1,2,3),(1,3)],[(1,3),(1,2)]);
fail
gap> f3:=GroupHomomorphismByImages(s3,s3,[(1,2,3)],[(1,3,2)]);
fail
gap> LogTo();

Back to Home Page
 
 

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

<\body>