Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/polycyclic/tst/   (GAP Algebra Version 4.15.1©)  Datei vom 28.7.2025 mit Größe 8 kB image not shown  

Quelle  homs.tst   Sprache: unbekannt

 
Spracherkennung für: .tst vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

gap> START_TEST("Test of homs between various group types");

#
gap> TestHomHelper := function(A,B,gens_A,gens_B)
>   local map, inv, H;
>   
>   map:=GroupGeneralMappingByImages(A,B,gens_A,gens_B);
>   inv:=GroupGeneralMappingByImages(B,A,gens_B,gens_A);
>   
>   Display(HasIsAbelian(ImagesSource(map)));
>   Display(HasIsAbelian(PreImagesRange(map)));

>   Display(inv = InverseGeneralMapping(map));
>   Display(List([IsTotal,IsSingleValued,IsSurjective,IsInjective], f->f(map)));
>   Display(List([IsTotal,IsSingleValued,IsSurjective,IsInjective], f->f(inv)));
>   Display(List([PreImagesRange(map),CoKernel(map),ImagesSource(map),Kernel(map)],Size));
>   Display(List([PreImagesRange(inv),CoKernel(inv),ImagesSource(inv),Kernel(inv)],Size));
> end;;
gap> TestHomFromFilterToFilter := function(f1, f2)
>   local A, B, iA, iB, gens_A, gens_B;
>   A:=AbelianGroup(f1,[35,15]);;
>   B:=AbelianGroup(f2,[35,15]);;
>   iA := IndependentGeneratorsOfAbelianGroup(A);
>   iB := IndependentGeneratorsOfAbelianGroup(B);
>   
>   TestHomHelper(A,B,iA,iB);
>   
>   gens_A:=ShallowCopy(iA);
>   gens_B:=ShallowCopy(iB);
>   gens_A:=gens_A{[1..3]};
>   gens_B:=gens_B{[1..3]};
>   TestHomHelper(A,B,gens_A,gens_B);
>   
>   gens_A[1]:=One(gens_A[1]);;
>   gens_A[2]:=MappedVector([ 0106 ], iA);;
>   gens_B[3]:=One(gens_B[3]);;
>   
>   TestHomHelper(A,B,gens_A,gens_B);
>   
>   gens_A[1]:=MappedVector([ 2110 ], iA);
>   TestHomHelper(A,B,gens_A,gens_B); 
> end;;

#
gap> TestHomFromFilterToFilter(IsPermGroup,IsPermGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPermGroup,IsPcGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPermGroup,IsPcpGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPcGroup,IsPermGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPcGroup,IsPcGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPcGroup,IsPcpGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPcpGroup,IsPermGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPcpGroup,IsPcGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]
gap> TestHomFromFilterToFilter(IsPcpGroup,IsPcpGroup);
true
true
true
[ true, true, true, true ]
[ true, true, true, true ]
52515251 ]
52515251 ]
true
true
true
[ false, true, false, true ]
[ false, true, false, true ]
751751 ]
751751 ]
true
true
true
[ false, false, false, false ]
[ false, false, false, false ]
17531535 ]
15351753 ]
true
true
true
[ true, false, false, false ]
[ false, false, true, false ]
525515175 ]
151755255 ]

#
gap> G:=AbelianGroup(IsPcpGroup,[2,3,2]);;
gap> map:=GroupGeneralMappingByImages(G,G,[G.1],[G.3]);;
gap> Size(PreImagesSetNC(map,G));
2
gap> List([IsTotal,IsSingleValued,IsSurjective,IsInjective], f->f(map));
[ false, true, false, true ]
gap> map2:=map*map;;
gap> Size(PreImagesSetNC(map2,G));
1
gap> Size(ImagesSet(map2,G));
1
gap> Size(ImagesSource(map2));
1
gap> Size(PreImagesRange(map2));
1

# test that our custom IsSingleValue method really works, i.e. w don't fall
# back to CoKernelOfMultiplicativeGeneralMapping, which won't terminate in
# this example because it tries to compute a normal closure inside an infinite
# matrix group.
gap> H:=Group( [ [ [ -89, -1440 ], [ -144, -2330 ], [ 001 ] ],
>  [ [ 632459861023341550 ], [ 1023341551655801410 ], [ 001 ] ],
>  [ [ 100 ], [ 010 ], [ 3, -31 ] ],
>  [ [ 100 ], [ 010 ], [ 361 ] ],
>  [ [ 100 ], [ 010 ], [ 031 ] ],
>  [ [ 100 ], [ 010 ], [ 001 ] ] ]);;
gap> coll := FromTheLeftCollector( 6 );;
gap> SetRelativeOrder( coll, 110 );;
gap> SetPower( coll, 1, [ 23 ] );;
gap> SetConjugate( coll, 31, [ 3, -8951446144 ] );;
gap> SetConjugate( coll, 3, -1, [ 3, -2335, -1446, -144 ] );;
gap> SetConjugate( coll, 32, [ 3632459865, -1023341556, -102334155 ] );;
gap> SetConjugate( coll, 3, -2, [ 316558014151023341556102334155 ] );;
gap> SetConjugate( coll, 41, [ 3, -1444, -2335, -144 ] );;
gap> SetConjugate( coll, 4, -1, [ 31444, -895144 ] );;
gap> SetConjugate( coll, 42, [ 310233415541655801415102334155 ] );;
gap> SetConjugate( coll, 4, -2, [ 3, -1023341554632459865, -102334155 ] );;
gap> SetConjugate( coll, 51, [ 4, -1445, -2336, -144 ] );;
gap> SetConjugate( coll, 5, -1, [ 41445, -896144 ] );;
gap> SetConjugate( coll, 52, [ 410233415551655801416102334155 ] );;
gap> SetConjugate( coll, 5, -2, [ 4, -1023341555632459866, -102334155 ] );;
gap> SetConjugate( coll, 61, [ 314441446, -89 ] );;
gap> SetConjugate( coll, 6, -1, [ 3, -1444, -1446, -233 ] );;
gap> SetConjugate( coll, 62, [ 3, -1023341554, -102334155663245986 ] );;
gap> SetConjugate( coll, 6, -2, [ 310233415541023341556165580141 ] );;
gap> UpdatePolycyclicCollector( coll );
gap> G := PcpGroupByCollectorNC( coll );
Pcp-group with orders [ 1000000 ]
gap> hom := GroupHomomorphismByImages(G, H);
fail

#
gap> STOP_TEST( "homs.tst", 10000000);

[Dauer der Verarbeitung: 0.30 Sekunden, vorverarbeitet 2026-06-05]