Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ This file describes changes in the smallgrp package.

# 1.6dev

- Require GAP 4.12
- Selection by `IsAbelian`, `IsNilpotentGroup`, `IsSupersolvableGroup`,
`IsSolvableGroup`, `RankPGroup` and `PClassPGroup` now avoids
constructing the groups for most orders which had no precomputed data,
Expand Down
2 changes: 1 addition & 1 deletion PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ PackageDoc := rec(
),

Dependencies := rec(
GAP := ">= 4.9",
GAP := ">= 4.12",
NeededOtherPackages := [ ],
SuggestedOtherPackages := [ ],
ExternalConditions := [ ],
Expand Down
74 changes: 74 additions & 0 deletions gap/small.gi
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,80 @@ SMALL_GROUPS_PROPERTY_IDS := function( size, inforec, funcs, vals )
return rec( ids := ids, funcs := evalfuncs, vals := evalvals );
end;

#############################################################################
##
#F SMALL_GROUPS_SELECT_GENERIC( size, funcs, vals, inforec, all, id, idList )
##
## the selection for a layer with no better way: narrow the candidates with
## what 'SMALL_GROUPS_PROPERTY_IDS' knows, then construct the rest and test
## them.
SMALL_GROUPS_SELECT_GENERIC := function( size, funcs, vals, inforec,
all, id, idList )
local result, i, g, ok, j, sel, range, nid;

if not IsBound( inforec.number ) then
inforec := NUMBER_SMALL_GROUPS_FUNCS[ inforec.func ]( size, inforec);
fi;

# narrow down the candidates using properties which can be decided from
# the position of a group in the library
sel := SMALL_GROUPS_PROPERTY_IDS( size, inforec, funcs, vals );
funcs := sel.funcs;
vals := sel.vals;

if idList = fail then
range := SMALL_IDS_EXPAND( sel.ids );
else
range := Filtered( idList, x -> SMALL_IDS_MEMBER( sel.ids, x ) );
fi;

# if nothing is left to be checked, the groups need not be constructed
if funcs = [ ] and all and id then
return List( range, x -> [ size, x ] );
fi;

if funcs <> [ ] and idList = fail then
Info( InfoWarning, 2, "`SelectSmallGroups' checks ", Length( range ),
" grps of size ", size, " with trivial methods");
fi;

result := [ ];
for i in range do
nid:=i;
if not SMALL_GROUPS_OLD_ORDER then
if size = 3^7 then
nid := SMALLGP_PERM3(i);
elif size = 5^7 then
nid := SMALLGP_PERM5(i);
elif size = 7^7 then
nid := SMALLGP_PERM7(i);
elif size = 11^7 then
nid := SMALLGP_PERM11(i);
fi;
fi;

g := SMALL_GROUP_FUNCS[ inforec.func ]( size, nid, inforec );
SetIdGroup( g, [ size, i ] );
ok := true;
for j in [ 1 .. Length( funcs ) ] do
ok := ok and funcs[ j ]( g ) in vals[ j ];
od;
if all and id and ok then
Add( result, [ size, i ] );
elif all and ok then
Add( result, g );
elif ok then
return g;
fi;
od;

if all then
return result;
else
return fail;
fi;
end;

#############################################################################
##
#V SMALL_GROUP_LIB
Expand Down
2 changes: 1 addition & 1 deletion id10/idgrp10.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions id2/idgrp2.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions id3/idgrp3.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions id4/idgrp4.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions id6/idgrp6.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions small10/smlgp10.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion small11/smlgp11.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions small2/smlgp2.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

73 changes: 4 additions & 69 deletions small3/smlgp3.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion small4/smlgp4.g

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading