Produce a sequence of groups of order pn satisfying the conditions
specified by the following parameters. The restrictions on the order
are n ≤7 or p=2 and n≤9.
Rank: SetEnum Default: {1, ... n}
All groups returned will have Frattini quotient rank in Rank.
This parameter may also be set to a single integer.
Class: SetEnum Default: {1, ... n}
All groups returned will have p-class in Class.
This parameter may also be set to a single integer.
Select: Program Default: true
The parameter must be set to a program returning either true or false
when given a p-group satisfying the above conditions.
All groups G returned will then satisfy Select(G) eq true.
Limit: RngIntElt Default: 0
If Limit is set to a positive number n, then
the program may end its search and return when there are at least n groups
found.
We search the groups of order 19
7 for specific examples.
There are, in total, 9380741 groups with this order.
We start with a search for those of rank 5, class 3, and exponent 19.
Since we do not set the
Limit parameter, we will get a sequence
containing all the examples.
> time Q := SearchPGroups(19, 7:Rank := 5, Class := 3,
> Select := func<G|IsPrime(Exponent(G))> );
Time: 0.050
> #Q;
4
> Q[1];
GrpPC of order 893871739 = 19^7
PC-Relations:
$.2^$.1 = $.2 * $.6,
$.6^$.1 = $.6 * $.7
This time we limit the number returned.
> time Q := SearchPGroups(19, 7:Rank := 4, Class := {3,4},
> Select := func<G|IsPrime(Exponent(G))>, Limit := 5);
Time: 13.090
> #Q;
5
> [pClass(G):G in Q];
[ 3, 3, 3, 3, 3 ]
> time Q4 := SearchPGroups(19, 7:Rank := 4, Class := 4,
> Select := func<G|IsPrime(Exponent(G))>, Limit := 5);
Time: 0.150
> #Q4;
6
Note that the limit is not always adhered to exactly.
We can also count the number of groups with our property.
> time CountPGroups(19, 7:Rank := 4, Class := {3,4},
> Select := func<G|IsPrime(Exponent(G))>);
Time: 334.720
43
> time CountPGroups(19, 7:Rank := 4, Class := 4,
> Select := func<G|IsPrime(Exponent(G))>);
10
Time: 0.310
[Next][Prev] [Right] [Left] [Up] [Index] [Root]