SearchSmallGroups - Maple Help

Home : Support : Online Help : Mathematics : Group Theory : SearchSmallGroups

GroupTheory

 SearchSmallGroups
 search for small groups satisfying specified properties

 Calling Sequence SearchSmallGroups( spec, outopt, formopt )

Parameters

 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"

Description

 • 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 describes the class of Lagrangian (CLT) groups gclt describes the class of GCLT groups supersoluble describes the class of supersoluble groups supersolvable describes the class of supersoluble groups 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 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 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.

 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.

Examples

 > $\mathrm{with}\left(\mathrm{GroupTheory}\right):$

Count the total number of groups in the database.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{form}'="count"\right)$
 ${92804}$ (1)

Find all the nilpotent groups of order $24$.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{order}'=24,'\mathrm{nilpotent}'\right)$
 $\left[{24}{,}{2}\right]{,}\left[{24}{,}{9}\right]{,}\left[{24}{,}{10}\right]{,}\left[{24}{,}{11}\right]{,}\left[{24}{,}{15}\right]$ (2)

Find all the non-Abelian groups of order $10$, as permutation groups.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{order}'=10,'\mathrm{abelian}'=\mathrm{false},'\mathrm{form}'="permgroup"\right)$
 $⟨\left({2}{,}{5}\right)\left({3}{,}{4}\right){,}\left({1}{,}{2}{,}{3}{,}{4}{,}{5}\right)⟩$ (3)

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.

 > $\mathrm{SearchSmallGroups}\left({\mathrm{sylow}}_{2}=\left[4,1\right],{\mathrm{sylow}}_{3}=\left[27,4\right]\right)$
 $\left[{108}{,}{9}\right]{,}\left[{108}{,}{14}\right]$ (4)

Find the perfect groups of order at most $100$.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{order}'=1..100,'\mathrm{perfect}'\right)$
 $\left[{1}{,}{1}\right]{,}\left[{60}{,}{5}\right]$ (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.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{simple}','\mathrm{abelian}'=\mathrm{false},'\mathrm{order}'<60\right)$

Another way to verify that there are no non-abelian simple groups with order less than $60$ is to use the output = "count" option.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{simple}','\mathrm{abelian}'=\mathrm{false},'\mathrm{order}'<60,'\mathrm{output}'="count"\right)$
 ${0}$ (6)

Find all the non-Abelian simple groups in the database.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{simple}','\mathrm{abelian}'=\mathrm{false}\right)$
 $\left[{60}{,}{5}\right]{,}\left[{168}{,}{42}\right]{,}\left[{360}{,}{118}\right]{,}\left[{504}{,}{156}\right]$ (7)

Find the groups up to order $24$ whose Sylow $2$-subgroup has order $4$.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{order}'=1..24,{'\mathrm{sylow}'}_{2}=4\right)$
 $\left[{4}{,}{1}\right]{,}\left[{4}{,}{2}\right]{,}\left[{12}{,}{1}\right]{,}\left[{12}{,}{2}\right]{,}\left[{12}{,}{3}\right]{,}\left[{12}{,}{4}\right]{,}\left[{12}{,}{5}\right]{,}\left[{20}{,}{1}\right]{,}\left[{20}{,}{2}\right]{,}\left[{20}{,}{3}\right]{,}\left[{20}{,}{4}\right]{,}\left[{20}{,}{5}\right]$ (8)

Find the perfect groups in the database that are not simple.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{perfect}','\mathrm{simple}'=\mathrm{false}\right)$
 $\left[{1}{,}{1}\right]{,}\left[{120}{,}{5}\right]{,}\left[{336}{,}{114}\right]$ (9)

Find the non-Abelian groups of order $8$.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{order}'=8,'\mathrm{abelian}'=\mathrm{false}\right)$
 $\left[{8}{,}{3}\right]{,}\left[{8}{,}{4}\right]$ (10)

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.

 > $\mathrm{it}≔\mathrm{SearchSmallGroups}\left('\mathrm{order}'=32,'\mathrm{abelian}'=\mathrm{false},'\mathrm{form}'="permgroup",'\mathrm{output}'="iterator"\right)$
 ${\mathrm{it}}{≔}{\mathrm{⟨Iterator for Small Groups Query: "order = 32, abelian = false", with 44 results⟩}}$ (11)

Use the constructed iterator to survey the nilpotency classes of these groups.

 > $\mathrm{seq}\left(\mathrm{NilpotencyClass}\left(G\right),G=\mathrm{it}\right)$
 ${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}$ (12)

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.)

 > $\mathrm{SearchSmallGroups}\left('\mathrm{frattinisubgroup}'=\left[8,3\right]\right)$
 > $\mathrm{SearchSmallGroups}\left('\mathrm{frattinisubgroup}'=\left[8,4\right]\right)$
 > $L≔\left[\mathrm{SearchSmallGroups}\right]\left('\mathrm{maxelementorder}'=5\right):$
 > $\mathrm{map}\left(\mathrm{irem},\mathrm{map2}\left(\mathrm{op},1,L\right),5\right)$
 $\left[{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}{,}{0}\right]$ (13)
 > $\mathrm{seq}\left(\mathrm{SearchSmallGroups}\left('\mathrm{maxelementorder}'=i,\mathrm{form}="count"\right),i=2..10\right)$
 ${8}{,}{18}{,}{31413}{,}{19}{,}{361}{,}{21}{,}{24625}{,}{182}{,}{149}$ (14)

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.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{order}'=1..32,{'\mathrm{nsylow}'}_{2}=1,{'\mathrm{nsylow}'}_{3}=1\right)$
 $\left[{6}{,}{2}\right]{,}\left[{12}{,}{2}\right]{,}\left[{12}{,}{5}\right]{,}\left[{18}{,}{2}\right]{,}\left[{18}{,}{5}\right]{,}\left[{24}{,}{2}\right]{,}\left[{24}{,}{9}\right]{,}\left[{24}{,}{10}\right]{,}\left[{24}{,}{11}\right]{,}\left[{24}{,}{15}\right]{,}\left[{30}{,}{4}\right]$ (15)

Find the perfect, but non-simple groups in the database whose central quotient has order 168.

 > $\mathrm{SearchSmallGroups}\left('\mathrm{simple}'=\mathrm{false},'\mathrm{perfect}','\mathrm{centralquotient}'=168\right)$
 $\left[{336}{,}{114}\right]$ (16)

Two ways to isolate the non-Abelian simple groups in the database are shown as follows

 > $\mathrm{evalb}\left(\mathrm{SearchSmallGroups}\left('\mathrm{simple}','\mathrm{abelian}'=\mathrm{false}\right)=\mathrm{SearchSmallGroups}\left('\mathrm{simple}','\mathrm{generationrank}'=2\right)\right)$
 ${\mathrm{true}}$ (17)

The form = "count" option is particularly handy for developing visualizations depicting the relative frequency of groups satisfying particular properties.

 > $\mathrm{Statistics}:-\mathrm{PieChart}\left(\left[\mathrm{seq}\right]\left(i=\mathrm{SearchSmallGroups}\left('\mathrm{fittinglength}'=i,'\mathrm{form}'="count"\right),i=1..3\right)\right)$
 > $\mathrm{plots}:-\mathrm{display}\left(\left[\mathrm{Statistics}:-\mathrm{PieChart}\left(\left[\mathrm{seq}\right]\left(i=\mathrm{SearchSmallGroups}\left('\mathrm{derivedlength}'=i,'\mathrm{form}'="count"\right),i=1..5\right),'\mathrm{annular}'=1\right),\mathrm{Statistics}:-\mathrm{PieChart}\left(\left[\mathrm{seq}\right]\left(i=\mathrm{SearchSmallGroups}\left('\mathrm{nilpotencyclass}'=i,'\mathrm{form}'="count"\right),i=1..7\right),'\mathrm{annular}'=2\right),\mathrm{Statistics}:-\mathrm{PieChart}\left(\left[\mathrm{seq}\right]\left(i=\mathrm{SearchSmallGroups}\left('\mathrm{compositionlength}'=i,'\mathrm{form}'="count"\right),i=1..8\right),'\mathrm{annular}'=3\right)\right]\right)$

Compatibility

 • The GroupTheory[SearchSmallGroups] command was introduced in Maple 2015.