-
Notifications
You must be signed in to change notification settings - Fork 19
Description
The test file tst/working/combined/ClassicalNaturalNaming.tst suggests that naming for certain classical groups is less reliable than in the general.
This may not be an actual "issue" but a normal artifact of these things being randomized; after all, in the "real world" application, we'll just retry the renaming eventually.
Still, I thought it would be good to settle this explicitly, hopefully with some feedback by @aniemeyer .
I've decided to turn this into an issue with concrete reproduces. To this end, I've been running this code for various parameters type, d, and q (requires PR #378, so make sure to git pull the latest master):
ReadPackage("recog", "tst/naming.g");
total:=0;;
for i in [1..100] do
Reset(GlobalMersenneTwister,i);;
Print("seed ",i,"\n");
total := total + TestNaming(type,d,q);
od;
total;or if you prefer a one-line for easier repetitions:
ReadPackage("recog", "tst/naming.g");;total:=0;;for i in [1..100] do Reset(GlobalMersenneTwister,i);; Print("seed ",i,"\n");total:=total+TestNaming(type,d,q);od;total;Note that TestNaming invokes RecogniseClassical 20 times, so really we are testing it 20*100=2000 times.
Unitary groups
For
Symplectic groups
For Sp(4,4). It is always "has bad value for isSpContained; expected true, got unknown"
For
Orthogonal groups in odd dimension
For
gap> Reset(GlobalMersenneTwister,8);; TestNaming("SO", 3, 7);
1: SO(3,7) has bad value for isOmegaContained; expected true, got unknown
But it fails a lot when
gap> Reset(GlobalMersenneTwister,10);; TestNaming("SO", 3, 9);
4: SO(3,9) has bad value for isOmegaContained; expected true, got unknown
11: SO(3,9) has bad value for isOmegaContained; expected true, got unknown
gap> Reset(GlobalMersenneTwister,2);; TestNaming("SO", 3, 11);
1: SO(3,11) has bad value for isOmegaContained; expected true, got unknown
2: SO(3,11) has bad value for isOmegaContained; expected true, got unknown
For
gap> Reset(GlobalMersenneTwister,16);; TestNaming("SO", 5, 3);
16: SO(5,3) has bad value for isOmegaContained; expected true, got unknown
gap> Reset(GlobalMersenneTwister,22);; TestNaming("SO", 7, 3);
11: SO(7,3) has bad value for isOmegaContained; expected true, got unknown
Orthogonal groups in even dimension
For these we need a slightly different test loop because the sign must be passed as an additional argument to TestNaming:
ReadPackage("recog", "tst/naming.g");
total:=0;;
for i in [1..100] do
Reset(GlobalMersenneTwister,i);;
Print("seed ",i,"\n");
total := total + TestNaming(type,sign,d,q);
od;
total;Orthogonal groups in even dimension, minus type
For
Orthogonal groups in even dimension, plus type
Problematic parameters are
For Image(ProjectiveActionHomomorphismMatrixGroup(grp)) -- we talked about this before of course; I'll loook some more into it. (UPDATE: logged as #380 and addressed by PR #386, which also makes
For
For
For