|
1 | 1 | # Fix #6200 IsomorphismSimpleGroups |
2 | | -#@local F, G, hom, gens, gens8, i, H, gens4, gens5, K, res; |
| 2 | +#@local G, x, H |
3 | 3 | gap> START_TEST("IsomorphismSimpleGroups.tst"); |
4 | 4 |
|
5 | | -# |
6 | | -gap> F:= GF(2);; |
7 | | -gap> G:= GL(9, F);; |
8 | | -gap> hom:= IsomorphismPermGroup( G );; |
9 | | -gap> gens:= List( [ 1 .. 3 ], i -> IdentityMat( 9, F ) );; |
10 | | -gap> gens8:= GeneratorsOfGroup( SO(1, 8, 2) );; |
11 | | -gap> for i in [ 1 .. 3 ] do |
12 | | -> gens[i]{ [ 1 .. 8 ] }{ [ 1 .. 8 ] }:= gens8[i]; |
13 | | -> od; |
14 | | -gap> H:= Group( gens );; |
15 | | -gap> gens:= List( [ 1 .. 5 ], i -> IdentityMat( 9, F ) );; |
16 | | -gap> gens4:= GeneratorsOfGroup( GL(4, F) );; |
17 | | -gap> gens5:= GeneratorsOfGroup( GL(5, F) );; |
18 | | -gap> for i in [ 1, 2 ] do |
19 | | -> gens[i]{ [ 1 .. 4 ] }{ [ 1 .. 4 ] }:= gens4[i]; |
20 | | -> gens[i+2]{ [ 5 .. 9 ] }{ [ 5 .. 9 ] }:= gens5[i]; |
21 | | -> od; |
22 | | -gap> gens[5][5][1]:= One(F);; |
23 | | -gap> K:= Group( gens );; |
24 | | -gap> G:= Image( hom, G );; |
25 | | -gap> H:= Image( hom, H );; |
26 | | -gap> K:= Image( hom, K );; |
27 | | -gap> res:= DoubleCosetRepsAndSizes( G, H, K : cheap:= true );; |
28 | | -gap> Length( res ); |
29 | | -28 |
| 5 | +# The runtime depends very much on random choices in the code, |
| 6 | +# it can vary from a few milliseconds (rare) to several minutes. |
| 7 | +gap> Reset( GlobalMersenneTwister, 2^19 );; |
| 8 | +gap> G:= AlternatingGroup( 20 );; |
| 9 | +gap> x:= ();; |
| 10 | +gap> H:= ConjugateGroup( G, x );; |
| 11 | +gap> IsomorphismSimpleGroups( G, H : cheap:= true ) <> fail; |
| 12 | +true |
30 | 13 |
|
31 | 14 | # |
32 | 15 | gap> STOP_TEST("IsomorphismSimpleGroups.tst"); |
0 commit comments