
Project of Anne and Gordon W.
gap> Read("EllipticCurveFunctions");
gap> goodEllipticCurve(2,4,7);
true
gap> ec:=makeEllipticCurve(2,4,7);
[ [ ], [ 0*Z(7), Z(7)^2 ], [ 0*Z(7), Z(7)^5 ], [ Z(7)^0, 0*Z(7) ], [ Z(7), Z(7) ], [ Z(7), Z(7)^4 ], [ Z(7)^2, Z(7) ],
[ Z(7)^2, Z(7)^4 ], [ Z(7)^3, Z(7)^0 ], [ Z(7)^3, Z(7)^3 ] ]
gap> ecList(ec);
[ [ ], [ 0, 2 ], [ 0, 5 ], [ 1, 0 ], [ 3, 3 ], [ 3, 4 ], [ 2, 3 ], [ 2, 4 ], [ 6, 1 ], [ 6, 6 ] ]
gap> ecg:= ecGroupMake(2,4,7);
gap> ecPlus([3,3], [6,1], 2,4,7);
[ 0, 2 ]
gap> ecScalarMult(34,[9,5], 1,0,23))
Syntax error: ; expected
ecScalarMult(34,[9,5], 1,0,23))
^
gap> ;
gap> ecScalarMult(34,[9,5], 1,0,23);
[ 18, 13 ]
gap> ecScalarMult(83,[9,5], 1,0,23);
[ 9, 18 ]
gap> ecScalarMult(83,[18,13], 1,0,23);
[ 18, 10 ]
gap> ecScalarMult(83,[9,5], 1,0,23);
[ 9, 18 ]
gap> ecScalarMult(34,[9,18], 1,0,23);
[ 18, 10 ]
Section 19: Gaussian Integers
gap> R:= GaussianIntegers;
GaussianIntegers
gap> i= E(4);
Variable: 'i' must have a value
gap> i:= E(4);
E(4)
gap> i^2;
-1
gap> Factors(6);
[ 2, 3 ]
gap> Factors(R,6);
[ 1-E(4), 1+E(4), 3 ]
gap> Factors(R,2); 2 mod 4;
[ 1-E(4), 1+E(4) ]
2
gap> Factors(R,3); 3 mod 4;
[ 3 ]
3
gap> Factors(R,5); 5 mod 4;
[ 2-E(4), 2+E(4) ]
1
gap>
gap> Factors(R,7); 7 mod 4;
[ 7 ]
3
gap> Factors(R,11); 11 mod 4;
[ 11 ]
3
gap> Factors(R,13); 13 mod 4;
[ 3-2*E(4), 3+2*E(4) ]
1
gap> Factors(R,17); 17 mod 4;
[ 4-E(4), 4+E(4) ]
1
gap> Factors(R,23); 23 mod 4;
[ 23 ]
3
gap> Factors(R,29); 29 mod 4;
[ 5-2*E(4), 5+2*E(4) ]
1
Section 21: Orbits and Stabilizers
gap> G:= SymmetricGroup(8); Sym( [ 1 .. 8 ] ) gap> H:= Subgroup(G, [(1,2,3)(4,5,6), (7,8)]); Group([ (1,2,3)(4,5,6), (7,8) ]) gap> Elements(H); [ (), (7,8), (1,2,3)(4,5,6), (1,2,3)(4,5,6)(7,8), (1,3,2)(4,6,5), (1,3,2)(4,6,5)(7,8) ] gap> Order(H,3); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `Order' 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> Orbit(H,3); [ 1, 3, 2 ] gap> Stabilizer(H,3); Group([ (7,8) ]) gap> Elements(Stabilizer(H,3)); [ (), (7,8) ] gap> g:= DihedralGroup(IsPermGroup,20); Group([ (1,2,3,4,5,6,7,8,9,10), (2,10)(3,9)(4,8)(5,7) ]) gap> e:= [1..10]; [ 1 .. 10 ] gap> List(e, x -> Size(Orbit(g,x))); [ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 ] gap> List(e, x -> Size(Stabilizer(g,x))); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ] gap> g:= DihedralGroup(IsPermGroup,100); gap> e:= [1..50]; [ 1 .. 50 ] gap> List(e, x -> Size(Orbit(g,x))); [ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 ] gap> List(e, x -> Size(Stabilizer(g,x))); [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ] gap> g:= SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> e:= [1..4]; [ 1 .. 4 ] gap> List(e, x -> Size(Orbit(g,x))); [ 4, 4, 4, 4 ] gap> List(e, x -> Size(Stabilizer(g,x))); [ 6, 6, 6, 6 ]
Section 20: Solvable Groups
gap> S:= SymmetricGroup(3);
Sym( [ 1 .. 3 ] )
gap> DerivedSeries(S);
[ Sym( [ 1 .. 3 ] ), Group([ (1,3,2) ]), Group(()) ]
gap> S:= SymmetricGroup(5);
Sym( [ 1 .. 5 ] )
gap> DerivedSeries(S);
[ Sym( [ 1 .. 5 ] ), Group([ (1,3,2), (2,4,3), (2,3)(4,5) ]) ]
gap> IsSolvable(S);
false
gap> d5:= DihedralGroup(IsPermGroup,10);
Group([ (1,2,3,4,5), (2,5)(3,4) ])
gap> DerivedSeries(d5);
[ Group([ (1,2,3,4,5), (2,5)(3,4) ]), Group([ (1,3,5,2,4) ]), Group(()) ]
gap> d30:= DihedralGroup(IsPermGroup,60);
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), (2,30)(3,29)(4,28)(5,27)(6,26)(7,25)(8,24)(9,23)(10,22)(11,21)(12,20)(13,
19)(14,18)(15,17) ])
gap> DerivedSeries(d30);
[ 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), (2,30)(3,29)(4,28)(5,27)(6,26)(7,25)(8,24)(9,23)(10,22)(11,21)(12,
20)(13,19)(14,18)(15,17) ]),
Group([ (1,3,5,7,9,11,13,15,17,19,21,23,25,27,29)(2,4,6,8,10,12,14,16,18,20,22,24,
26,28,30), (1,7,13,19,25)(2,8,14,20,26)(3,9,15,21,27)(4,10,16,22,28)(5,11,17,
23,29)(6,12,18,24,30) ]), Group(()) ]
gap> d4:= DihedralGroup(IsPermGroup,8);
Group([ (1,2,3,4), (2,4) ])
gap> d8:= DihedralGroup(IsPermGroup,16);
Group([ (1,2,3,4,5,6,7,8), (2,8)(3,7)(4,6) ])
gap> DerivedSeries(DirectProduct(d4,d8));
[ Group([ (1,2,3,4), (2,4), (5,6,7,8,9,10,11,12), (6,12)(7,11)(8,10) ]),
Group([ (5,7,9,11)(6,8,10,12), (5,9)(6,10)(7,11)(8,12), (1,3)(2,4) ]), Group(()) ]
gap> IsSolvable(DirectProduct(d4,d8));
true
Back to Home Page
This PREP workshop is made possible by the NSF grant DUE: 0341481