GAP tiene un atributo no documentado DirectFactorsOfGroup
que es utilizado por StructureDescription
. Con su ayuda, he calculado que hay 3079 grupos para los que DirectFactorsOfGroup
no puede encontrar la factorización en el producto directo, por lo que los 3459 grupos restantes de orden 2016 son productos directos.
Sólo en caso de DirectFactorsOfGroup
funciona bajo algunas suposiciones y puede fallar en algunas factorizaciones (después de todo, ¡no está documentado!), creo que es seguro decir que hay POR LO MENOS 3459 grupos de orden 2016 que son productos directos de grupos más pequeños.
Supongo que su cálculo del límite superior devolvió $7466$ grupos:
gap> n:=Filtered([2..46],i -> IsInt(2016/i));
[ 2, 3, 4, 6, 7, 8, 9, 12, 14, 16, 18, 21, 24, 28, 32, 36, 42 ]
gap> Sum(List(n,j->NrSmallGroups(j)*NrSmallGroups(2016/j)));
7466
que es más del doble. Esto no es sorprendente, ya que algunos grupos pueden estar representados como productos directos de más de una manera.
Todavía debería ser factible generar estos 7466 productos directos y luego clasificarlos hasta el isomorfismo. Hay que empezar a dividir su conjunto en clusters utilizando algunos invariantes fáciles de calcular (por ejemplo, el orden del centro, el número de clases de conjugación, etc.) y luego refinarlos utilizando más y más invariantes, y aplicar pruebas duras sólo a los clusters refinados.