Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/tst/testinstall/opers/   (GAP Algebra Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 12 kB image not shown  

Quelle  ListWreathProductElement.tst   Sprache: unbekannt

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

#
gap> START_TEST("ListWreathProductElement.tst");

#
# Perm Wreath Product In Imprimitive Action
#

#
gap> K := SymmetricGroup(3);;
gap> H := SymmetricGroup(5);;
gap> G := WreathProduct(K, H);;

#
gap> list := [(1,2), (1,2,3), (), (1,2,3), (), (1,2)(3,4)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> list := [(1,2), (1,2,3), (), (1,2,3), (), (1,2,3)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> x := (1,5,9,12,13)(2,4,8,11,15,3,6,7,10,14);;
gap> list := ListWreathProductElement(G, x);;
gap> x = WreathProductElementList(G, list);
true

# Top Component fails
gap> x := (1,5);;
gap> x ^ Projection(G);
fail
gap> ListWreathProductElement(G, x);
fail

# Base Component fails
gap> x := (1,2,3,4,5);;
gap> x ^ Projection(G);
()
gap> ListWreathProductElement(G, x);
fail

#
# Perm Wreath Product In Product Action
#

#
gap> K := SymmetricGroup(3);;
gap> H := SymmetricGroup(5);;
gap> G := WreathProductProductAction(K, H);;

#
gap> list := [(1,2), (1,2,3), (), (1,2,3), (), (1,2)(3,4)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> list := [(1,2), (1,2,3), (), (1,2,3), (), (1,2,3)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> x :=
> (  125241217,  5)(  2,  722211814)(  31623)(  419271511,  8)(  61026)(  91320)
> ( 28,10678,174448655,187519371,167)( 298876,183459556,16949,10272,176)
> ( 309777,16543,10457,178508470,185)( 31,10081,177388958,181549665,170)
> ( 328279,186399859,16352,10566,179)( 339180,16837,10760,172538764,188)
> ( 34,10375,180418361,184489968,164)( 358573,189429262,16646,10869,173)
> ( 369474,17140,10163,175479067,182)(109,160,240,201,125,140,217,214,132,147,233,194)
> (110,142,238,210,126,149,218,196,130,156,234,203)(111,151,239,192,124,158,219,205,131,138,232,212)
> (112,154,243,204,119,143,220,208,135,150,227,197)(113,136,241,213,120,152,221,190,133,159,228,206)
> (114,145,242,195,118,161,222,199,134,141,226,215)(115,157,237,207,122,137,223,211,129,153,230,191)
> (116,139,235,216,123,146,224,193,127,162,231,200)(117,148,236,198,121,155,225,202,128,144,229,209);;
gap> list := ListWreathProductElement(G, x);;
gap> x = WreathProductElementList(G, list);
true

# Top Projection fails
gap> x := (4,16);;
gap> x ^ Projection(G);
fail
gap> ListWreathProductElement(G, x);
fail

# Base Decomposition fails
gap> x := (1,2,3,4,5);;
gap> x ^ Projection(G);
()
gap> ListWreathProductElement(G, x);
fail

#
# Matrix Wreath Product
#

#
gap> K := GL(3,3);;
gap> H := SymmetricGroup(5);;
gap> G := WreathProduct(K, H);;

#
gap> list := [K.1, K.2, One(K), K.2, One(K), (1,2)(3,4)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> list := [K.1, K.2, One(K), K.2, One(K), (1,2,3)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> x := [
> [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3)0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3)0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^00*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3)^0, Z(3)^0 ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ Z(3)^0, Z(3)^0, Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), Z(3)^0, Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3)0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3)0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ] ];;
gap> list := ListWreathProductElement(G, x);;
gap> x = WreathProductElementList(G, list);
true
gap> ConvertToMatrixRep(x);;
gap> list := ListWreathProductElement(G, x);;
gap> x = WreathProductElementList(G, list);
true

# Top Projection fails
gap> x := [
> [ Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3)^0, Z(3)^0, Z(3)^0, Z(3), Z(3), Z(3)^00*Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3)^0 ],
> [ Z(3), Z(3), Z(3)^00*Z(3), Z(3)^0, Z(3)^0, Z(3)^0, Z(3)^0, Z(3)^0, Z(3), Z(3)^00*Z(3), Z(3)^0, Z(3), Z(3) ],
> [ 0*Z(3), Z(3)^00*Z(3), Z(3)^0, Z(3)^0, Z(3)^0, Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3)^0, Z(3)^00*Z(3), 0*Z(3), Z(3)^0 ],
> [ Z(3), 0*Z(3), Z(3), 0*Z(3), Z(3), Z(3), Z(3)^0, Z(3), Z(3), Z(3), Z(3), Z(3), Z(3)^00*Z(3)0*Z(3) ],
> [ Z(3)^0, Z(3), Z(3)^00*Z(3), 0*Z(3), Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3), 0*Z(3), Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3)^00*Z(3), Z(3)^0, Z(3), 0*Z(3), Z(3), Z(3)^00*Z(3) ],
> [ Z(3)^00*Z(3), Z(3)^0, Z(3)^00*Z(3), Z(3), Z(3)^0, Z(3)^00*Z(3), Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3), Z(3)^0 ],
> [ Z(3)^0, Z(3)^0, Z(3)^00*Z(3), Z(3)^0, Z(3), Z(3)^00*Z(3), 0*Z(3), Z(3), Z(3)^0, Z(3)^0, Z(3), Z(3), 0*Z(3) ],
> [ Z(3), Z(3)^0, Z(3)^0, Z(3), Z(3)^00*Z(3), Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), Z(3)^00*Z(3) ],
> [ Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3)^0, Z(3)^00*Z(3), 0*Z(3), Z(3), Z(3), Z(3), Z(3)^0, Z(3)^0, Z(3)^00*Z(3) ],
> [ 0*Z(3), Z(3)^0, Z(3)^0, Z(3)^00*Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3), Z(3)^0, Z(3) ],
> [ 0*Z(3), Z(3)^00*Z(3), Z(3), Z(3)^0, Z(3)^0, Z(3)^00*Z(3), Z(3), Z(3)^0, Z(3)^00*Z(3), Z(3)^0, Z(3)^0, Z(3) ],
> [ Z(3)^00*Z(3), 0*Z(3), 0*Z(3), Z(3)^00*Z(3), Z(3), 0*Z(3), Z(3), 0*Z(3), Z(3), Z(3), 0*Z(3), Z(3)^0, Z(3)^0 ],
> [ 0*Z(3), 0*Z(3), Z(3), Z(3)^0, Z(3)^0, Z(3)^00*Z(3), Z(3)^0, Z(3), Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3)^0, Z(3) ],
> [ 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^00*Z(3), Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3)^00*Z(3), Z(3), Z(3)^0 ] ];;
gap> x ^ Projection(G);
fail
gap> ListWreathProductElement(G, x);
fail
gap> ConvertToMatrixRep(x);;
gap> x ^ Projection(G);
fail
gap> ListWreathProductElement(G, x);
fail

# Base Decomposition fails
gap> x := [
> [ Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), Z(3), 0*Z(3), Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3), 0*Z(3), Z(3)0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3), Z(3)^00*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^0, Z(3), 0*Z(3), 0*Z(3), 0*Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^00*Z(3), Z(3)^0 ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^00*Z(3), Z(3) ],
> [ 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), 0*Z(3), Z(3)^0, Z(3)^0 ] ];;
gap> x ^ Projection(G);
()
gap> ListWreathProductElement(G, x);
fail
gap> ConvertToMatrixRep(x);;
gap> x ^ Projection(G);
()
gap> ListWreathProductElement(G, x);
fail

# Bugfix, Projection checked only diagonal entries
gap> x :=
> [ [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  Z(3)^0,  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  Z(3)^0,  0*Z(3),    Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),    Z(3),  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  Z(3)^0,  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  Z(3)^0,  0*Z(3),    Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  Z(3)^0,  Z(3)^0,  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  Z(3)^0,    Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),    Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  Z(3)^0,  Z(3)^0,  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),    Z(3),  Z(3)^0 ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),    Z(3),  Z(3)^0,    Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),    Z(3),  Z(3)^0,  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ],
>   [  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),    Z(3),  0*Z(3),  Z(3)^0,  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3),  0*Z(3) ] ];;
gap> x ^ Projection(G);
(1,4,5,3,2)
gap> ListWreathProductElement(G, x) <> fail;
true
gap> ConvertToMatrixRep(x);;
gap> x ^ Projection(G);
(1,4,5,3,2)
gap> ListWreathProductElement(G, x) <> fail;
true

#
# Generic Wreath Product
#

#
gap> K := DihedralGroup(12);;
gap> H := SymmetricGroup(5);;
gap> G := WreathProduct(K, H);;

#
gap> list := [K.1, K.2, One(K), K.2, One(K), (1,2)(3,4)];;
gap> x := WreathProductElementList(G, list);;
gap> list = ListWreathProductElement(G, x);
true

#
gap> x := G.1 * G.5 * G.2 * G.5 ^ ((G.4 * G.5) ^ 2) * G.2;;
gap> list := ListWreathProductElement(G, x);;
gap> x = WreathProductElementList(G, list);
true

#
# Generic Wreath Product : Bugfix for immutable lists
#

#
gap> K := FreeGroup("x", "y");;
gap> x := K.1;;
gap> y := K.2;;
gap> H := SymmetricGroup(3);;
gap> W := WreathProduct(K, H);;
gap> l := [x*y, x, y, (1,2,3)];;
gap> MakeImmutable(l);;
gap> w := WreathProductElementList(W, l);;
gap> l = [x*y, x, y, (1,2,3)];
true

#
gap> STOP_TEST("ListWreathProductElement.tst");

[Dauer der Verarbeitung: 0.14 Sekunden, vorverarbeitet 2026-06-17]