SSL AddToIgs.tst
Interaktion und Portierbarkeitunbekannt
|
|
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
gap> START_TEST("AddToIgs.tst");
# This example was sent to us by Heiko Dietrich. It formerly was very slow to
# compute and suffered from exponent size explosion.
# See also < https://github.com/gap-packages/polycyclic/issues/17>.
gap> ftl := FromTheLeftCollector( 26 );
<<from the left collector with 26 generators>>
gap> SetRelativeOrder( ftl, 1, 5 );
gap> SetPower( ftl, 1, [ 2, 1, 3, 1, 4, 1, 5, 1, 6, 1 ] );
gap> SetRelativeOrder( ftl, 2, 5 );
gap> SetPower( ftl, 2, [] );
gap> SetRelativeOrder( ftl, 3, 5 );
gap> SetPower( ftl, 3, [] );
gap> SetRelativeOrder( ftl, 4, 5 );
gap> SetPower( ftl, 4, [] );
gap> SetRelativeOrder( ftl, 5, 5 );
gap> SetPower( ftl, 5, [] );
gap> SetRelativeOrder( ftl, 6, 5 );
gap> SetPower( ftl, 6, [] );
gap> SetConjugate( ftl, 2, 1, [ 6, 1 ] );
gap> SetConjugate( ftl, 3, 1, [ 2, 1 ] );
gap> SetConjugate( ftl, 4, 1, [ 3, 1 ] );
gap> SetConjugate( ftl, 5, 1, [ 4, 1 ] );
gap> SetConjugate( ftl, 6, 1, [ 5, 1 ] );
gap> SetConjugate( ftl, 7, 1, [ 26, - 1 ] );
gap> SetConjugate( ftl, 7, 6, [ 22, - 1 ] );
gap> SetConjugate( ftl, 8, 1, [ 7, 1 ] );
gap> SetConjugate( ftl, 8, 2, [ 23, - 1 ] );
gap> SetConjugate( ftl, 9, 1, [ 8, 1 ] );
gap> SetConjugate( ftl, 9, 3, [ 24, - 1 ] );
gap> SetConjugate( ftl, 10, 1, [ 9, 1 ] );
gap> SetConjugate( ftl, 10, 4, [ 25, - 1 ] );
gap> SetConjugate( ftl, 11, 1, [ 10, 1 ] );
gap> SetConjugate( ftl, 11, 5, [ 26, - 1 ] );
gap> SetConjugate( ftl, 12, 1, [ 11, 1, 26, - 1 ] );
gap> SetConjugate( ftl, 12, 6, [ 7, 1, 22, - 1 ] );
gap> SetConjugate( ftl, 13, 1, [ 12, 1 ] );
gap> SetConjugate( ftl, 13, 2, [ 8, 1, 23, - 1 ] );
gap> SetConjugate( ftl, 14, 1, [ 13, 1 ] );
gap> SetConjugate( ftl, 14, 3, [ 9, 1, 24, - 1 ] );
gap> SetConjugate( ftl, 15, 1, [ 14, 1 ] );
gap> SetConjugate( ftl, 15, 4, [ 10, 1, 25, - 1 ] );
gap> SetConjugate( ftl, 16, 1, [ 15, 1 ] );
gap> SetConjugate( ftl, 16, 5, [ 11, 1, 26, - 1 ] );
gap> SetConjugate( ftl, 17, 1, [ 16, 1, 26, - 1 ] );
gap> SetConjugate( ftl, 17, 6, [ 12, 1, 22, - 1 ] );
gap> SetConjugate( ftl, 18, 1, [ 17, 1 ] );
gap> SetConjugate( ftl, 18, 2, [ 13, 1, 23, - 1 ] );
gap> SetConjugate( ftl, 19, 1, [ 18, 1 ] );
gap> SetConjugate( ftl, 19, 3, [ 14, 1, 24, - 1 ] );
gap> SetConjugate( ftl, 20, 1, [ 19, 1 ] );
gap> SetConjugate( ftl, 20, 4, [ 15, 1, 25, - 1 ] );
gap> SetConjugate( ftl, 21, 1, [ 20, 1 ] );
gap> SetConjugate( ftl, 21, 5, [ 16, 1, 26, - 1 ] );
gap> SetConjugate( ftl, 22, 1, [ 21, 1, 26, - 1 ] );
gap> SetConjugate( ftl, 22, 6, [ 17, 1, 22, - 1 ] );
gap> SetConjugate( ftl, 23, 1, [ 22, 1 ] );
gap> SetConjugate( ftl, 23, 2, [ 18, 1, 23, - 1 ] );
gap> SetConjugate( ftl, 24, 1, [ 23, 1 ] );
gap> SetConjugate( ftl, 24, 3, [ 19, 1, 24, - 1 ] );
gap> SetConjugate( ftl, 25, 1, [ 24, 1 ] );
gap> SetConjugate( ftl, 25, 4, [ 20, 1, 25, - 1 ] );
gap> SetConjugate( ftl, 26, 1, [ 25, 1 ] );
gap> SetConjugate( ftl, 26, 5, [ 21, 1, 26, - 1 ] );
gap> SetConjugate( ftl, - 7, 1, [ 26, 1 ] );
gap> SetConjugate( ftl, - 7, 6, [ 22, 1 ] );
gap> SetConjugate( ftl, - 8, 1, [ 7, - 1 ] );
gap> SetConjugate( ftl, - 8, 2, [ 23, 1 ] );
gap> SetConjugate( ftl, - 9, 1, [ 8, - 1 ] );
gap> SetConjugate( ftl, - 9, 3, [ 24, 1 ] );
gap> SetConjugate( ftl, - 10, 1, [ 9, - 1 ] );
gap> SetConjugate( ftl, - 10, 4, [ 25, 1 ] );
gap> SetConjugate( ftl, - 11, 1, [ 10, - 1 ] );
gap> SetConjugate( ftl, - 11, 5, [ 26, 1 ] );
gap> SetConjugate( ftl, - 12, 1, [ 11, - 1, 26, 1 ] );
gap> SetConjugate( ftl, - 12, 6, [ 7, - 1, 22, 1 ] );
gap> SetConjugate( ftl, - 13, 1, [ 12, - 1 ] );
gap> SetConjugate( ftl, - 13, 2, [ 8, - 1, 23, 1 ] );
gap> SetConjugate( ftl, - 14, 1, [ 13, - 1 ] );
gap> SetConjugate( ftl, - 14, 3, [ 9, - 1, 24, 1 ] );
gap> SetConjugate( ftl, - 15, 1, [ 14, - 1 ] );
gap> SetConjugate( ftl, - 15, 4, [ 10, - 1, 25, 1 ] );
gap> SetConjugate( ftl, - 16, 1, [ 15, - 1 ] );
gap> SetConjugate( ftl, - 16, 5, [ 11, - 1, 26, 1 ] );
gap> SetConjugate( ftl, - 17, 1, [ 16, - 1, 26, 1 ] );
gap> SetConjugate( ftl, - 17, 6, [ 12, - 1, 22, 1 ] );
gap> SetConjugate( ftl, - 18, 1, [ 17, - 1 ] );
gap> SetConjugate( ftl, - 18, 2, [ 13, - 1, 23, 1 ] );
gap> SetConjugate( ftl, - 19, 1, [ 18, - 1 ] );
gap> SetConjugate( ftl, - 19, 3, [ 14, - 1, 24, 1 ] );
gap> SetConjugate( ftl, - 20, 1, [ 19, - 1 ] );
gap> SetConjugate( ftl, - 20, 4, [ 15, - 1, 25, 1 ] );
gap> SetConjugate( ftl, - 21, 1, [ 20, - 1 ] );
gap> SetConjugate( ftl, - 21, 5, [ 16, - 1, 26, 1 ] );
gap> SetConjugate( ftl, - 22, 1, [ 21, - 1, 26, 1 ] );
gap> SetConjugate( ftl, - 22, 6, [ 17, - 1, 22, 1 ] );
gap> SetConjugate( ftl, - 23, 1, [ 22, - 1 ] );
gap> SetConjugate( ftl, - 23, 2, [ 18, - 1, 23, 1 ] );
gap> SetConjugate( ftl, - 24, 1, [ 23, - 1 ] );
gap> SetConjugate( ftl, - 24, 3, [ 19, - 1, 24, 1 ] );
gap> SetConjugate( ftl, - 25, 1, [ 24, - 1 ] );
gap> SetConjugate( ftl, - 25, 4, [ 20, - 1, 25, 1 ] );
gap> SetConjugate( ftl, - 26, 1, [ 25, - 1 ] );
gap> SetConjugate( ftl, - 26, 5, [ 21, - 1, 26, 1 ] );
#
gap> g := PcpGroupByCollector(ftl);
Pcp-group with orders [ 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 ]
gap> gen:=[ g. 1, g. 1^ 4*g. 2^ 4*g. 3^ 4*g. 4^ 4*g. 6*g. 7*g. 25^- 1*g. 26^ 2 ];;
gap> U := Subgroup(g,gen);
Pcp-group with orders [ 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 ]
gap> Igs(gen);
[ g1, g2*g3*g4*g5*g6, g3*g4*g5^ 3*g23^- 1*g24^ 3*g25^ 2*g26,
g4*g5^ 2*g24^- 1*g25^ 2*g26^- 1, g5*g6^ 4*g22*g23^- 1*g24^ 2*g26^- 2,
g6*g22*g23^ 2*g24*g25^ 3*g26^- 2, g7*g22^- 4, g8*g23^- 4, g9*g24, g10*g25,
g11*g26^- 4, g12*g22^- 3, g13*g23^- 3, g14*g24^ 2, g15*g25^- 3, g16*g26^- 3,
g17*g22^- 2, g18*g23^- 2, g19*g24^- 2, g20*g25^ 3, g21*g26^ 3, g22^ 5, g23^ 5,
g24^ 5, g25^ 5, g26^ 5 ]
#
# Fix a bug in AddToIgs
# See https://github.com/gap-packages/polycyclic/issues/66
#
gap> G := PcGroupToPcpGroup( SmallGroup( 36, 9 ) );;
gap> gensG := [ G. 1, G. 4 ];;
gap> G = Subgroup( G, gensG );
true
# second example for issue # 66
gap> G := ExamplesOfSomePcpGroups( 10 );;
gap> S := Subgroup( G, [ G. 1, G. 2, G. 4 ] );;
gap> Igs(S);
[ g1, g2, g3^ 3, g4 ]
gap> G. 3^ 3 in S;
true
gap> G. 2^- 1*G. 4*G. 2*G. 4^- 2;
g3^ 3
#
# third example for issue # 66
#
gap> H := SmallGroup( 36, 9 );;
gap> gensH := [ H. 1, H. 4 ];;
gap> H = Subgroup( H, gensH );
true
gap> iso := IsomorphismPcpGroup( H );;
gap> G := Range( iso );;
gap> gensG := List( gensH, h -> h^iso );;
gap> S := Subgroup( G, gensG );;
gap> Igs( S );
[ g1, g2, g3*g4^ 2, g4 ]
gap> G = S;
true
# another example, this time from issue # 56
gap> A:=AbelianPcpGroup([ 3, 2, 12]);;
gap> m:=MinimalGeneratingSet(A);;
gap> Length(m);
2
gap> List(AddToIgs([],m), Depth);
[ 1, 2, 3 ]
#
gap> STOP_TEST( "AddToIgs.tst", 1);
[zur Elbe Produktseite wechseln0.33QuellennavigatorsAnalyse erneut starten2026-06-17]
|
2026-07-27
|