Skip to content

More bugs in SL_n naming #492

Description

@fingolfin

Consider this input: ri:=RecognizeGroup(SL(6,257));

This ought to be fast, and sometimes it indeed is:

gap> SetInfoLevel(InfoRecog,2); SetInfoLevel(InfoMethSel,2);
gap> ri:=RecognizeGroup(SL(6,257)); time;
#I  Going projective...
#I  Finished rank 900 method "GoProjective": success.
#I  Going to the image (depth=0, try=1, dim=6, field=257).
#I  ClassicalNatural: this is PSL_n!
#I  Finding an SL2...
#I  Dimension: 6
#I  Dimension: 6
#I  Recognising this SL2 constructively in 2 dimensions...
#I  Going up to SL_d again...
#I   found c1 and c.
#I   found c1 and c.
#I   found c1 and c.
#I  Finished rank 1050 method "ClassicalNatural": success.
#I  Back from image (depth=0, dim=6, field=257).
#I  Calculating preimages of nice generators.
#I  Creating 13 random generators for kernel.
#I  Going to the kernel (depth=0).
#I  Finished rank 1100 method "DiagonalMatrices": success.
#I  Going to the image (depth=1, try=1, dim=1, field=257).
#I  Finished rank 4000 method "Scalar": success.
#I  Back from image (depth=1, dim=6, field=257).
#I  Calculating preimages of nice generators.
#I  Found trivial kernel (depth=1).
#I  Back from kernel (depth=0).
#I  Doing immediate verification (depth=0).
<recognition node GoProjective Dim=6 Field=257
 F:<recognition node (projective) ClassicalNatural Comment=PSLd Simple Size=
1113326944400881126270746042710464624142643654286799616570428596073930519393127628800 Dim=6 Field=257>
 K:<recognition node DiagonalMatrices Dim=6 Field=257
    F:<recognition node Scalar Dim=1 Field=257>
    K:<trivial kernel>>
174

So it went projective, recognized it is a PSL(d,q) and the rest is trivial from there.

But if I re-run this, quite often instead something like this happens:

gap> SetInfoLevel(InfoRecog,2); SetInfoLevel(InfoMethSel,2);
gap> ri:=RecognizeGroup(SL(6,257)); time;
#I  Going projective...
#I  Finished rank 900 method "GoProjective": success.
#I  Going to the image (depth=0, try=1, dim=6, field=257).
#I  ClassicalNatural: Is not PSL.
#I  Finished rank 1050 method "ClassicalNatural": TemporaryFailure.
#I  G is not C5 (subfield).
#I  G is not C3 (semilinear).
#I  D247: Trying the involution jumper 9 times...
.........
#I  D247: Did not find normal subgroup, giving up.
#I  Finished rank 840 method "D247": TemporaryFailure.
#I  AltSym: prime factor of order excludes A_n
#I  Finished rank 800 method "TensorDecomposable": TemporaryFailure.
#I  FindElmOfEvenNormal: Could be irreducible proper normal subgroup!
#I  Dimension no proper power, so this is not D7.
#I  Finished rank 700 method "FindElmOfEvenNormal": TemporaryFailure.
#I  LowIndex: Trying 10 first elements...
..........
#I  Finished rank 600 method "LowIndex": TemporaryFailure.
#I  ThreeLargeElOrders: defining characteristic p=257
#I  LieTypeNonConstr: found L6(257), lookup up hints...
#I  Looking up hints for L6(257)...
#I  No hint worked, giving up.
#I  LieTypeNonConstr: giving up.
#I  Finished rank 400 method "LieTypeNonConstr": TemporaryFailure.
#I  Have 59785 points.
#I  Have 119546 points.
#I  Have 179418 points.
...

So, it does not realize this is already an almost simple group, and instead falls back to a stabilizer chain algorithm.

Note that it did manage to name the group as L6(257), but that doesn't help (if at all, it would call into the generic (black box) $SL_n$ recognition.

Anyway, I think the problem here is with naming:

gap> Number([1..100], i->RecogniseClassical(SL(6,257)).isSLContained = true);
58
gap> Number([1..100], i->RecogniseClassical(SL(6,251)).isSLContained = true);
63
gap> Number([1..100], i->RecogniseClassical(SL(6,101)).isSLContained = true);
87

versus

gap> Number([1..100], i->RecogniseClassical(SL(6,25)).isSLContained = true);
100

Metadata

Metadata

Assignees

No one assigned

    Labels

    sl_nissue related to sl_n detection (may be resolved by new SL_n code)topic: naming

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions