
gap> V:=GF(3)^2; ( GF(3)^2 ) gap> Elements(V); [ [ 0*Z(3), 0*Z(3) ], [ 0*Z(3), Z(3)^0 ], [ 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3) ], [ Z(3)^0, Z(3)^0 ], [ Z(3)^0, Z(3) ], [ Z(3), 0*Z(3) ], [ Z(3), Z(3)^0 ], [ Z(3), Z(3) ] ] gap> D:=Subspaces(V,1); Subspaces( ( GF(3)^2 ), 1 ) gap> e:=Elements(D); [ <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)> ] gap> Elements(e[1]); [ [ 0*Z(3), 0*Z(3) ], [ 0*Z(3), Z(3)^0 ], [ 0*Z(3), Z(3) ] ] gap> Elements(e[2]); [ [ 0*Z(3), 0*Z(3) ], [ Z(3)^0, 0*Z(3) ], [ Z(3), 0*Z(3) ] ] gap> Elements(e[3]); [ [ 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3)^0 ], [ Z(3), Z(3) ] ] gap> Elements(e[4]); [ [ 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3) ], [ Z(3), Z(3)^0 ] ] gap> Size(Subspaces(V,1)); 4 gap> Display(Elements(V)); . . . 1 . 2 1 . 1 1 1 2 2 . 2 1 2 2 gap> V:=GF(3)^3; ( GF(3)^3 ) gap> Display(Elements(V)); . . . . . 1 . . 2 . 1 . . 1 1 . 1 2 . 2 . . 2 1 . 2 2 1 . . 1 . 1 1 . 2 1 1 . 1 1 1 1 1 2 1 2 . 1 2 1 1 2 2 2 . . 2 . 1 2 . 2 2 1 . 2 1 1 2 1 2 2 2 . 2 2 1 2 2 2 gap> D:=Subspaces(V,1); Subspaces( ( GF(3)^3 ), 1 ) gap> Size(D); 13 gap> e:=Elements(D); [ <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)>, <vector space of dimension 1 over GF(3)> ] gap> List([1..13],x->Elements(e[x])); [ [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ 0*Z(3), 0*Z(3), Z(3)^0 ], [ 0*Z(3), 0*Z(3), Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ 0*Z(3), Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3), 0*Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ 0*Z(3), Z(3)^0, Z(3)^0 ], [ 0*Z(3), Z(3), Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ 0*Z(3), Z(3)^0, Z(3) ], [ 0*Z(3), Z(3), Z(3)^0 ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, 0*Z(3), 0*Z(3) ], [ Z(3), 0*Z(3), 0*Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, 0*Z(3), Z(3)^0 ], [ Z(3), 0*Z(3), Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, 0*Z(3), Z(3) ], [ Z(3), 0*Z(3), Z(3)^0 ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3)^0, 0*Z(3) ], [ Z(3), Z(3), 0*Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3)^0, Z(3)^0 ], [ Z(3), Z(3), Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3)^0, Z(3) ], [ Z(3), Z(3), Z(3)^0 ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3), 0*Z(3) ], [ Z(3), Z(3)^0, 0*Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3), Z(3)^0 ], [ Z(3), Z(3)^0, Z(3) ] ], [ [ 0*Z(3), 0*Z(3), 0*Z(3) ], [ Z(3)^0, Z(3), Z(3) ], [ Z(3), Z(3)^0, Z(3)^0 ] ] ] gap> Display(Elements(D)); [ VectorSpace( GF(3), [ [ 0*Z(3), 0*Z(3), Z(3)^0 ] ] ), VectorSpace( GF(3), [ [ 0*Z(3), Z(3)^0, 0*Z(3) ] ] ), VectorSpace( GF(3), [ [ 0*Z(3), Z(3)^0, Z(3)^0 ] ] ), VectorSpace( GF(3), [ [ 0*Z(3), Z(3)^0, Z(3) ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, 0*Z(3), 0*Z(3) ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, 0*Z(3), Z(3)^0 ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, 0*Z(3), Z(3) ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, Z(3)^0, 0*Z(3) ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, Z(3)^0, Z(3)^0 ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, Z(3)^0, Z(3) ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, Z(3), 0*Z(3) ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, Z(3), Z(3)^0 ] ] ), VectorSpace( GF(3), [ [ Z(3)^0, Z(3), Z(3) ] ] ) ] gap> V:=GF(2)^3; ( GF(2)^3 ) gap> D:=Subspaces(V,1); Subspaces( ( GF(2)^3 ), 1 ) gap> Size(D); 7 gap> V:=GF(5)^3; ( GF(5)^3 ) gap> D:=Subspaces(V,1); Subspaces( ( GF(5)^3 ), 1 ) gap> Size(D); 31 gap> V:=GF(7)^3; ( GF(7)^3 ) gap> D:=Subspaces(V,1); Subspaces( ( GF(7)^3 ), 1 ) gap> Size(D); 57 gap> V:=GF(11)^3; ( GF(11)^3 ) gap> D:=Subspaces(V,1); Subspaces( ( GF(11)^3 ), 1 ) gap> Size(D); 133 gap> V:=GF(3)^3; ( GF(3)^3 ) gap> D:=Subspaces(V,2); Subspaces( ( GF(3)^3 ), 2 ) gap> Size(D); 13 gap> V:=GF(5)^3; ( GF(5)^3 ) gap> D:=Subspaces(V,2); Subspaces( ( GF(5)^3 ), 2 ) gap> Size(D); 31 gap> GF(5); GF(5) gap> F:= GF(2^4); GF(2^4) gap> Elements(F); [ 0*Z(2), Z(2)^0, Z(2^2), Z(2^2)^2, Z(2^4), Z(2^4)^2, Z(2^4)^3, Z(2^4)^4, Z(2^4)^6, Z(2^4)^7, Z(2^4)^8, Z(2^4)^9, Z(2^4)^11, Z(2^4)^12, Z(2^4)^13, Z(2^4)^14 ] gap> Order(Z(2^2)); 3 gap> DegreeFFE(Z(2^4)); 4 gap> DegreeFFE(Z(2^4)^2); 4 gap> Order(Z(2^6)); 63 gap> Order(Z(2^2)^3); 1 gap> Order(Z(2^2)); 3 gap> DegreeFFE(Z(2^6)); 6 gap> DegreeFFE(Z(2^2)^3); 1 gap> x:= X(GF(2),"x"); x gap> f:= x^4+x+1; Z(2)^0+x+x^4 gap> IsIrreducible(f); true gap> F:= AlgebraicExtension(GF(2),f); <field of size 16> gap> Elements(F); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 3rd choice method found for `PrimitiveRoot' on 1 arguments called from PrimitiveRoot( F ) called from Basis( V ) called from AsSSortedList( coll ) 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> g:= x^3+x^2+1; Z(2)^0+x^2+x^3 gap> IsIrreducbile(g); Variable: 'IsIrreducbile' must have a value gap> IsIrreducible(g); true gap> F:= AlgebraicExtension(GF(2),g); <field of size 8> gap> DegreeFFE(Z(2^4)^1); DegreeFFE(Z(2^4)^2); Degree(Z(2^4)^3); 4 4 Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `Degree' 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> DegreeFFE(Z(2^4)^1); DegreeFFE(Z(2^4)^2); DegreeFFE(Z(2^4)^3); 4 4 4 gap> DegreeFFE(Z(2^4)^6); DegreeFFE(Z(2^4)^5); DegreeFFE(Z(2^4)^4); 4 2 4 gap> DegreeFFE(Z(2^4)^7); DegreeFFE(Z(2^4)^8); DegreeFFE(Z(2^4)^9); 4 4 4 gap> DegreeFFE(Z(2^4)^7); DegreeFFE(Z(2^4)^8); DegreeFFE(Z(2^4)^10); 4 4 2 gap> Order(Z(2^4)^1); Order(Z(2^4)^2); Order(Z(2^4)^3); 15 15 5 gap> Order(Z(2^4)^6); Order(Z(2^4)^5); Order(Z(2^4)^4); 5 3 15 gap> Order(Z(2^4)^7); Order(Z(2^4)^8); Order(Z(2^4)^9); 15 15 5 gap> Order(Z(2^4)^7); Order(Z(2^4)^8); Order(Z(2^4)^10); 15 15 3 gap> x:= X(GF(3),"x"); x gap> Factors(x^9-x); [ x, Z(3)^0+x, -Z(3)^0+x, Z(3)^0+x^2, -Z(3)^0+x+x^2, -Z(3)^0-x+x^2 ] gap> Factors(x^27-x); [ x, Z(3)^0+x, -Z(3)^0+x, Z(3)^0-x+x^3, -Z(3)^0-x+x^3, -Z(3)^0+x^2+x^3, -Z(3)^0+x+x^2+x^3, Z(3)^0-x+x^2+x^3, Z(3)^0-x^2+x^3, Z(3)^0+x-x^2+x^3, -Z(3)^0-x-x^2+x^3 ] gap> Factors(x^81-x); [ x, Z(3)^0+x, -Z(3)^0+x, Z(3)^0+x^2, -Z(3)^0+x+x^2, -Z(3)^0-x+x^2, -Z(3)^0+x+x^4, -Z(3)^0-x+x^4, -Z(3)^0+x^2+x^4, Z(3)^0+x+x^2+x^4, Z(3)^0-x+x^2+x^4, -Z(3)^0-x^2+x^4, -Z(3)^0+x^3+x^4, Z(3)^0-x+x^3+x^4, Z(3)^0+x^2+x^3+x^4, Z(3)^0+x+x^2+x^3+x^4, -Z(3)^0-x+x^2+x^3+x^4, -Z(3)^0-x-x^2+x^3+x^4, -Z(3)^0-x^3+x^4, Z(3)^0+x-x^3+x^4, Z(3)^0+x^2-x^3+x^4, -Z(3)^0+x+x^2-x^3+x^4, Z(3)^0-x+x^2-x^3+x^4, -Z(3)^0+x-x^2-x^3+x^4 ] gap> f:= x^3-x+1; Z(3)^0-x+x^3 gap> IsIrreducible(f); true gap> F:= AlgebraicExtension(GF(3),f); <field of size 27> gap> H:= Display(F); Field( [ (a) ] ) Function call: <func> must return a value gap> Elements(H); Variable: 'H' must have a value gap> r:= PrimitiveElements(F); Variable: 'PrimitiveElements' must have a value gap> r:= PrimitiveElement(F); (a) gap> r^4; (Z(3)*a+a^2) gap> KnownAttributesOfObject(F); [ "Size", "ZeroImmutable", "OneImmutable", "Characteristic", "LeftActingDomain", "MultiplicativeNeutralElement", "Dimension", "DefiningPolynomial", "DegreeOverPrimeField", "GeneratorsOfDivisionRing", "PrimitiveElement", "RootOfDefiningPolynomial" ] gap> LogTo();Back to Home Page
This PREP workshop is made possible by the NSF grant DUE: 0089005