Number of groups of order $9261$?
CORRECTION: There are $215$ groups of order 9261 (by the same methods as used for previous questions).
As was pointed out by @James the ConstrucctAllGroups
may return lists that are not yet isomorphism tested.
In this case there is one list, and a hard isomorphism test distinguishes the two groups.
m:=Filtered(l,IsList);
IsomorphismGroups(m[1][1],m[1][2]); #returns fail
I think the answer is $\operatorname{gnu}( 9261 ) = 215$. By itself, the grpconst package function ConstructAllGroups
may produce a list in which not all groups have been distinguished up to isomorphism. Thus it is not sufficient to simply count the number of elements of the list it returns. One must also check whether there are any nested lists consisting of groups whose isomorphism has not been decided by the algorithm. The GrpConst package then provides the function DistinguishGroups
that employs stronger methods to resolve any undecided isomorphisms remaining.
Here is a simplified version of the frontend that I use that employs these considerations.
CountGroups := function( n )
local L, trouble, okay, c;
L := ConstructAllGroups( n );
okay := Filtered( L, x -> not IsList( x ) );
trouble := Filtered( L, IsList );
if Length( trouble ) > 0 then
for c in trouble do
c := DistinguishGroups( c, true );
if ForAny( c, IsList ) then
Error( "could not resolve some isomorphisms" );
fi;
Append( okay, c );
od;
fi;
return Length( okay );
end;;
Using this, we obtain the claimed result.
gap> CountGroups( 9261 );
215
Having said all that, I confess I am far from an expert on GAP. If I have made a mistake, I should be happy to improve my understanding.