search for small groups satisfying specified properties
SearchSmallGroups( spec, outopt, formopt )
expression sequence of search parameters
(optional) an option of the form output = X, where X is one of "list" (the default), "iterator", or "count"
(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.
describes the class of cyclic groups
describes the class of Abelian groups
describes the class of elementary Abelian groups
describes the class of homocyclic groups
describes the class of nilpotent groups
describes the class of Hall-Paige groups
describes the class of Hamiltonian groups
describes the class of metacyclic groups
describes the class of metabelian groups
describes the class of Lagrangian (CLT) groups
describes the class of GCLT groups
describes the class of supersoluble groups
describes the class of groups having a Sylow tower
describes the class of groups having an ordered Sylow tower
describes the class of soluble groups
describes the class of perfect groups
describes the class of complete groups
describes the class of simple groups
describes the class of almost simple groups
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.
indicates the order (cardinality) of the group
indicates the minimum number of generators of the group
indicates the exponent of the group
indicates the class of a nilpotent group
indicates the length of the derived series of a soluble group
indicates the length of the lower Fitting series of a soluble group
indicates the length of the Frattini series of a group
indicates the length of a composition series of a group
indicates the length of a chief series of a group
indicates the number of conjugacy classes of the group
indicates the number of order classes of the group
indicates the sum of the orders of the group elements
indicates the largest order of a group element
indicates the number of 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.
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.
specifies the center of a group
specifies the derived, or commutator, subgroup of a group
specifies the Fitting subgroup of a group
specifies the Frattini subgroup of a group
specifies the socle of a group
specifies the cosocle of a group
specifies the hypercentre of a group
specifies the Sylow p-subgroup of a group, where p is a prime number
specifies the derived quotient G/[G,G]
specifies the central quotient G/Z(G)
specifies the Frattini quotient G/Fratt(G)
specifies the Fitting quotient G/Fitt(G)
specifies the socle quotient G/Socle(G)
Note that the sylow[p] option is always used with a prime number index p.
Count the total number of groups in the database.
Find all the nilpotent groups of order 24.
Find all the non-Abelian groups of order 10, as permutation groups.
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.
Find the perfect groups of order at most 100.
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.
Another way to verify that there are no non-abelian simple groups with order less than 60 is to use the output = "count" option.
Find all the non-Abelian simple groups in the database.
Find the groups up to order 24 whose Sylow 2-subgroup has order 4.
Find the perfect groups in the database that are not simple.
Find the non-Abelian groups of order 8.
Construct an iterator for the non-abelian groups of order 32; the form = "permgroup" option instructs SearchSmallGroups to construt an iterator yielding permutation groups rather than the default IDs.
it ≔ SearchSmallGroups⁡'order'=32,'abelian'=false,'form'=permgroup,'output'=iterator
it≔⟨Iterator for Small Groups Query: "order = 32, abelian = false", with 44 results⟩
Use the constructed iterator to survey the nilpotency classes of these groups.
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.)
L ≔ SearchSmallGroups⁡'maxelementorder'=5:
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 Sylow p-subgroups and a Sylow p-subgroup is normal if there is only one Sylow p-subgroup.
Find the perfect, but non-simple groups in the database whose central quotient has order 168.
Two ways to isolate the non-Abelian simple groups in the database are shown as follows
The form = "count" option is particularly handy for developing visualizations depicting the relative frequency of groups satisfying particular properties.
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.
Download Help Document