Number of groups of order $9261$?

312 Views Asked by At

I checked the odd numbers upto $10\ 000$ , whether they are group-perfect ($gnu(n)=n$ , where $gnu(n)$ is the number of groups of order $n$), and the only case I could not decide is

$$9261=3^3\times 7^3$$

What is $gnu(9261)=gnu(3^3\times 7^3)$ ?

I would already be content with a proof of $gnu(9261)<9261$, which is my conjecture because $gnu(3087)=46$ is small and $9261=3\times 3087$.

3

There are 3 best solutions below

1
On BEST ANSWER

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
8
On

@james was right, please do not take my answer as a correct answer. It seems that gnu(9261)=215

11
On

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.