-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
bugAny bug should have this label, even if it also has a more generic labelAny bug should have this label, even if it also has a more generic labelbug: wrong answerA computation returns a (mathematically or otherwise) invalid resultA computation returns a (mathematically or otherwise) invalid result
Description
With the following input, I get a too large Size for a RecognizeGroup result in almost half of the attempts.
G:= AtlasSubgroup( "B", 2 );; # the group 2^(1+22).Co2
Ggens:= GeneratorsOfGroup( G );;
F:= GF(2);;
M:= GModuleByMats( Ggens, F );;
facts:= MTX.CompositionFactors( M );;
Length( facts ); # 27
S:= First( facts, x -> x.dimension = 22 );;
C:= GroupWithGenerators( S.generators );; # isom. with Co2
nice:= NiceMonomorphism( C );;
permgens:= List( S.generators, x -> ImagesRepresentative( nice, x ) );;
memgens:= GeneratorsWithMemory( permgens );;
find:= AtlasProgram( "Co2", "find" );;
res:= ResultOfBBoxProgram( find.program, GroupWithGenerators( memgens ) );;
slps:= List( res, SLPOfElm );;
stdmats:= List( slps, x -> ResultOfStraightLineProgram( x, Ggens ) );;
mx:= List( Maxes( CharacterTable( "Co2") ), CharacterTable );;
pos:= PositionsProperty( mx, x -> Size( x ) mod 23 = 0 ); # [ 9 ]
mx{ pos }; # [ CharacterTable( "M23" ) ]
restprg:= AtlasProgram( "Co2", "maxes", pos[1], 1 );; # std. gens. of M23
stdrestmats:= ResultOfStraightLineProgram( restprg.program, stdmats );;
U:= GroupWithGenerators( stdrestmats );; # 2^(1+22).M23 (or a subgroup)
M2:= GModuleByMats( stdrestmats, F );;
bases:= MTX.BasesCompositionSeries( M2 );;
Length( bases[7] ); # 198
ind:= MTX.InducedActionSubmodule( M2, bases[7] );;
U:= GroupWithGenerators( ind.generators );;
LoadPackage( "recog" );
Size( RecognizeMatrixGroup( U ) ) = 2^23 * Size( MathieuGroup( 23 ) ); # true
# So the 198x198 matrices really generate 2^(1+22).M23
mats:= ind.generators;;
mx:= AtlasProgram( "M23", "maxes", 7 ); # 23:11 in M23
res:= ResultOfStraightLineProgram( mx.program, ind.generators );;
sizes:= [];
for i in [ 1 .. 150 ] do
Add( sizes, Size( RecognizeGroup( GroupWithGenerators( res ) ) ) );
od;
Collected( sizes ); # in my experiments, about half of the orders are correct
2^23 * 23 * 11;
The wrong results are usually twice the group order, and rarely I get four times the group order.
Metadata
Metadata
Assignees
Labels
bugAny bug should have this label, even if it also has a more generic labelAny bug should have this label, even if it also has a more generic labelbug: wrong answerA computation returns a (mathematically or otherwise) invalid resultA computation returns a (mathematically or otherwise) invalid result