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

Quelle  transform.tst   Sprache: unbekannt

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

#############################################################################
##
#W  extreme/transform.tst
#Y  Copyright (C) 2011-16                                James D. Mitchell
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##


#@local S, a, d, dc, f, filt, g1, g2, gens, h, hc, i, im, inv, iso, ker, m1
#@local m18, m6, perm, perms, s, t, x
gap> START_TEST("Semigroups package: extreme/transform.tst");
gap> LoadPackage("semigroups", false);;

#
gap> SEMIGROUPS.StartTest();

# TransformTest1
gap> gens := [Transformation([23243]),
> Transformation([45224]),
> Transformation([43214]), Transformation([55131])];;
gap> S := Semigroup(gens);;
gap> List(Elements(S), x -> IsRegularSemigroupElement(S, x));
[ true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, false, true, true, true, true, true, true, 
  true, true, false, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, false, false, true, true, true, true, true, false, false, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, false, false, true, true, false, false, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, false, false, true, true, false, false, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, false, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, false, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, false, false, false, false, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, false, false, true, true, false, false, true, true, true, 
  true, true, true, true, true, true, true, true, false, false, true, false, 
  false, true, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true, false, false, true, true, true, true, true, true, 
  true, false, true, true, true, true, true, true, true, true, true, true, 
  true, true, true, true ]
gap> Collected(last);
[ [ true, 357 ], [ false, 31 ] ]
gap> gens := [Transformation([344254]),
> Transformation([245323]),
> Transformation([543415]),
> Transformation([162145]),
> Transformation([465523]),
> Transformation([136215]),
> Transformation([362654]),
> Transformation([326611])];;
gap> S := Semigroup(gens);;
gap> Collected(List(Elements(S), x -> IsRegularSemigroupElement(S, x)));
[ [ true, 21786 ] ]
gap> gens := [Transformation([3333]), Transformation([2424]),
> Transformation([2323]), Transformation([4143]),
> Transformation([1441]), Transformation([2231]),
> Transformation([2434]), Transformation([2212]),
> Transformation([2213]), Transformation([1223]),
> Transformation([2432]), Transformation([2333])];;
gap> S := Monoid(gens);;
gap> Collected(List(Elements(S), x -> IsRegularSemigroupElement(S, x)));
[ [ true, 179 ] ]
gap> Idempotent([1368], [11223344]);
Transformation( [ 11336688 ] )
gap> Idempotent([17], [1212112]);
Transformation( [ 1717117 ] )
gap> Idempotent([1368], [11223344]);
Transformation( [ 11336688 ] )
gap> Idempotent([17], [1212112]);
Transformation( [ 1717117 ] )
gap> filt := Filtered(FullTransformationSemigroup(5), x ->
> RankOfTransformation(x ^ 25) = RankOfTransformation(x, 5));;
gap> Length(filt);
1305
gap> filt := Filtered(Elements(FullTransformationSemigroup(3)),
> x -> RankOfTransformation(x ^ 23) = RankOfTransformation(x, 3));
[ Transformation( [ 111 ] ), Transformation( [ 11 ] ), 
  Transformation( [ 121 ] ), Transformation( [ 122 ] ), 
  IdentityTransformation, Transformation( [ 132 ] ), 
  Transformation( [ 133 ] ), Transformation( [ 211 ] ), 
  Transformation( [ 212 ] ), Transformation( [ 21 ] ), 
  Transformation( [ 222 ] ), Transformation( [ 22 ] ), 
  Transformation( [ 231 ] ), Transformation( [ 232 ] ), 
  Transformation( [ 311 ] ), Transformation( [ 312 ] ), 
  Transformation( [ 321 ] ), Transformation( [ 323 ] ), 
  Transformation( [ 331 ] ), Transformation( [ 332 ] ), 
  Transformation( [ 333 ] ) ]
gap> Length(filt);
21
gap> perms := List(filt, PermutationOfImage);
[ (), (), (), (), (), (2,3), (), (1,2), (1,2), (1,2), (), (), (1,2,3), (2,3), 
  (1,3), (1,3,2), (1,3), (), (1,3), (2,3), () ]
gap> ker := List(filt, x -> FlatKernelOfTransformation(x, 3));
[ [ 111 ], [ 112 ], [ 121 ], [ 122 ], [ 123 ], 
  [ 123 ], [ 122 ], [ 122 ], [ 121 ], [ 123 ], 
  [ 111 ], [ 112 ], [ 123 ], [ 121 ], [ 122 ], 
  [ 123 ], [ 123 ], [ 121 ], [ 112 ], [ 112 ], 
  [ 111 ] ]
gap> im := List(filt, x -> ImageSetOfTransformation(x, 3));
[ [ 1 ], [ 13 ], [ 12 ], [ 12 ], [ 123 ], [ 123 ], [ 13 ], 
  [ 12 ], [ 12 ], [ 123 ], [ 2 ], [ 23 ], [ 123 ], [ 23 ], 
  [ 13 ], [ 123 ], [ 123 ], [ 23 ], [ 13 ], [ 23 ], [ 3 ] ]
gap> List([1 .. 21], i -> Idempotent(im[i], ker[i]) * perms[i]);
[ Transformation( [ 111 ] ), Transformation( [ 11 ] ), 
  Transformation( [ 121 ] ), Transformation( [ 122 ] ), 
  IdentityTransformation, Transformation( [ 132 ] ), 
  Transformation( [ 133 ] ), Transformation( [ 211 ] ), 
  Transformation( [ 212 ] ), Transformation( [ 21 ] ), 
  Transformation( [ 222 ] ), Transformation( [ 22 ] ), 
  Transformation( [ 231 ] ), Transformation( [ 232 ] ), 
  Transformation( [ 311 ] ), Transformation( [ 312 ] ), 
  Transformation( [ 321 ] ), Transformation( [ 323 ] ), 
  Transformation( [ 331 ] ), Transformation( [ 332 ] ), 
  Transformation( [ 333 ] ) ]
gap> Set(last) = Set(filt);
true
gap> g1 := Transformation([14111172625510]);;
gap> g2 := Transformation([244210511111167]);;
gap> s := Monoid(g1, g2);;
gap> d := GreensDClasses(s);;
gap> h := GroupHClassOfGreensDClass(MinimalDClass(s));
<Green's H-class: Transformation( [ 422456777 ] )>
gap> perm := IsomorphismPermGroup(h);;
gap> Size(Range(perm)) = Size(h);
true
gap> g1 := Transformation([214567321]);;
gap> g2 := Transformation([214214214]);;
gap> m18 := Monoid(g1, g2);;
gap> d := GreensDClasses(m18);;
gap> i := Position(d, DClass(m18, Transformation([214567321])));;
gap> dc := d[i];
<Green's D-class: Transformation( [ 214567321 ] )>
gap> RankOfTransformation(Representative(dc));
7
gap> hc := GroupHClassOfGreensDClass(dc);
<Green's H-class: Transformation( [ 123456712 ] )>
gap> iso := IsomorphismPermGroup(hc);;
gap> s := Semigroup(Elements(hc));;
gap> Size(s);
10
gap> IsGroupAsSemigroup(s);
true
gap> iso := IsomorphismPermGroup(s);;
gap> g1 := Transformation([33262446]);;
gap> g2 := Transformation([51787581]);;
gap> m6 := Semigroup(g1, g2);;
gap> dc := GreensDClasses(m6);;
gap> hc := GroupHClassOfGreensDClass(dc[1]);
<Green's H-class: Transformation( [ 22343664 ] )>
gap> s := Semigroup(Elements(hc));;
gap> iso := IsomorphismPermGroup(s);;
gap> g1 := Transformation([224456]);;
gap> g2 := Transformation([534466]);;
gap> m1 := Monoid(g1, g2);;
gap> IsRegularSemigroupElement(m1, g1);
true
gap> IsRegularSemigroupElement(m1, g2);
false
gap> IsRegularSemigroupElement(FullTransformationSemigroup(6), g2);
true
gap> ker := FlatKernelOfTransformation(g2 * g1);
122233 ]
gap> im := ImageListOfTransformation(g2);
534466 ]
gap> IsInjectiveListTrans(im, ker);
false
gap> Idempotent([125], ker);
Transformation( [ 122255 ] )
gap> Idempotent([156], [1112233]);
Transformation( [ 1115566 ] )
gap> t := Transformation([129998884]);;
gap> PermutationOfImage(t);
(4,9)
gap> t * last;
Transformation( [ 12444888 ] )
gap> PermutationOfImage(last);
()
gap> x := Transformation([344613371]);;
gap> IndexPeriodOfSemigroupElement(x);
23 ]
gap> x ^ 2 = x ^ 5;
true
gap> t := Transformation([6741746134]);;
gap> SmallestIdempotentPower(t);
3
gap> t := Transformation([66627153106]);;
gap> SmallestIdempotentPower(t);
2
gap> s := Semigroup([Transformation([314252161]),
> Transformation([578875919]),
> Transformation([762847583])]);;
gap> f := Transformation([314252161]);;
gap> InversesOfSemigroupElement(s, f);
[  ]
gap> IsRegularSemigroupElement(s, f);
false
gap> f := Transformation([197551951]);;
gap> inv := InversesOfSemigroupElement(s, f);;
gap> Sort(inv);
gap> inv;
[ Transformation( [ 123551352 ] ), 
  Transformation( [ 151151312 ] ), 
  Transformation( [ 151251322 ] ) ]
gap> IsRegularSemigroupElement(s, f);
true
gap> ForAll(inv, g -> f * g * f = f and g * f * g = g);
true
gap> gens := [Transformation([364245]),
> Transformation([515415]),
> Transformation([565342]),
> Transformation([666462]),
> Transformation([444243]),
> Transformation([112262]),
> Transformation([524465]),
> Transformation([463566]),
> Transformation([463312]),
> Transformation([164454])];;
gap> s := Semigroup(gens);;
gap> Number(GreensRClasses(s), IsRegularGreensClass);
98
gap> Number(RClassReps(s), x -> IsRegularSemigroupElement(s, x));
98
gap> Size(s);
8175
gap> Transformation([9455315429771667886989536,
205994681706529783774485243293181355,
94494299463584527980785538970792784,
99973337077694118632942337556796389,
90649849351008971370202261139978990,
48898585642106125985539]);;
gap> f := last;;
gap> SmallestIdempotentPower(f);
12
gap> f ^ 24 = f ^ 12;
true
gap> ForAny([1 .. 11], i -> f ^ (2 * i) = f ^ i);
false
gap> s := FullTransformationSemigroup(6);;
gap> f := Transformation([213451]);;
gap> inv := InversesOfSemigroupElement(s, f);;
gap> Sort(inv);
gap> inv;
[ Transformation( [ 213451 ] ), 
  Transformation( [ 213452 ] ), 
  Transformation( [ 213453 ] ), 
  Transformation( [ 213454 ] ), 
  Transformation( [ 213455 ] ), 
  Transformation( [ 613451 ] ), 
  Transformation( [ 613453 ] ), 
  Transformation( [ 613454 ] ), 
  Transformation( [ 613455 ] ), 
  Transformation( [ 613456 ] ) ]
gap> ForAll(last, g -> f * g * f = f and g * f * g = g);
true
gap> gens := [
>  Transformation([3333]), Transformation([2424]),
>  Transformation([2323]), Transformation([4143]),
>  Transformation([1441]), Transformation([2231]),
>  Transformation([2434]), Transformation([2212]),
>  Transformation([2213]), Transformation([1223]),
>  Transformation([2432]), Transformation([2333])];;
gap> s := Monoid(gens);;
gap> f := Transformation([3113]);;
gap> d := DClass(s, f);;
gap> Size(s);;
gap> Size(d);
84
gap> f in d;
true
gap> Transformation([2442]) in d;
true
gap> a := List(GreensDClasses(s), Size);;
gap> Sort(a);
gap> a;
148490 ]
gap> MultiplicativeZero(s);
fail
gap> MinimalIdeal(s);
<simple transformation semigroup ideal of degree 4 with 1 generator>
gap> Size(last);
4
gap> IsRightZeroSemigroup(last2);
true

#
gap> SEMIGROUPS.StopTest();
gap> STOP_TEST("Semigroups package: extreme/transform.tst");

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