GroupTheory
SearchSmallGroups
search for small groups satisfying specified properties
Calling Sequence
Parameters
Description
Examples
Compatibility
SearchSmallGroups( spec, outopt, formopt )
spec
-
expression sequence of search parameters
outopt
(optional) an option of the form output = X, where X is one of "list" (the default), "iterator", or "count"
formopt
(optional) an option of the form form = X, where X is one of "id" (the default), "permgroup", or "fpgroup"
The SearchSmallGroups(spec) command searches Maple's small groups database for groups satisfying properties specified in a sequence spec of search parameters. The valid search parameters may be grouped into several classes. These are described in the sections below.
The output option controls the type of output produced by the SearchSmallGroups command, while the form option controls (depending upon the form selected) what form the content of that output has.
Use the output = X option, for which the default is the string "list", to control what the SearchSmallGroups command produces. By default (with output = "list"), a sequence of either identifiers or groups is returned. Specifying output = "iterator" causes SearchSmallGroups to instead return an iterator object which produces either identifiers or groups as you iterate over the object. The output = "count" option instructs the SearchSmallGroups command to return just the number of groups in the database that satisfy the search query indicated by spec. In this case, the form option has no effect, as the "form" of the output is necessarily just a non-negative integer.
Use the form = X option to control the form of the output from this command. By default, an expression sequence or iterator of IDs for the small groups database is returned. This is the same as specifying form = "id". To have an expression sequence of or iterator over groups, either permutation groups, or finitely presented groups, use either the form = "permgroup" or form = "fpgroup" options, respectively.
Note that the IDs returned in the default case are the IDs of the groups within the SmallGroups database. These may differ from the IDs for the same group if it happens to be present in another database, which has its own set of group IDs.
Boolean Search Parameters
Boolean search parameters p, such as abelian, can be specified in one of the forms p = true, p = false, or just p (which is equivalent to p = true). If the boolean search parameter p is true, then only groups satisfying the corresponding predicate are returned. If the boolean search parameter p is false, then only groups that do not satisfy the predicate are returned. Leaving a boolean search parameter unspecified causes the SearchSmallGroups command to return groups that do, and do not, satisfy the corresponding predicate.
The supported boolean search parameters are described in the following table.
cyclic
describes the class of cyclic groups
abelian
describes the class of Abelian groups
elementary
describes the class of elementary Abelian groups
homocyclic
describes the class of homocyclic groups
nilpotent
describes the class of nilpotent groups
hallpaige
describes the class of Hall-Paige groups
hamiltonian
describes the class of Hamiltonian groups
metacyclic
describes the class of metacyclic groups
metabelian
describes the class of metabelian groups
lagrangian
describes the class of Lagrangian (CLT) groups
clt
gclt
describes the class of GCLT groups
supersoluble
describes the class of supersoluble groups
supersolvable
sylowtower
describes the class of groups having a Sylow tower
orderedsylowtower
describes the class of groups having an ordered Sylow tower
soluble
describes the class of soluble groups
perfect
describes the class of perfect groups
perfectorderclasses
describes the class of groups with perfect order classes
complete
describes the class of complete groups
simple
describes the class of simple groups
almostsimple
describes the class of almost simple groups
indecomposable
describes the class of directly indecomposable groups
In most cases, for a boolean search parameter prop, there is a corresponding predicate whose name has the camel case form IsProp and the help page for the latter contains a definition for, and other information about, the property.
Numeric Search Parameters
Maple supports several search parameters that describe numeric invariants of finite groups. All have positive integral values. A numeric search parameter p may be given in the form p = n, for some specific value n, or by indicating a range, as in p = a .. b. In the former case, only groups for which the numeric parameter has the value n will be returned. In the case in which a range is specified, groups for which the numeric invariant lies within the indicate range (inclusive of its end-points) are returned.
The supported numeric search parameters are listed in the following table.
order
indicates the order (cardinality) of the group
generationrank
indicates the minimum number of generators of the group
exponent
indicates the exponent of the group
nilpotencyclass
indicates the class of a nilpotent group
derivedlength
indicates the length of the derived series of a soluble group
fittinglength
indicates the length of the lower Fitting series of a soluble group
frattinilength
indicates the length of the Frattini series of a group
compositionlength
indicates the length of a composition series of a group
chieflength
indicates the length of a chief series of a group
classnumber
indicates the number of conjugacy classes of the group
orderclassnumber
indicates the number of order classes of the group
elementordersum
indicates the sum of the orders of the group elements
maxelementorder
indicates the largest order of a group element
nsylow[p]
indicates the number of non-trivial Sylow p-subgroups
Note that the order search parameter corresponds to the command GroupOrder; the name Order is a Maple environment variable designating the working precision for power series calculations and is there not available for use with the GroupTheory package.
Note also that the index p of the nsylow[p] option must be a prime number. Only groups whose order is divisible by p are returned.
Subgroup and Quotient Group Search Parameters
Several subgroup search parameters are supported. These describe the isomorphism type of various subgroups or quotients of a group by specifying the Small Group ID (as returned by the IdentifySmallGroup command).
For a subgroup or quotient search parameter p, passing an equation of the form p = [ord,id] causes the SearchSmallGroups command to return only groups whose subgroup, or quotient group, corresponding to p are isomorphic to the small group ord/id to be returned. Passing an equation of the form p = ord causes the SearchSmallGroups command to return only groups whose subgroup, or quotient group, corresponding to p have order ord.
The following table describes the supported subgroup and quotient group search parameters.
center
specifies the center of a group
derivedsubgroup
specifies the derived, or commutator, subgroup of a group
fittingsubgroup
specifies the Fitting subgroup of a group
frattinisubgroup
specifies the Frattini subgroup of a group
socle
specifies the socle of a group
cosocle
specifies the cosocle of a group
hypercentre
specifies the hypercentre of a group
sylow[p]
specifies the Sylow p-subgroup of a group, where p is a prime number
derivedquotient
specifies the derived quotient G/[G,G]
centralquotient
specifies the central quotient G/Z(G)
frattiniquotient
specifies the Frattini quotient G/Fratt(G)
fittingquotient
specifies the Fitting quotient G/Fitt(G)
soclequotient
specifies the socle quotient G/Socle(G)
Note that the sylow[p] option is always used with a prime number index p.
with⁡GroupTheory:
Count the total number of groups in the database.
SearchSmallGroups⁡output=count
92804
Find all the nilpotent groups of order 24.
SearchSmallGroups⁡order=24,nilpotent
24,2,24,9,24,10,24,11,24,15
Find all the non-Abelian groups of order 10, as permutation groups.
SearchSmallGroups⁡order=10,abelian=false,form=permgroup
2,53,4,1,2,3,4,5
Find those finite groups in the database whose Sylow 2-subgroup is the cyclic group of order 4, and whose Sylow 3-subgroup is the small group 27/4.
SearchSmallGroups⁡sylow2=4,1,sylow3=27,4
108,9,108,14
Find the perfect groups of order at most 100.
SearchSmallGroups⁡order=1..100,perfect
1,1,60,5
Verify that there is no non-Abelian simple group with order less than 60. The NULL expression sequence as output indicates there are no groups in the database satisfying the indicated combination of properties.
SearchSmallGroups⁡simple,abelian=false,order<60
Another way to verify that there are no non-abelian simple groups with order less than 60 is to use the output = "count" option.
SearchSmallGroups⁡simple,abelian=false,order<60,output=count
0
Find all the non-Abelian simple groups in the database.
SearchSmallGroups⁡simple,abelian=false
60,5,168,42,360,118,504,156
Find the groups up to order 24 whose Sylow 2-subgroup has order 4.
SearchSmallGroups⁡order≤24,sylow2=4
4,1,4,2,12,1,12,2,12,3,12,4,12,5,20,1,20,2,20,3,20,4,20,5
Find the non-nilpotent groups of order 24 with perfect order classes.
SearchSmallGroups⁡order=24,perfectorderclasses,nilpotent=false
24,1,24,3,24,7
Find the perfect groups in the database that are not simple.
SearchSmallGroups⁡perfect,simple=false
1,1,120,5,336,114
Find the non-Abelian groups of order 8.
SearchSmallGroups⁡order=8,abelian=false
8,3,8,4
Show that neither of these occurs as the Frattini subgroup of any group in the database. (In fact, neither occurs as the Frattini subgroup of any finite group.)
SearchSmallGroups⁡frattinisubgroup=8,3
SearchSmallGroups⁡frattinisubgroup=8,4
Construct an iterator for the non-abelian groups of order 32; the form = "permgroup" option instructs SearchSmallGroups to construct an iterator yielding permutation groups rather than the default IDs.
it≔SearchSmallGroups⁡order=32,abelian=false,form=permgroup,output=iterator
it≔⟨Iterator for SmallGroups Query: "order = 32, abelian = false", with 44 results⟩
Use the constructed iterator to survey the nilpotency classes of these groups.
seq⁡NilpotencyClass⁡G,G=it
2,2,2,3,3,3,3,3,3,2,3,3,3,2,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,2,2,2
L≔SearchSmallGroups⁡maxelementorder=5:
map⁡irem,map2⁡op,1,L,5
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
seq⁡SearchSmallGroups⁡maxelementorder=i,output=count,i=2..10
8,18,31413,19,361,21,24625,182,149
Find the groups of order at most 32 whose Sylow 2-subgroup and Sylow 3-subgroup is normal. The nsylow[p] option describes the number of non-trivial Sylow p-subgroups and a Sylow p-subgroup is normal if there is only one Sylow p-subgroup.
SearchSmallGroups⁡order=1..32,nsylow2=1,nsylow3=1
6,2,12,2,12,5,18,2,18,5,24,2,24,9,24,10,24,11,24,15,30,4
Find the perfect, but non-simple groups in the database whose central quotient has order 168.
SearchSmallGroups⁡simple=false,perfect,centralquotient=168
336,114
Two ways to isolate the non-Abelian simple groups in the database are shown as follows
evalb⁡SearchSmallGroups⁡simple,abelian=false=SearchSmallGroups⁡simple,generationrank=2
true
The form = "count" option is particularly handy for developing visualizations depicting the relative frequency of groups satisfying particular properties.
Statistics:-PieChart⁡seq⁡i=SearchSmallGroups⁡fittinglength=i,output=count,i=1..3
plots:-display⁡Statistics:-PieChart⁡seq⁡i=SearchSmallGroups⁡derivedlength=i,output=count,i=1..5,annular=1,Statistics:-PieChart⁡seq⁡i=SearchSmallGroups⁡nilpotencyclass=i,output=count,i=1..7,annular=2,Statistics:-PieChart⁡seq⁡i=SearchSmallGroups⁡compositionlength=i,output=count,i=1..8,annular=3
The GroupTheory[SearchSmallGroups] command was introduced in Maple 2015.
For more information on Maple 2015 changes, see Updates in Maple 2015.
The spec parameter was updated in Maple 2019.
The form option was updated in Maple 2019.
See Also
GroupTheory[Center]
GroupTheory[DerivedLength]
GroupTheory[DerivedSubgroup]
GroupTheory[Exponent]
GroupTheory[FittingSubgroup]
GroupTheory[FrattiniSubgroup]
GroupTheory[GroupOrder]
GroupTheory[IdentifySmallGroup]
GroupTheory[IsAbelian]
GroupTheory[IsNilpotent]
GroupTheory[IsPerfect]
GroupTheory[IsSimple]
GroupTheory[IsSoluble]
GroupTheory[NilpotencyClass]
GroupTheory[SmallGroup]
Download Help Document