
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