GAP error when calling is_isomorphic on large permutation groups

asked 2025-09-11 18:54:44 +0200

As the title says, I'm checking two large groups for isomorphism (one of them is PGL(9,2)) and the call to is_isomorphic raises the error sage.libs.gap.util.GAPError: Error, Range: <last> must be a small integer (not a large positive integer). The same code can correctly find that a series of groups are isomorphic to PGL(3,2) through PGL(8,2) in about 5 seconds and takes another 5 seconds to raise the error in the PGL(9,2) iteration. Is this a limitation of GAP or could there be a workaround?

Full code:

from sage.combinat.designs.block_design import IncidenceStructure
from sage.matrix.constructor import matrix
from sage.groups.perm_gps.permgroup_named import PGL

m2 = matrix([[1,1],[1,-1]])
current_m = m2.tensor_product(m2)
all_iso = True
iter = 2

while(all_iso):
    current_m = m2.tensor_product(current_m)
    iter += 1
    power = 2 ** iter
    incidence = [[(0 if entry == -1 else 1) for entry in col] for col in current_m.submatrix(1, 1, power-1, power-1)]
    design = IncidenceStructure(incidence_matrix=incidence)
    aut = design.automorphism_group()

    all_iso = aut.is_isomorphic(PGL(iter, 2))
    print(str(iter) + ": " + str(all_iso))
edit retag flag offensive close merge delete