search for perfect groups satisfying specified properties
SearchPerfectGroups( spec, formopt, outopt )
expression sequence of search parameters
(optional) an option of the form form = X, where X is one of "id" (the default), "permgroup", "fpgroup"
(optional) an option of the form output = X, where X is one of "list" (the default), "iterator", or "count"
The SearchPerfectGroups(spec) command searches Maple's database of perfect groups for groups satisfying properties specified in a sequence spec of search parameters. The valid search parameters may be grouped into several classes according to the type of property to which they correspond. These are described in the subsections below.
Use the form = X option to control the form of the output from this command. By default, an expression sequence of IDs for the PerfectGroups database is returned. This is the same as specifying form = "id". To have an expression sequence of groups, either permutation groups, or finitely presented groups, use either the form = "permgroup" or form = "fpgroup" options, respectively.
The output = X option controls the type of output produced by the SearchPerfectGroups command. The default output = "list" option causes SearchPerfectGroups to return an expression sequence of outputs. Alternatively, use the output = "iterator" option have SearchPerfectGroups instead return an iterator object that you can use to iterate over the query results one at a time. This is mainly useful in conjunction with the form = "permgroup" option or the form = "fpgroup" option. Finally, the output = "count" option causes SearchPerfectGroups to return just the number of groups in the database satisfying the constraints implied by the search parameters.
Note that the IDs returned in the default case are the IDs of the groups within the PerfectGroups database. These may differ from the IDs for the same group if it happens to be present in another database, such as the SmallGroups database, which has its own set of group IDs.
Boolean Search Parameters
Boolean search parameters p, such as simple, 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 SearchPerfectGroups 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 simple groups
describes the class of quasi-simple groups
describes the class of directly indecomposable groups
describes the class of Frobenius groups
describes the class of groups with perfect order classes
describes the class of complete groups
Numeric Search Parameters
Maple supports search parameters that describe numeric invariants of finite groups. All have non-negative (typically 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. In addition, inequalities of the form p < n (p > n) or p <= n (p >= n) are supported.
The supported numeric search parameters are listed in the following table.
indicates the order (cardinality) of the group
indicates the number of conjugacy classes of the group
indicates the number of composition factors of the group
indicates the degree of the permutation representation stored in the perfect groups database
indicates the sum of the orders of the elements of the group
indicates the largest among the orders of the elements of the group
Subgroup Group Search Parameters
A subgroup of a perfect group is typically not perfect. Therefore, subgroups of perfect groups are indicated by using their ID from the database of small groups.
Several subgroup search parameters are supported. These describe the isomorphism type of various subgroups 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 search parameters.
specifies the SmallGroup ID (or order) of the center of a group
specifies the SmallGroup ID (or order) of the Fitting subgroup of a group
specifies the SmallGroup ID (or order) of the socle of a group
It is important to understand that the option values for subgroups are the IDs within the small groups database, while the IDs returned by the SearchPerfectGroups command are the IDs of groups within the perfect groups database.
Quotient Group Search Parameters
Quotient groups of perfect groups are perfect so, unlike subgroups, quotient groups are specified by their IDs in the perfect groups database.
specifies the PerfectGroup ID (or order) of the central quotient of a group
specifies the PerfectGroup ID (or order) of the Fitting quotient of a group
Count the total number of groups in the database.
Find the quasisimple perfect groups up to order 500 that are not simple.
Find the quasisimple perfect groups up to order 500 that are not simple, returned as finitely presented groups.
Find the quasisimple perfect groups up to order 500 that are not simple, returned as permutation groups.
Count the number of non-simple, quasisimple perfect groups in the database.
Create an iterator for those groups
it ≔ SearchPerfectGroups⁡'simple'=false,'quasisimple','output'=iterator,'form'=permgroup
it≔⟨Iterator for Perfect Groups Query: "simple = false, quasisimple", with 54 results⟩
Use the iterator to locate an example whose center has odd order.
forid,Ginitdot ≔ GroupOrder⁡Center⁡G;iftype⁡t,'odd'thenprint⁡id;breakend ifend do:
Find the quasi-simple perfect groups in the database whose center has order equal to 4.
Find the quasi-simple perfect groups in the database whose center is isomorphic to SmallGroup( 4,2 ).
Take care to recognize the difference between the ID of a group in the perfect groups database and the (normally different!) ID in the small groups database when a group is present in both databases.
For example, the alternating group of degree 5 has ID [ 60, 5 ] in the database of small groups (it is the fifth group of order 60) , but ID [60, 1] in the perfect groups database (it is the first perfect group of order 60).
The GroupTheory[SearchPerfectGroups] command was introduced in Maple 2019.
For more information on Maple 2019 changes, see Updates in Maple 2019.
The GroupTheory[SearchPerfectGroups] command was updated in Maple 2020.
The output option was introduced in Maple 2022.
For more information on Maple 2022 changes, see Updates in Maple 2022.
Download Help Document