Untitled

> read
 


Maple interface to the QaoS databases
by Sebastian Freundt and Sebastian Pauli
 

(Typesetting:-mprintslash)([Qaos := ], [module () description  

[ClassGroup, ClassNumber, DefiningPolynomial, Degree, Discriminant, GaloisGroup, GroupOrder, IsAbelian, IsCyclic, IsMetaAbelian, IsNilpotent, IsPrimitive, IsSimple, IsSolvable, IsSuperSolvable, Length...
[ClassGroup, ClassNumber, DefiningPolynomial, Degree, Discriminant, GaloisGroup, GroupOrder, IsAbelian, IsCyclic, IsMetaAbelian, IsNilpotent, IsPrimitive, IsSimple, IsSolvable, IsSuperSolvable, Length...
[ClassGroup, ClassNumber, DefiningPolynomial, Degree, Discriminant, GaloisGroup, GroupOrder, IsAbelian, IsCyclic, IsMetaAbelian, IsNilpotent, IsPrimitive, IsSimple, IsSolvable, IsSuperSolvable, Length...
[ClassGroup, ClassNumber, DefiningPolynomial, Degree, Discriminant, GaloisGroup, GroupOrder, IsAbelian, IsCyclic, IsMetaAbelian, IsNilpotent, IsPrimitive, IsSimple, IsSolvable, IsSuperSolvable, Length...
 

> Describe(Qaos); 1
 


# Maple interface to the QaoS databases
module Qaos( )

   # QaosNumberField(query::string [,limit::integer])::list(qaosnumberfield)
   # QaosNumberField([limit::integer])::list(qaosnumberfield)
   #
 

   # Searches the KANT number field database in Berlin. Returns at most
   # 'limit' matches. The string 'query' is made up of terms of the form
   # invariant=value, where invariant is one of:
   #
   # degree or deg,
   # classnumber or classnum or class,
   # real signature or sig-real or rsig,
   # imaginary signature or sig-im or isig,
   # discriminant or disc,
   # regulator or reg, or
   # galoisgroup or galgrp.
   #
   # If value is a number then >, <, >=,, <= or <> can be used instead of =.
   # You can omit the relation if you want it to be =. The Galois group may be
   # enclosed in single quotes, e.g. galoisgroup='S5' or galgrp is 's5'.
   # Several terms are implied to be connected by AND, e.g. degree=3 cls 2
   # |disc| <= 9876.
   #
   # Called without an argument NumberFieldQuery returns more fields matching
   # the previous search query.
   #
   # The procedure DefiningPolynomial returns a defining polynomial of a
   # field. The invariants of the returned fields can be accessed withh the
   # procedure: ClassGroup, ClassNumber, Degree, Discriminant, GaloisGroup,
   # Regulator, Signature
   #
   # Properties of the Galois group can be obtained with the procedures:
   # IsAbelian, IsMetaAbelian, IsSimple, IsSolvable, IsSuperSolvable,
   # IsCyclic, IsPrimitive, IsNilpotent
   #
   # You must have 'curl' installed and properly configured in order to use
   # the database.
   QaosNumberField( )

   # The defining polynomial of a number field from the KANT database.
   DefiningPolynomial( q::qaosnumberfield )

   # The regulator of a number field from the KANT database.
   Regulator( q::qaosnumberfield )

   # A name of the Galois group of a number field from the KANT database.
   GaloisGroup( q::qaosnumberfield )

   # The signature [r_1,r_2] of a number field from the KANT database.
   Signature( q::qaosnumberfield )

   Degree( )

   # The discriminant of a number field from the KANT database.
   Discriminant( q::qaosnumberfield )

   # The class number of a number field from the KANT database.
   ClassNumber( q::qaosnumberfield )

   # The class group of a number field from the KANT database.
   ClassGroup( q::qaosnumberfield )

   # QaosTransitiveGroup(query::string[,limit::integer])::list(qaostransitivegroup)
   # QaosTransitiveGroup([limit::integer])::list(qaostransitivegroup)
   #
   # Searches the QaoS transitive group database in Berlin. Returns at most
   # 'limit' matches. The string 'query' is made up of terms of the form
   # invariant=value, where invariant is one of:
   #
   # Keywords with integer values, Syntax: keyword integer
   #
   # d, deg, degr, degree: The degree of the transitive group
   # o, ord, order: The order of the transitive group
   # of, ord fac, order factor: A factor of the order of the transitive group
   # n, num, numb: The number of the transitive group in the tn nomenclature
   # csl, compser len, compseries length: The length of the composition series
   # lcsl, lcentser len, lowercentralseries length: The length of the lower
   # central series
   #
   # Keywords with string values, Syntax: keyword 'string'
   #
   # name: The name of the transitive group, either a trivial name or a name
   # in the tn nomenclature
   #
   # Keywords with boolean values, Syntax: keyword | not keyword
   #
   # a ab abel abelian: The abelian property of the group
   # ma metab metabel metabelian: The metabelian property of the group
   # c cyc cyclic: The cyclic property of the group
   # p pr prim primitive: The primitive property of the group
   # si sim simp simple: The simple property of the group
   # s sol solv solvable: The solvable property of the group
   # ss supsol supsolv supersolvable: The supersolvable property of the group
   # np nilp nilpot nilpotent: The nilpotent property of the group
   #
   # If value is a number then >, <, >=, <= or != can be used instead of =.
   # You can omit the relation if you want it to be =.
   #
   # Called without an argument QaosTransitiveGroup returns more groups
   # matching the previous search query.
   #
   # The procedure PermutationGroup converts groups from the database to
   # permutation groups. The invariants of the returned groups can be accessed
   # withh the procedure: GroupOrder, IsAbelian, IsMetaAbelian, IsSimple,
   # IsSolvable, IsSuperSolvable, IsCyclic, IsPrimitive, IsNilpotent,
   # TransitiveGroupIdentification, LengthCompositionSeries.
   #
   # You must have 'curl' installed and properly configured in order to use
   # the database.
   QaosTransitiveGroup( )

   # Convert a transitive group from the QaoS database into a permutation
   # group.
   PermutationGroup( q::qaostransitivegroup )

   GroupOrder( q::qaostransitivegroup )

   IsAbelian( )

   IsMetaAbelian( )

   IsSimple( )

   IsSolvable( )

   IsSuperSolvable( )

   IsCyclic( )

   IsPrimitive( )

   IsNilpotent( )

   LengthCompositionSeries( q::qaostransitivegroup )

   TransitiveGroupIdentification( q::qaostransitivegroup )

   LengthLowerCentralSeries( q::qaostransitivegroup )

 

> L := QaosNumberField(
 

(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
(Typesetting:-mprintslash)([L := [`Number field defined by`, X^5+X^4+2*X^2+4*X+1, `Number field defined by`, X^5+4*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2+6*X+1, `Number field defined by`,...
 

> seq(GaloisGroup(i), `in`(i, L)); 1
 

S5 

> seq(Discriminant(i), `in`(i, L)); 1
 

41381, 48917, 52612, 61508, 61877, 64261, 64665, 73156, 78557, 79677 

> M := QaosNumberField(); 1
 

(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
(Typesetting:-mprintslash)([M := [`Number field defined by`, X^5+X^4+3*X^3+6*X^2+3*X+1, `Number field defined by`, X^5+5*X^3+X^2-2*X-1, `Number field defined by`, X^5+2*X^4-2*X^3+X^2+4*X+4, `Number fi...
 

> G := QaosTransitiveGroup(
 

(Typesetting:-mprintslash)([G := [`transitive group`,
(Typesetting:-mprintslash)([G := [`transitive group`,
(Typesetting:-mprintslash)([G := [`transitive group`,
 

> seq(IsAbelian(g), `in`(g, G)); 1
 

true, false, false, false, false, false, false, false 

> P := PermutationGroup(G[1]); 1
 

(Typesetting:-mprintslash)([P := permgroup(29, {[[1, 2, 3, 7, 4, 24, 8, 14, 5, 12, 25, 27, 9, 20, 15, 29, 6, 23, 13, 11, 26, 19, 28, 22, 10, 18, 21, 17, 16]]})], [permgroup(29, {[[1, 2, 3, 7, 4, 24, 8...
(Typesetting:-mprintslash)([P := permgroup(29, {[[1, 2, 3, 7, 4, 24, 8, 14, 5, 12, 25, 27, 9, 20, 15, 29, 6, 23, 13, 11, 26, 19, 28, 22, 10, 18, 21, 17, 16]]})], [permgroup(29, {[[1, 2, 3, 7, 4, 24, 8...
 

> group[grouporder](P); 1
 

29 

>