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 34 kB image not shown  

Quelle  ideals.tst   Sprache: unbekannt

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

#############################################################################
##
#W  extreme/ideals.tst
#Y  Copyright (C) 2013-15                                James D. Mitchell
##                                                          Julius Jonusas
##                                                          Wilf A. Wilson
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##

#@local A, B, C, I, J, K, L, M, R, S, T, U, a, acting, an, data, gens, gensI
#@local gensJ, gensK, gensL, ideals, idems, o, s, x
gap> START_TEST("Semigroups package: extreme/ideals.tst");
gap> LoadPackage("semigroups", false);;

#
gap> SEMIGROUPS.StartTest();
gap> SEMIGROUPS.DefaultOptionsRec.acting := true;;

# IdealsTest1
gap> gens := [Transformation([2617534]),
>   Transformation([5372164]),
>   Transformation([2553423]),
>   Transformation([1516156]),
>   Transformation([6222512]),
>   Transformation([7544455]),
>   Transformation([5161151]),
>   Transformation([3523223])];;
gap> S := Semigroup(gens);;
gap> I := SemigroupIdeal(S, S.8);;
gap> x := S.8 * S.1 * S.4 * S.3;;
gap> R := RClass(I, x);;
gap> x in R;
true
gap> I := MinimalIdeal(I);
<simple transformation semigroup ideal of degree 7 with 1 generator>
gap> IsRegularSemigroup(I);
true
gap> Idempotents(I, 0);
[  ]
gap> idems := ShallowCopy(Idempotents(I));;
gap> Sort(idems);
gap> idems;
[ Transformation( [ 1111111 ] ), 
  Transformation( [ 2222222 ] ), 
  Transformation( [ 3333333 ] ), 
  Transformation( [ 4444444 ] ), 
  Transformation( [ 5555555 ] ), 
  Transformation( [ 6666666 ] ), 
  Transformation( [ 7777777 ] ) ]
gap> Idempotents(I, 2);
[  ]
gap> x in R;
true
gap> I := MinimalIdeal(I);
<simple transformation semigroup ideal of degree 7 with 1 generator>
gap> IsRegularSemigroup(I);;
gap> Idempotents(I, 0);
[  ]
gap> idems := ShallowCopy(Idempotents(I));;
gap> Sort(idems);
gap> idems;
[ Transformation( [ 1111111 ] ), 
  Transformation( [ 2222222 ] ), 
  Transformation( [ 3333333 ] ), 
  Transformation( [ 4444444 ] ), 
  Transformation( [ 5555555 ] ), 
  Transformation( [ 6666666 ] ), 
  Transformation( [ 7777777 ] ) ]
gap> Idempotents(I, 2);
[  ]
gap> S := Semigroup([Transformation([134135]),
>   Transformation([153555]),
>   Transformation([246165]),
>   Transformation([324233]),
>   Transformation([412621]),
>   Transformation([464333]),
>   Transformation([465526]),
>   Transformation([516163]),
>   Transformation([525353]),
>   Transformation([645516])]);
<transformation semigroup of degree 6 with 10 generators>
gap> I := SemigroupIdeal(S, Representative(DClasses(S)[3]));
<non-regular transformation semigroup ideal of degree 6 with 1 generator>
gap> S := JonesMonoid(6);
<regular bipartition *-monoid of degree 6 with 5 generators>
gap> a := Bipartition([[1, -1], [23], [4, -2], [5, -5], [6, -6],
> [-3, -4]]);;
gap> I := SemigroupIdeal(S, a);
<regular bipartition *-semigroup ideal of degree 6 with 1 generator>
gap> a := Bipartition([[14], [23], [56], [-1, -2],
> [-3, -6], [-4, -5]]);;
gap> InversesOfSemigroupElement(I, a);
[ <bipartition: [ 12 ], [ 34 ], [ 56 ], [ -1, -2 ], [ -3, -4 ], 
     [ -5, -6 ]>, <bipartition: [ 14 ], [ 23 ], [ 56 ], [ -1, -2 ], 
     [ -3, -4 ], [ -5, -6 ]>, 
  <bipartition: [ 12 ], [ 36 ], [ 45 ], [ -1, -2 ], [ -3, -4 ], 
     [ -5, -6 ]>, <bipartition: [ 16 ], [ 23 ], [ 45 ], [ -1, -2 ], 
     [ -3, -4 ], [ -5, -6 ]>, 
  <bipartition: [ 16 ], [ 25 ], [ 34 ], [ -1, -2 ], [ -3, -4 ], 
     [ -5, -6 ]>, <bipartition: [ 12 ], [ 34 ], [ 56 ], [ -1, -4 ], 
     [ -2, -3 ], [ -5, -6 ]>, 
  <bipartition: [ 14 ], [ 23 ], [ 56 ], [ -1, -4 ], [ -2, -3 ], 
     [ -5, -6 ]>, <bipartition: [ 12 ], [ 36 ], [ 45 ], [ -1, -4 ], 
     [ -2, -3 ], [ -5, -6 ]>, 
  <bipartition: [ 16 ], [ 23 ], [ 45 ], [ -1, -4 ], [ -2, -3 ], 
     [ -5, -6 ]>, <bipartition: [ 16 ], [ 25 ], [ 34 ], [ -1, -4 ], 
     [ -2, -3 ], [ -5, -6 ]>, 
  <bipartition: [ 12 ], [ 34 ], [ 56 ], [ -1, -2 ], [ -3, -6 ], 
     [ -4, -5 ]>, <bipartition: [ 14 ], [ 23 ], [ 56 ], [ -1, -2 ], 
     [ -3, -6 ], [ -4, -5 ]>, 
  <bipartition: [ 12 ], [ 36 ], [ 45 ], [ -1, -2 ], [ -3, -6 ], 
     [ -4, -5 ]>, <bipartition: [ 16 ], [ 23 ], [ 45 ], [ -1, -2 ], 
     [ -3, -6 ], [ -4, -5 ]>, 
  <bipartition: [ 16 ], [ 25 ], [ 34 ], [ -1, -2 ], [ -3, -6 ], 
     [ -4, -5 ]>, <bipartition: [ 12 ], [ 34 ], [ 56 ], [ -1, -6 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 14 ], [ 23 ], [ 56 ], [ -1, -6 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 12 ], [ 36 ], [ 45 ], [ -1, -6 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 16 ], [ 23 ], [ 45 ], [ -1, -6 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 16 ], [ 25 ], [ 34 ], [ -1, -6 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 12 ], [ 34 ], [ 56 ], [ -1, -6 ], [ -2, -5 ], 
     [ -3, -4 ]>, <bipartition: [ 14 ], [ 23 ], [ 56 ], [ -1, -6 ], 
     [ -2, -5 ], [ -3, -4 ]>, 
  <bipartition: [ 12 ], [ 36 ], [ 45 ], [ -1, -6 ], [ -2, -5 ], 
     [ -3, -4 ]>, <bipartition: [ 16 ], [ 23 ], [ 45 ], [ -1, -6 ], 
     [ -2, -5 ], [ -3, -4 ]>, 
  <bipartition: [ 16 ], [ 25 ], [ 34 ], [ -1, -6 ], [ -2, -5 ], 
     [ -3, -4 ]> ]
gap> a := Bipartition([[12], [34], [5, -1], [6, -6], [-2, -3],
> [-4, -5]]);;
gap> InversesOfSemigroupElement(I, a);
[ <bipartition: [ 12 ], [ 34 ], [ 5, -5 ], [ 6, -6 ], [ -1, -2 ], 
     [ -3, -4 ]>, <bipartition: [ 12 ], [ 3, -5 ], [ 45 ], [ 6, -6 ], 
     [ -1, -2 ], [ -3, -4 ]>, 
  <bipartition: [ 12 ], [ 3, -5 ], [ 4, -6 ], [ 56 ], [ -1, -2 ], 
     [ -3, -4 ]>, <bipartition: [ 1, -5 ], [ 23 ], [ 45 ], [ 6, -6 ], 
     [ -1, -2 ], [ -3, -4 ]>, 
  <bipartition: [ 1, -5 ], [ 23 ], [ 4, -6 ], [ 56 ], [ -1, -2 ], 
     [ -3, -4 ]>, <bipartition: [ 1, -5 ], [ 2, -6 ], [ 34 ], [ 56 ], 
     [ -1, -2 ], [ -3, -4 ]>, 
  <bipartition: [ 14 ], [ 23 ], [ 5, -5 ], [ 6, -6 ], [ -1, -2 ], 
     [ -3, -4 ]>, <bipartition: [ 1, -5 ], [ 25 ], [ 34 ], [ 6, -6 ], 
     [ -1, -2 ], [ -3, -4 ]>, 
  <bipartition: [ 1, -5 ], [ 2, -6 ], [ 36 ], [ 45 ], [ -1, -2 ], 
     [ -3, -4 ]>, <bipartition: [ 12 ], [ 34 ], [ 5, -3 ], [ 6, -6 ], 
     [ -1, -2 ], [ -4, -5 ]>, 
  <bipartition: [ 12 ], [ 3, -3 ], [ 45 ], [ 6, -6 ], [ -1, -2 ], 
     [ -4, -5 ]>, <bipartition: [ 12 ], [ 3, -3 ], [ 4, -6 ], [ 56 ], 
     [ -1, -2 ], [ -4, -5 ]>, 
  <bipartition: [ 1, -3 ], [ 23 ], [ 45 ], [ 6, -6 ], [ -1, -2 ], 
     [ -4, -5 ]>, <bipartition: [ 1, -3 ], [ 23 ], [ 4, -6 ], [ 56 ], 
     [ -1, -2 ], [ -4, -5 ]>, 
  <bipartition: [ 1, -3 ], [ 2, -6 ], [ 34 ], [ 56 ], [ -1, -2 ], 
     [ -4, -5 ]>, <bipartition: [ 14 ], [ 23 ], [ 5, -3 ], [ 6, -6 ], 
     [ -1, -2 ], [ -4, -5 ]>, 
  <bipartition: [ 1, -3 ], [ 25 ], [ 34 ], [ 6, -6 ], [ -1, -2 ], 
     [ -4, -5 ]>, <bipartition: [ 1, -3 ], [ 2, -6 ], [ 36 ], [ 45 ], 
     [ -1, -2 ], [ -4, -5 ]>, 
  <bipartition: [ 12 ], [ 34 ], [ 5, -1 ], [ 6, -6 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 12 ], [ 3, -1 ], [ 45 ], [ 6, -6 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 12 ], [ 3, -1 ], [ 4, -6 ], [ 56 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 1, -1 ], [ 23 ], [ 45 ], [ 6, -6 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 1, -1 ], [ 23 ], [ 4, -6 ], [ 56 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 1, -1 ], [ 2, -6 ], [ 34 ], [ 56 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 14 ], [ 23 ], [ 5, -1 ], [ 6, -6 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 1, -1 ], [ 25 ], [ 34 ], [ 6, -6 ], 
     [ -2, -3 ], [ -4, -5 ]>, 
  <bipartition: [ 1, -1 ], [ 2, -6 ], [ 36 ], [ 45 ], [ -2, -3 ], 
     [ -4, -5 ]>, <bipartition: [ 12 ], [ 34 ], [ 5, -5 ], [ 6, -6 ], 
     [ -1, -4 ], [ -2, -3 ]>, 
  <bipartition: [ 12 ], [ 3, -5 ], [ 45 ], [ 6, -6 ], [ -1, -4 ], 
     [ -2, -3 ]>, <bipartition: [ 12 ], [ 3, -5 ], [ 4, -6 ], [ 56 ], 
     [ -1, -4 ], [ -2, -3 ]>, 
  <bipartition: [ 1, -5 ], [ 23 ], [ 45 ], [ 6, -6 ], [ -1, -4 ], 
     [ -2, -3 ]>, <bipartition: [ 1, -5 ], [ 23 ], [ 4, -6 ], [ 56 ], 
     [ -1, -4 ], [ -2, -3 ]>, 
  <bipartition: [ 1, -5 ], [ 2, -6 ], [ 34 ], [ 56 ], [ -1, -4 ], 
     [ -2, -3 ]>, <bipartition: [ 14 ], [ 23 ], [ 5, -5 ], [ 6, -6 ], 
     [ -1, -4 ], [ -2, -3 ]>, 
  <bipartition: [ 1, -5 ], [ 25 ], [ 34 ], [ 6, -6 ], [ -1, -4 ], 
     [ -2, -3 ]>, <bipartition: [ 1, -5 ], [ 2, -6 ], [ 36 ], [ 45 ], 
     [ -1, -4 ], [ -2, -3 ]>, 
  <bipartition: [ 12 ], [ 34 ], [ 5, -1 ], [ 6, -6 ], [ -2, -5 ], 
     [ -3, -4 ]>, <bipartition: [ 12 ], [ 3, -1 ], [ 45 ], [ 6, -6 ], 
     [ -2, -5 ], [ -3, -4 ]>, 
  <bipartition: [ 12 ], [ 3, -1 ], [ 4, -6 ], [ 56 ], [ -2, -5 ], 
     [ -3, -4 ]>, <bipartition: [ 1, -1 ], [ 23 ], [ 45 ], [ 6, -6 ], 
     [ -2, -5 ], [ -3, -4 ]>, 
  <bipartition: [ 1, -1 ], [ 23 ], [ 4, -6 ], [ 56 ], [ -2, -5 ], 
     [ -3, -4 ]>, <bipartition: [ 1, -1 ], [ 2, -6 ], [ 34 ], [ 56 ], 
     [ -2, -5 ], [ -3, -4 ]>, 
  <bipartition: [ 14 ], [ 23 ], [ 5, -1 ], [ 6, -6 ], [ -2, -5 ], 
     [ -3, -4 ]>, <bipartition: [ 1, -1 ], [ 25 ], [ 34 ], [ 6, -6 ], 
     [ -2, -5 ], [ -3, -4 ]>, 
  <bipartition: [ 1, -1 ], [ 2, -6 ], [ 36 ], [ 45 ], [ -2, -5 ], 
     [ -3, -4 ]> ]
gap> S := SymmetricInverseMonoid(8);;
gap> x := PartialPerm([1]);;
gap> I := SemigroupIdeal(S, x);
<inverse partial perm semigroup ideal of rank 8 with 1 generator>
gap> IsZeroSimpleSemigroup(I);
true

# IdealsTest2
gap> gens := [Transformation([34121]),
>   Transformation([42155]),
>   Transformation([42224])];;
gap> s := Semigroup(gens);;
gap> I := SemigroupIdeal(s, gens);
<regular transformation semigroup ideal of degree 5 with 3 generators>
gap> data := SemigroupData(I);
<closed semigroup ideal data with 26 reps, 23 lambda-values, 26 rho-values>
gap> Size(I);
731
gap> NrDClasses(I);
4
gap> GreensDClasses(I);
[ <Green's D-class: Transformation( [ 34121 ] )>, 
  <Green's D-class: Transformation( [ 42224 ] )>, 
  <Green's D-class: Transformation( [ 45244 ] )>, 
  <Green's D-class: Transformation( [ 22222 ] )> ]

# IdealsTest3
gap> gens := [Transformation([1341]),
> Transformation([2412]),
> Transformation([3113]),
> Transformation([3341])];;
gap> s := Semigroup(gens);;
gap> I := SemigroupIdeal(s, gens{[12]});
<non-regular transformation semigroup ideal of degree 4 with 2 generators>
gap> o := LambdaOrb(I);
<closed ideal lambda orbit with 11 points in 2 components>

# IdealsTest4 
gap> gens := [Transformation([1323]),
>  Transformation([1412]),
>  Transformation([2411]),
>  Transformation([3422])];;
gap> s := Semigroup(gens);;
gap> I := SemigroupIdeal(s, [gens[2] * gens[1], gens[3] ^ 3]);
<non-regular transformation semigroup ideal of degree 4 with 2 generators>
gap> o := RhoOrb(I);
<closed ideal rho orbit with 10 points in 2 components>

# IdealsTest5
gap> gens := [
> PartialPerm([123456710], [46738295]),
> PartialPerm([1279], [5643]),
> PartialPerm([12678], [51623])];;
gap> s := Semigroup(gens);
<partial perm semigroup of rank 10 with 3 generators>
gap> I := SemigroupIdeal(s, [gens[1] ^ 2, gens[2]]);
<non-regular partial perm semigroup ideal of rank 10 with 2 generators>
gap> R := GreensRClassOfElement(I, gens[1] ^ 2);
<Green's R-class: [1,3,9][4,7][10,8](2)(6)>
gap> DClassOfRClass(R);
<Green's D-class: [1,3,9][4,7][10,8](2)(6)>
gap> L := GreensLClassOfElement(I, gens[1] ^ 2);
<Green's L-class: [1,3,9][4,7][10,8](2)(6)>
gap> DClassOfLClass(L);
<Green's D-class: [1,3,9][4,7][10,8](2)(6)>

# IdealsTest6: \in for an inverse op semigroup ideal
gap> S := InverseSemigroup(
> PartialPerm([1235678], [59106384]),
>  PartialPerm([1234568], [6284753]),
>  PartialPerm([124689], [7101942]),
>  PartialPerm([124789], [1078591]),
>  PartialPerm([1236810], [267915]),
>  PartialPerm([12345810], [3142567]),
>  PartialPerm([123467810], [381941056]),
>  PartialPerm([123456710], [476910132]),
>  PartialPerm([1245810], [6278104]),
>  PartialPerm([12345810], [7143265]));;
gap> I := SemigroupIdeal(S,
> [PartialPerm([123456710], [476910132]),
>   PartialPerm([4], [3]), PartialPerm([67], [58])]);;
gap> Size(I);
4626941

# IdealsTest7: attributes.gi
gap> S := Semigroup([Transformation([134135]),
>  Transformation([153555]),
>  Transformation([246165]),
>  Transformation([324233]),
>  Transformation([412621]),
>  Transformation([464333]),
>  Transformation([465526]),
>  Transformation([516163]),
>  Transformation([525353]),
>  Transformation([645516])]);;
gap> I := SemigroupIdeal(S, Transformation([134135]));;
gap> J := SemigroupIdeal(S, Transformation([153555]));;
gap> IsGreensDGreaterThanFunc(I); IsGreensDGreaterThanFunc(J);
function( x, y ) ... end
function( x, y ) ... end
gap> Length(MaximalDClasses(I));
265
gap> MaximalDClasses(J);
[ <Green's D-class: Transformation( [ 153555 ] )> ]
gap> StructureDescriptionSchutzenbergerGroups(I);
[ "1", "C2", "S3" ]
gap> StructureDescriptionSchutzenbergerGroups(J);
[ "1", "C2", "S3" ]
gap> StructureDescriptionMaximalSubgroups(J);
[ "1", "C2", "S3" ]
gap> StructureDescriptionMaximalSubgroups(I);
[ "1", "C2", "S3" ]
gap> GroupOfUnits(I);
fail
gap> GroupOfUnits(J);
fail
gap> IdempotentGeneratedSubsemigroup(I);;
gap> IdempotentGeneratedSubsemigroup(J);;
gap> last = last2;
true
gap> x := Transformation([551411]);;
gap> x in I;
true
gap> x in J;
true
gap> Length(InversesOfSemigroupElement(I, x)) = 84;
true
gap> Set(InversesOfSemigroupElement(J, x)) =
> Set(InversesOfSemigroupElement(I, x));
true
gap> MultiplicativeNeutralElement(I);
fail
gap> MultiplicativeNeutralElement(J);
fail
gap> MultiplicativeNeutralElement(I);
fail
gap> MultiplicativeNeutralElement(J);
fail
gap> MultiplicativeZero(I);
fail
gap> MultiplicativeZero(J);
fail
gap> MinimalIdeal(I);
<simple transformation semigroup ideal of degree 6 with 1 generator>
gap> MinimalIdeal(J);
<simple transformation semigroup ideal of degree 6 with 1 generator>
gap> last = last2;
true
gap> MinimalDClass(I);
<Green's D-class: Transformation( [ 555555 ] )>
gap> MinimalDClass(J);
<Green's D-class: Transformation( [ 555555 ] )>

# IdealsTest8: attributes
gap> S := InverseSemigroup(
>  PartialPerm([1235678], [59106384]),
>  PartialPerm([1234568], [6284753]),
>  PartialPerm([124689], [7101942]),
>  PartialPerm([124789], [1078591]),
>  PartialPerm([1236810], [267915]),
>  PartialPerm([12345810], [3142567]),
>  PartialPerm([123467810], [381941056]),
>  PartialPerm([123456710], [476910132]),
>  PartialPerm([1245810], [6278104]),
>  PartialPerm([12345810], [7143265]));;
gap> K := SemigroupIdeal(S, S.1 * S.2 ^ 2 * S.8);
<inverse partial perm semigroup ideal of rank 10 with 1 generator>
gap> MaximalDClasses(K);
[ <Green's D-class: <identity partial perm on [ 369 ]>> ]
gap> StructureDescriptionMaximalSubgroups(K);
[ "1", "C2", "S3" ]
gap> StructureDescriptionSchutzenbergerGroups(K);
[ "1", "C2", "S3" ]
gap> GroupOfUnits(K);
fail
gap> Size(IdempotentGeneratedSubsemigroup(K));
176
gap> x := PartialPerm([24689], [101942]);;
gap> x in K;
false
gap> x := PartialPerm([9], [9]);;
gap> x in K;
true
gap> InversesOfSemigroupElement(K, x);
[ <identity partial perm on [ 9 ]> ]
gap> MultiplicativeZero(K);
<empty partial perm>
gap> MultiplicativeNeutralElement(K);
fail
gap> MinimalIdeal(K);
<partial perm group of rank 0>
gap> MinimalDClass(K);
<Green's D-class: <empty partial perm>>
gap> I := MinimalIdeal(K);
<partial perm group of rank 0>
gap> x := IsomorphismPermGroup(I);;
gap> IsTrivial(Range(x));
true

# IdealsTest9: attributes.gi
gap> S := Monoid(Transformation([26726115]),
>   Transformation([38145671]),
>   Transformation([43277665]),
>   Transformation([71742563]));;
gap> L := SemigroupIdeal(S, GeneratorsOfSemigroup(S));
<non-regular transformation semigroup ideal of degree 8 with 5 generators>
gap> Length(MaximalDClasses(L));
1
gap> L = S;
true
gap> MaximalDClasses(L);
[ <Green's D-class: IdentityTransformation> ]
gap> StructureDescriptionSchutzenbergerGroups(L);
[ "1", "C2", "C4", "C5", "S3", "S4" ]
gap> StructureDescriptionMaximalSubgroups(L);
[ "1", "C2", "C4", "C5", "S3", "S4" ]
gap> GroupOfUnits(L);
<trivial transformation group of degree 0 with 1 generator>
gap> IdempotentGeneratedSubsemigroup(L);;
gap> x := Transformation([14455331]);;
gap> InversesOfSemigroupElement(L, x);
[  ]
gap> InversesOfSemigroupElement(S, x);
[  ]
gap> MultiplicativeNeutralElement(L);
IdentityTransformation
gap> MultiplicativeZero(L);
fail
gap> MinimalIdeal(L);
<simple transformation semigroup ideal of degree 8 with 1 generator>
gap> L := SemigroupIdeal(S, GeneratorsOfSemigroup(S));
<non-regular transformation semigroup ideal of degree 8 with 5 generators>
gap> MinimalIdeal(J);
<simple transformation semigroup ideal of size 6, degree 6 with 1 generator>
gap> MinimalIdeal(L);
<simple transformation semigroup ideal of degree 8 with 1 generator>
gap> MinimalDClass(L);
<Green's D-class: Transformation( [ 11111111 ] )>
gap> MinimalDClass(S);
<Green's D-class: Transformation( [ 11111111 ] )>

# IdealsTest10
gap> R := Semigroup([
> Bipartition([[1235, -3], [467, -5], [-1], [-2, -4, -7],
>   [-6]]),
> Bipartition([[126, -5], [3], [45, -2], [7, -1, -3, -4, -7],
>   [-6]]),
> Bipartition([[1345, -2, -3, -5], [26, -1, -6, -7], [7],
>   [-4]]),
> Bipartition([[1346, -7], [25, -1, -5], [7, -2, -3, -4],
>   [-6]]),
> Bipartition([[13], [256, -1, -2, -3], [47, -4, -7], [-5],
>   [-6]]),
> Bipartition([[145, -1, -2, -4, -6], [237, -3, -5, -7], [6]]),
> Bipartition([[1, -1, -4], [234567, -2, -6], [-3, -5, -7]]),
> Bipartition([[17, -6], [2345, -1, -2, -4], [6, -3, -5],
>   [-7]]),
> Bipartition([[15, -2, -7], [236, -4], [4, -1, -5, -6], [7],
>   [-3]]),
> Bipartition([[1, -3, -4], [2], [37, -1, -7], [45, -6],
> [6, -5], [-2]])]);;
gap> gens := [
> Bipartition([[1235, -3], [467, -5], [-1],
>   [-2, -4, -7], [-6]]),
> Bipartition([[126, -5], [3], [45, -2], [7, -1, -3, -4, -7],
>   [-6]]),
> Bipartition([[13], [256, -1, -2, -3], [47, -4, -7], [-5],
>   [-6]]),
> Bipartition([[1, -3, -4], [2], [37, -1, -7], [45, -6],
>   [6, -5], [-2]])];;
gap> M := SemigroupIdeal(R, gens);
<non-regular bipartition semigroup ideal of degree 7 with 4 generators>
gap> Length(MaximalDClasses(M));
10
gap> Length(GeneratorsOfSemigroup(M)) < 100;
true
gap> StructureDescriptionSchutzenbergerGroups(M);
[ "1" ]
gap> StructureDescriptionMaximalSubgroups(M);
[ "1" ]
gap> Size(IdempotentGeneratedSubsemigroup(M));
1441
gap> GroupOfUnits(M);
fail
gap> x := Bipartition([[1234567, -3, -5], [-1],
> [-2, -4, -7], [-6]]);;
gap> x in M;
true
gap> Length(InversesOfSemigroupElement(M, x));
875
gap> ForAll(InversesOfSemigroupElement(M, x), y -> y in M);
true
gap> MultiplicativeNeutralElement(M);
fail
gap> MultiplicativeZero(M);
fail
gap> MinimalIdeal(M);
<simple bipartition semigroup ideal of degree 7 with 1 generator>
gap> MinimalDClass(M) = DClass(M, Bipartition([[1234567], [-1],
> [-2, -4, -7], [-3, -5], [-6]]));
true
gap> MinimalDClass(R);
<Green's D-class: <bipartition: [ 1234567 ], 
  [ -1, -2, -3, -4, -5, -7 ], [ -6 ]>>

# IdealsTest11: greens.gi for ideals
gap> S := Semigroup([Transformation([126655]),
>   Transformation([231365]),
>   Transformation([346321]),
>   Transformation([366456]),
>   Transformation([452165]),
>   Transformation([464252]),
>   Transformation([532121]),
>   Transformation([652441])]);
<transformation semigroup of degree 6 with 8 generators>
gap> gensI := [Transformation([452165]),
>   Transformation([526214]),
>   Transformation([346321])];;
gap> gensJ := [Transformation([126655])];;
gap> I := SemigroupIdeal(S, gensI);
<non-regular transformation semigroup ideal of degree 6 with 3 generators>
gap> J := SemigroupIdeal(S, gensJ);
<regular transformation semigroup ideal of degree 6 with 1 generator>
gap> T := Semigroup([PartialPerm([12345], [12645]),
>   PartialPerm([23456], [21645]),
>   PartialPerm([12345], [35462]),
>   PartialPerm([12456], [62315]),
>   PartialPerm([13456], [21435]),
>   PartialPerm([1256], [4521]),
>   PartialPerm([2456], [4632]),
>   PartialPerm([2345], [6345]),
>   PartialPerm([2346], [5324])]);
<partial perm semigroup of rank 6 with 9 generators>
gap> gensK := [
>   PartialPerm([256], [645]),
>   PartialPerm([1246], [2361]),
>   PartialPerm([1235], [4512]),
>   PartialPerm([1256], [5261])];;
gap> K := SemigroupIdeal(T, gensK);
<non-regular partial perm semigroup ideal of rank 6 with 4 generators>
gap> R := Semigroup([Bipartition([[1235, -3], [467, -5], [-1],
> [-2, -4, -7], [-6]]),
>  Bipartition([[126, -5], [3], [45, -2], [7, -1, -3, -4, -7],
>  [-6]]),
>  Bipartition([[1345, -2, -3, -5], [26, -1, -6, -7], [7],
>  [-4]]),
>  Bipartition([[1346, -7], [25, -1, -5], [7, -2, -3, -4],
>  [-6]]),
>  Bipartition([[13], [256, -1, -2, -3], [47, -4, -7], [-5],
>   [-6]]), Bipartition([[145, -1, -2, -4, -6],
>  [237, -3, -5, -7], [6]]),
> Bipartition([[1, -1, -4], [234567, -2, -6],
> [-3, -5, -7]]),
>  Bipartition([[17, -6], [2345, -1, -2, -4], [6, -3, -5],
>  [-7]]),
>  Bipartition([[15, -2, -7], [236, -4], [4, -1, -5, -6], [7],
>  [-3]]),
> Bipartition([[1, -3, -4], [2], [37, -1, -7], [45, -6], [6, -5],
>  [-2]])]);
<bipartition semigroup of degree 7 with 10 generators>
gap> gensL :=
> [Bipartition([[1235, -3], [467, -5], [-1], [-2, -4, -7],
>               [-6]]),
>  Bipartition([[126, -5], [3], [45, -2], [7, -1, -3, -4, -7],
>               [-6]]),
>  Bipartition([[13], [256, -1, -2, -3], [47, -4, -7], [-5],
>               [-6]]),
>  Bipartition([[1, -3, -4], [2], [37, -1, -7], [45, -6], [6, -5], [-2]])];;
gap> L := SemigroupIdeal(R, gensL);
<non-regular bipartition semigroup ideal of degree 7 with 4 generators>
gap> U := Semigroup([Transformation([132245]),
>   Transformation([156625]),
>   Transformation([164631]),
>   Transformation([213352]),
>   Transformation([215123]),
>   Transformation([331511]),
>   Transformation([444335]),
>   Transformation([446356]),
>   Transformation([533624]),
>   Transformation([644632])]);
<transformation semigroup of degree 6 with 10 generators>
gap> A := SemigroupIdeal(U, Transformation([533624]));
<non-regular transformation semigroup ideal of degree 6 with 1 generator>
gap> B := SemigroupIdeal(U, Transformation([644632]));
<non-regular transformation semigroup ideal of degree 6 with 1 generator>
gap> C := SemigroupIdeal(U, Transformation([331511]));
<regular transformation semigroup ideal of degree 6 with 1 generator>
gap> ideals := [A, B, C, I, J, K, L];;

# IdealsTest12: GreensXClasses
gap> GreensDClasses(I);
[ <Green's D-class: Transformation( [ 452165 ] )>, 
  <Green's D-class: Transformation( [ 526214 ] )>, 
  <Green's D-class: Transformation( [ 346321 ] )>, 
  <Green's D-class: Transformation( [ 165456 ] )>, 
  <Green's D-class: Transformation( [ 551552 ] )>, 
  <Green's D-class: Transformation( [ 222262 ] )>, 
  <Green's D-class: Transformation( [ 555555 ] )>, 
  <Green's D-class: Transformation( [ 652541 ] )>, 
  <Green's D-class: Transformation( [ 265614 ] )>, 
  <Green's D-class: Transformation( [ 652514 ] )>, 
  <Green's D-class: Transformation( [ 265641 ] )>, 
  <Green's D-class: Transformation( [ 526241 ] )>, 
  <Green's D-class: Transformation( [ 346421 ] )>, 
  <Green's D-class: Transformation( [ 463612 ] )>, 
  <Green's D-class: Transformation( [ 346412 ] )>, 
  <Green's D-class: Transformation( [ 463621 ] )>, 
  <Green's D-class: Transformation( [ 634312 ] )>, 
  <Green's D-class: Transformation( [ 634321 ] )>, 
  <Green's D-class: Transformation( [ 2412 ] )>, 
  <Green's D-class: Transformation( [ 241465 ] )>, 
  <Green's D-class: Transformation( [ 2414 ] )>, 
  <Green's D-class: Transformation( [ 4121 ] )>, 
  <Green's D-class: Transformation( [ 412165 ] )>, 
  <Green's D-class: Transformation( [ 1242 ] )>, 
  <Green's D-class: Transformation( [ 124265 ] )> ]
gap> Number(GreensDClasses(I), IsRegularGreensClass);
4
gap> I := SemigroupIdeal(S, gensI);;
gap> NrRegularDClasses(I);
4
gap> GreensDClasses(J);
[ <Green's D-class: Transformation( [ 126655 ] )>, 
  <Green's D-class: Transformation( [ 125555 ] )>, 
  <Green's D-class: Transformation( [ 655555 ] )>, 
  <Green's D-class: Transformation( [ 666666 ] )> ]
gap> Number(GreensDClasses(J), IsRegularGreensClass);
4
gap> J := SemigroupIdeal(S, gensJ);;
gap> NrRegularDClasses(J);
4
gap> Size(GreensDClasses(K));
735
gap> Number(GreensDClasses(K), IsRegularGreensClass);
5
gap> K := SemigroupIdeal(T, gensK);;
gap> NrRegularDClasses(K);
5
gap> Size(GreensHClasses(I));
2347
gap> Size(GreensLClasses(I));
75
gap> GreensLClasses(I){[51 .. 60]};
[ <Green's L-class: Transformation( [ 335333 ] )>, 
  <Green's L-class: Transformation( [ 555555 ] )>, 
  <Green's L-class: Transformation( [ 666666 ] )>, 
  <Green's L-class: Transformation( [ 111111 ] )>, 
  <Green's L-class: Transformation( [ 222222 ] )>, 
  <Green's L-class: Transformation( [ 333333 ] )>, 
  <Green's L-class: Transformation( [ 444444 ] )>, 
  <Green's L-class: Transformation( [ 652514 ] )>, 
  <Green's L-class: Transformation( [ 265614 ] )>, 
  <Green's L-class: Transformation( [ 526241 ] )> ]
gap> Size(GreensRClasses(I));
156
gap> Size(GreensHClasses(J));
2326
gap> Size(GreensLClasses(J));
54
gap> Size(GreensRClasses(J));
135
gap> GreensRClasses(J){[97 .. 103]};
[ <Green's R-class: Transformation( [ 512225 ] )>, 
  <Green's R-class: Transformation( [ 521555 ] )>, 
  <Green's R-class: Transformation( [ 125255 ] )>, 
  <Green's R-class: Transformation( [ 251525 ] )>, 
  <Green's R-class: Transformation( [ 212521 ] )>, 
  <Green's R-class: Transformation( [ 125115 ] )>, 
  <Green's R-class: Transformation( [ 525215 ] )> ]
gap> Size(GreensHClasses(K));
1555
gap> GreensHClasses(K){[1337 .. 1342]};
[ <Green's H-class: [3,1](2)(4)(5)>, <Green's H-class: [3,2](1,4)(5)>, 
  <Green's H-class: [6,2](1,5,4)>, <Green's H-class: [3,4,5,1][6,2]>, 
  <Green's H-class: [3,4][6,2](1)(5)>, <Green's H-class: [3,4,5][6,1](2)> ]
gap> Size(GreensLClasses(K));
917
gap> Size(GreensRClasses(K));
791

# IdealsTest13: XClassReps
gap> DClassReps(J);
[ Transformation( [ 126655 ] ), 
  Transformation( [ 125555 ] ), 
  Transformation( [ 655555 ] ), 
  Transformation( [ 666666 ] ) ]
gap> LClassReps(L){[10 .. 20]};
[ <bipartition: [ 1234567, -2, -7 ], [ -1, -4, -5, -6 ], [ -3 ]>, 
  <bipartition: [ 1234567, -1, -7 ], [ -2 ], [ -3, -4, -5, -6 ]>, 
  <bipartition: [ 1234567, -1, -4, -5, -6 ], [ -2, -7 ], [ -3 ]>, 
  <bipartition: [ 1234567, -3, -4, -5, -6 ], [ -1, -7 ], [ -2 ]>, 
  <bipartition: [ 1234567, -1, -5 ], [ -2, -3, -4, -7 ], [ -6 ]>, 
  <bipartition: [ 1234567, -2, -4, -7 ], [ -1, -5, -6 ], [ -3 ]>, 
  <bipartition: [ 1234567, -2, -3, -5 ], [ -1, -6, -7 ], [ -4 ]>, 
  <bipartition: [ 1234567, -2, -6 ], [ -1, -4 ], [ -3, -5, -7 ]>, 
  <bipartition: [ 1234567, -5 ], [ -1, -3, -4, -6, -7 ], [ -2 ]>, 
  <block bijection: [ 1234567, -1, -2, -3, -4, -5, -6, -7 ]>, 
  <bipartition: [ 1234567, -1, -6, -7 ], [ -2, -3, -5 ], [ -4 ]> ]

# IdealsTest14: GreensXClassOfElement
gap> GreensDClassOfElement(I, Transformation([226255]));
<Green's D-class: Transformation( [ 226255 ] )>
gap> Transformation([552551]) in last;
true
gap> GreensDClassOfElement(J, Transformation([664242]));
<Green's D-class: Transformation( [ 664242 ] )>
gap> Transformation([215555]) in last;
true
gap> GreensDClassOfElement(K, PartialPerm([1456], [6213]));
<Green's D-class: [4,2][5,1,6,3]>
gap> GreensHClassOfElement(L, Bipartition([[1346, -3],
>   [257], [-1], [-2, -4, -7], [-5], [-6]]));
<Green's H-class: <bipartition: [ 1346, -3 ], [ 257 ], [ -1 ], 
  [ -2, -4, -7 ], [ -5 ], [ -6 ]>>
gap> GreensLClassOfElement(A, Transformation([634432]));
<Green's L-class: Transformation( [ 634432 ] )>
gap> GreensRClassOfElement(B, Transformation([346642]));
<Green's R-class: Transformation( [ 346642 ] )>
gap> GreensHClassOfElement(C, Transformation([225221]));
<Green's H-class: Transformation( [ 225221 ] )>

# IdealsTest15: NrXClasses (Recreate objects)
gap> I := SemigroupIdeal(S, gensI);;
gap> J := SemigroupIdeal(S, gensJ);;
gap> K := SemigroupIdeal(T, gensK);;
gap> L := SemigroupIdeal(R, gensL);;
gap> A := SemigroupIdeal(U, Transformation([533624]));;
gap> B := SemigroupIdeal(U, Transformation([644632]));;
gap> C := SemigroupIdeal(U, Transformation([331511]));;
gap> ideals := [A, B, C, I, J, K, L];;
gap> List(ideals, NrDClasses);
58269325473563 ]
gap> List(ideals, NrRClasses);
62334781156135791120 ]
gap> List(ideals, NrLClasses);
269307417554917165 ]
gap> List(ideals, NrHClasses);
2225172214562347232615551568 ]

# IdealsTest16: NrRegularDClasses
gap> List(ideals, NrRegularDClasses);
4334454 ]

# IdealsTest17: Idempotents, (and with integer)
gap> L := SemigroupIdeal(R, gensL);;
gap> Idempotents(A){[444 .. 450]};
[ Transformation( [ 443433 ] ), 
  Transformation( [ 226266 ] ), 
  Transformation( [ 225255 ] ), 
  Transformation( [ 223233 ] ), 
  Transformation( [ 116166 ] ), 
  Transformation( [ 445455 ] ), 
  Transformation( [ 113133 ] ) ]
gap> Idempotents(B){[444 .. 450]};
[ Transformation( [ 126666 ] ), 
  Transformation( [ 125555 ] ), 
  Transformation( [ 123333 ] ), 
  Transformation( [ 144466 ] ), 
  Transformation( [ 133366 ] ), 
  Transformation( [ 144455 ] ), 
  Transformation( [ 133355 ] ) ]
gap> Idempotents(C){[444 .. 450]};
[ Transformation( [ 163616 ] ), Transformation( [ 13313 ] ),
  Transformation( [ 133166 ] ), Transformation( [ 13331 ] ),
  Transformation( [ 133366 ] ), 
  Transformation( [ 133666 ] ), Transformation( [ 11333 ] ) 
 ]
gap> Idempotents(C, 1);
[ Transformation( [ 444444 ] ), 
  Transformation( [ 222222 ] ), 
  Transformation( [ 666666 ] ), 
  Transformation( [ 333333 ] ), 
  Transformation( [ 111111 ] ), 
  Transformation( [ 555555 ] ) ]
gap> Idempotents(L, 2);
[ <bipartition: [ 13 ], [ 256, -1, -2, -3 ], [ 47, -4, -7 ], [ -5 ], 
     [ -6 ]>, 
  <bipartition: [ 17, -1, -7 ], [ 23456, -3, -4, -5, -6 ], [ -2 ]>, 
  <bipartition: [ 1456, -1, -4, -5, -6 ], [ 2 ], [ 37, -2, -7 ], 
     [ -3 ]>, <bipartition: [ 13457, -1, -2, -3, -4, -5 ], [ 2 ], 
     [ 6, -6 ], [ -7 ]>, 
  <bipartition: [ 1346 ], [ 25, -5 ], [ 7, -1, -3, -4, -6, -7 ], 
     [ -2 ]>, <bipartition: [ 15, -1, -5 ], [ 2346, -2, -3, -4, -7 ], 
     [ 7 ], [ -6 ]> ]

# IdealsTest18: NrIdempotents
gap> List(ideals, NrIdempotents);
547528528774774431406 ]
gap> List(ideals, i -> Size(Idempotents(i)));
547528528774774431406 ]

# IdealsTest19: PartialOrderOfDClasses
gap> PartialOrderOfDClasses(K);
<immutable digraph with 735 vertices, 6707 edges>
gap> PartialOrderOfDClasses(I);
<immutable digraph with 25 vertices, 69 edges>
gap> PartialOrderOfDClasses(J);
<immutable digraph with 4 vertices, 5 edges>
gap> PartialOrderOfDClasses(A);
<immutable digraph with 58 vertices, 216 edges>
gap> PartialOrderOfDClasses(B);
<immutable digraph with 269 vertices, 801 edges>
gap> PartialOrderOfDClasses(C);
<immutable digraph with 3 vertices, 3 edges>

# IdealsTest20: Check that sizes were correct
gap> List(ideals, Size);
928571726906191671914637821568 ]

# IdealsTest21 
# this example caused a seg fault before changeset 34d25659aa72
gap> S := InverseSemigroup([
>  PartialPerm([1234], [4126]),
>  PartialPerm([1234], [5716]),
>  PartialPerm([1235], [5273]),
>  PartialPerm([12367], [13475]),
>  PartialPerm([123457], [324615])]);
<inverse partial perm semigroup of rank 7 with 5 generators>
gap> I := SemigroupIdeal(S, PartialPerm([13457], [13457]));
<inverse partial perm semigroup ideal of rank 7 with 1 generator>
gap> GeneratorsOfSemigroup(I);;

# IdealsTest22
# test for \in method from idealact.gi (only applies to ideals that know
# apriori that they are regular) which partially enumerates the semigroup ideal
# data
gap> S := RegularSemigroup(FullTransformationMonoid(6));;
gap> x := Transformation([651512]);;
gap> I := SemigroupIdeal(S, x);
<regular transformation semigroup ideal of degree 6 with 1 generator>
gap> x := Transformation([224422]);;
gap> x in I;
true
gap> IsClosedData(SemigroupData(I));
false
gap> Size(I);
35136
gap> Size(SemigroupIdeal(S, I));
35136

# IdealsTest23: IsomorphismPermGroup
# for an ideal which happens to be a group...
gap> S := FullTransformationSemigroup(6);;
gap> S := Semigroup(GroupOfUnits(S));;
gap> I := SemigroupIdeal(S, S);;
gap> x := IsomorphismPermGroup(I);;
gap> Source(x) = I;
true
gap> Range(x);
Group([ (1,2,3,4,5,6), (1,2) ])


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

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