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

Quelle  enums.tst   Sprache: unbekannt

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

#############################################################################
##
#W  enums.tst                        smallsemi - a GAP library of semigroups
#Y  Copyright (C) 2008-2024              Andreas Distler & James D. Mitchell
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##

#ReadTest(Filename(DirectoriesPackageLibrary("smallsemi","tst"),"enums.tst"));
gap> START_TEST("Smallsemi package: enums.tst");
gap> cur := [InfoLevel(InfoSmallsemi), InfoLevel(InfoWarning)];;
gap> SetInfoLevel(InfoSmallsemi, 0); SetInfoLevel(InfoWarning, 0);
gap> ## old checks
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11112],
> IsCommutative, true);
17
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11113],
> IsCommutative, true);
0
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11112],
> IsCommutative, false);
23
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11113],
> IsCommutative, false);
0
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11115],
> IsCommutative, false);
55
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11112]);
40
gap> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, [11113]);
0
gap> diags := Set(List(AllSmallSemigroups(2), DiagonalOfMultiplicationTable));
[ [ 11 ], [ 12 ] ]
gap> List(diags, x -> NrSmallSemigroups(2, DiagonalOfMultiplicationTable, x,
> IsCommutative, true));
21 ]
gap> List(diags, x -> NrSmallSemigroups(2, DiagonalOfMultiplicationTable, x,
> IsCommutative, false));
01 ]
gap> NrSmallSemigroups(2, IsCommutative, true);
3
gap> NrSmallSemigroups(2);
4
gap> diags := Set(List(AllSmallSemigroups(3), DiagonalOfMultiplicationTable));;
gap> List(diags, x -> NrSmallSemigroups(3, DiagonalOfMultiplicationTable, x,
> IsCommutative, true));
31521 ]
gap> List(diags, x -> NrSmallSemigroups(3, DiagonalOfMultiplicationTable, x,
> IsCommutative, false));
00240 ]
gap> Sum(last2); Sum(last2);
12
6
gap> NrSmallSemigroups(3);
18
gap> diags := Set(List(AllSmallSemigroups(4), DiagonalOfMultiplicationTable));;
gap> List(diags, x -> NrSmallSemigroups(4, DiagonalOfMultiplicationTable, x,
> IsCommutative, true));
6511337141521 ]
gap> List(diags, x -> NrSmallSemigroups(4, DiagonalOfMultiplicationTable, x,
> IsCommutative, false));
1191143002100 ]
gap> Sum(last2); Sum(last2);
58
68
gap> NrSmallSemigroups(4);
126
gap> diags := Set(List(AllSmallSemigroups(5), DiagonalOfMultiplicationTable));;
gap> List(diags, x -> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, x,
> IsCommutative, true));
13172815411931381598914149811553,
  1111 ]
gap> List(diags, x -> NrSmallSemigroups(5, DiagonalOfMultiplicationTable, x,
> IsCommutative, false));
1323552230142715209741209127720120,
  310000 ]
gap> Sum(last2); Sum(last2);
325
835
gap> NrSmallSemigroups(5);
1160
gap> OneSmallSemigroup(5, DiagonalOfMultiplicationTable, [11112]);
<small semigroup of size 5>
gap> GeneratorsOfSemigroup(last);
[ s1, s2, s3, s4, s5 ]
gap> s := RandomSmallSemigroup(5, DiagonalOfMultiplicationTable, [11112],
> IsCommutative, true);;
gap> IsSmallSemigroup(s);
true
gap> HasMultiplicationTable(s);
true
gap> enum := EnumeratorOfSmallSemigroups(7);
<enumerator of semigroups of size 7>
gap> Length(enum);
836021
gap> s := enum[500000];
<small semigroup of size 7>
gap> MultiplicationTable(s);
[ [ 1111111 ], [ 1111111 ], [ 1111111 ],
  [ 1111222 ], [ 1113231 ], [ 1113323 ],
  [ 1112133 ] ]
gap> IsCommutativeSemigroup(s);
false
gap> IsRegularSemigroup(s);
false
gap> GreensRClasses(s);;
gap> GreensDClasses(s);;
gap> MultiplicationTable(s);
[ [ 1111111 ], [ 1111111 ], [ 1111111 ],
  [ 1111222 ], [ 1113231 ], [ 1113323 ],
  [ 1112133 ] ]
gap> enum := EnumeratorOfSmallSemigroups(6, IsRegularSemigroup, true);
<enumerator of semigroups of size 6>
gap> Length(enum);
1352
gap> s := enum[999];
<small semigroup of size 6>
gap> IsCompletelyRegularSemigroup(s);
true
gap> IsCliffordSemigroup(s);
false
gap> enum := EnumeratorOfSmallSemigroups(7, IsCliffordSemigroup, true);
<enumerator of semigroups of size 7>
gap> Length(last);
879
gap> s := enum[441];
<small semigroup of size 7>
gap> s := enum[1];
<small semigroup of size 7>
gap> AllSmallSemigroups(2);
[ <small semigroup of size 2>, <small semigroup of size 2>,
  <small semigroup of size 2>, <small semigroup of size 2> ]
gap> AllSmallSemigroups([23]);
[ <small semigroup of size 2>, <small semigroup of size 2>,
  <small semigroup of size 2>, <small semigroup of size 2>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3> ]
gap> AllSmallSemigroups([23], IsRegularSemigroup, true);
[ <small semigroup of size 2>, <small semigroup of size 2>,
  <small semigroup of size 2>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3>,
  <small semigroup of size 3>, <small semigroup of size 3> ]
gap> AllSmallSemigroups([23], IsRegularSemigroup, true,
> x -> Length(GreensLClasses(x)), 1);
[ <small semigroup of size 2>, <small semigroup of size 2>,
  <small semigroup of size 3>, <small semigroup of size 3> ]
gap> enum := EnumeratorOfSmallSemigroups([34]);
<enumerator of semigroups of sizes [ 34 ]>
gap> IdSmallSemigroup(enum[2]);
32 ]
gap> IdSmallSemigroup(enum[19]);
41 ]
gap> IdSmallSemigroup(enum[100]);
482 ]
gap> enum := EnumeratorOfSmallSemigroups(8, IsInverseSemigroup, true,
> IsCommutativeSemigroup, true);
<enumerator of semigroups of size 8>
gap> Length(enum);
4443
gap> AllSmallSemigroups(enum, x -> Length(GreensRClasses(x)), 1);
[ <small semigroup of size 8>, <small semigroup of size 8>,
  <small semigroup of size 8> ]
gap> iter := IteratorOfSmallSemigroups(7, x -> Length(GreensRClasses(x)), 1);
<iterator of semigroups of size 7>
gap> AllSmallSemigroups(iter, IsCommutative, true, IsSimpleSemigroup, true);
[ <small semigroup of size 7> ]
gap> iter := IteratorOfSmallSemigroups(5, x -> Length(GreensDClasses(x)), 1);
<iterator of semigroups of size 5>
gap> AllSmallSemigroups(iter);
[ <small semigroup of size 5>, <small semigroup of size 5> ]
gap> AllSmallSemigroups(iter) = AllSmallSemigroups(5, IsSimpleSemigroup, true);
true
gap> semis := AllSmallSemigroups([24], IsCommutativeSemigroup,
> false, x -> MultiplicativeZero(x) = fail,
> false, IsCliffordSemigroup, false, IsRegularSemigroup, true);
[ <small semigroup of size 4>, <small semigroup of size 4>,
  <small semigroup of size 4>, <small semigroup of size 4>,
  <small semigroup of size 4> ]
gap> ForAll(semis, x -> not IsCommutativeSemigroup(x));
true
gap> ForAll(semis, IsRegularSemigroup);
true
gap> ForAll(semis, x -> not IsCliffordSemigroup(x));
true
gap> ForAll(semis, x -> MultiplicativeZero(x) <> fail);
true
gap> EnumeratorOfSmallSemigroups(8, IsSimpleSemigroup, true);
<enumerator of semigroups of size 8>
gap> ForAll(last, IsSimpleSemigroup);
true
gap> ForAll(last2, IsCompletelySimpleSemigroup);
true
gap> s := RandomSmallSemigroup(8, IsSimpleSemigroup, true);
<small semigroup of size 8>
gap> IsSimpleSemigroup(s);
true
gap> IsCompletelySimpleSemigroup(s);
true
gap> s := RandomSmallSemigroup(8, IsSimpleSemigroup, true);
<small semigroup of size 8>
gap> IsSimpleSemigroup(s);
true
gap> IsCompletelySimpleSemigroup(s);
true
gap> s := OneSmallSemigroup(6, IsRectangularBand, true);
<small semigroup of size 6>
gap> IsRectangularBand(s);
true
gap> enum := EnumeratorOfSmallSemigroups(6, IsCommutative, false);
<enumerator of semigroups of size 6>
gap> enum := EnumeratorOfSmallSemigroups(enum, DiagonalOfMultiplicationTable,
> [132444]);
<empty enumerator of semigroups>
gap> OneSmallSemigroup(enum, IsCompletelyRegularSemigroup, false);
fail
gap> s := OneSmallSemigroup(6, IsFullTransformationSemigroup, true);
fail
gap> s := OneSmallSemigroup(6, IsFullTransformationSemigroupCopy, true);
fail
gap> s := OneSmallSemigroup(4, IsRightZeroSemigroup, true);
fail
gap> s := OneSmallSemigroup(4, IsLeftZeroSemigroup, true);
<small semigroup of size 4>
gap> s := RandomSmallSemigroup([1 .. 7]);;
gap> s1 := OneSmallSemigroup(5, IsSemigroupWithClosedIdempotents, false);
<small semigroup of size 5>
gap> s2 := OneSmallSemigroup(5, IsSemigroupWithoutClosedIdempotents, true);
<small semigroup of size 5>
gap> s1 = s2;
true
gap> s := RandomSmallSemigroup(8, IsSimpleSemigroup, true);
<small semigroup of size 8>
gap> s := OneSmallSemigroup(6, IsRectangularBand, true);
<small semigroup of size 6>
gap> enum := EnumeratorOfSmallSemigroups(6, IsCommutative, false);
<enumerator of semigroups of size 6>
gap> OneSmallSemigroup(enum, IsCompletelyRegularSemigroup, false);
<small semigroup of size 6>
gap> enum := EnumeratorOfSmallSemigroups(6, IsSimpleSemigroup, true);
<enumerator of semigroups of size 6>
gap> ForAll(enum, IsSimpleSemigroup);
true
gap> enum := EnumeratorOfSmallSemigroups(7);
<enumerator of semigroups of size 7>
gap> EnumeratorOfSmallSemigroups(2);
<enumerator of semigroups of size 2>
gap> EnumeratorOfSmallSemigroups([23]);
<enumerator of semigroups of sizes [ 23 ]>
gap> EnumeratorOfSmallSemigroups([23], IsRegularSemigroup, true);
<enumerator of semigroups of sizes [ 23 ]>
gap> EnumeratorOfSmallSemigroups([23], IsRegularSemigroup, true, x ->
> Length(GreensRClasses(x)), 1);
<enumerator of semigroups of sizes [ 23 ]>
gap> enum := EnumeratorOfSmallSemigroups(8, IsInverseSemigroup, true,
> IsCommutativeSemigroup, true);
<enumerator of semigroups of size 8>
gap> enum := EnumeratorOfSmallSemigroups(5, x -> Length(GreensLClasses(x)), 1);
<enumerator of semigroups of size 5>
gap> Length(enum);
2
gap> EnumeratorOfSmallSemigroups(enum, IsCommutativeSemigroup, true,
> IsSimpleSemigroup, false);
<empty enumerator of semigroups>
gap> iter := IteratorOfSmallSemigroups(8);
<iterator of semigroups of size 8>
gap> EnumeratorOfSmallSemigroups(iter, IsCommutativeSemigroup, true,
> IsSimpleSemigroup, false);
<enumerator of semigroups of size 8>
gap> enum := EnumeratorOfSmallSemigroups(5, x -> Length(GreensRClasses(x)), 1);
<enumerator of semigroups of size 5>
gap> IdsOfSmallSemigroups(enum, IsCommutativeSemigroup, true,
> IsSimpleSemigroup, false);
[  ]
gap> iter := IteratorOfSmallSemigroups(4);;
gap> IdsOfSmallSemigroups(iter, IsCommutativeSemigroup, true);
[ [ 41 ], [ 43 ], [ 44 ], [ 45 ], [ 46 ], [ 47 ], [ 48 ],
  [ 410 ], [ 411 ], [ 412 ], [ 413 ], [ 414 ], [ 419 ],
  [ 422 ], [ 424 ], [ 425 ], [ 426 ], [ 428 ], [ 429 ],
  [ 430 ], [ 432 ], [ 433 ], [ 434 ], [ 436 ], [ 437 ],
  [ 438 ], [ 440 ], [ 441 ], [ 442 ], [ 443 ], [ 447 ],
  [ 448 ], [ 449 ], [ 450 ], [ 451 ], [ 453 ], [ 456 ],
  [ 467 ], [ 468 ], [ 478 ], [ 480 ], [ 483 ], [ 484 ],
  [ 486 ], [ 488 ], [ 489 ], [ 491 ], [ 492 ], [ 494 ],
  [ 497 ], [ 498 ], [ 4100 ], [ 4105 ], [ 4112 ], [ 4114 ],
  [ 4124 ], [ 4125 ], [ 4126 ] ]
gap> IdsOfSmallSemigroups(2);
[ [ 21 ], [ 22 ], [ 23 ], [ 24 ] ]
gap> IdsOfSmallSemigroups([23]);
[ [ 21 ], [ 22 ], [ 23 ], [ 24 ], [ 31 ], [ 32 ], [ 33 ],
  [ 34 ], [ 35 ], [ 36 ], [ 37 ], [ 38 ], [ 39 ], [ 310 ],
  [ 311 ], [ 312 ], [ 313 ], [ 314 ], [ 315 ], [ 316 ],
  [ 317 ], [ 318 ] ]
gap> IdsOfSmallSemigroups([23], IsRegularSemigroup, true);
[ [ 22 ], [ 23 ], [ 24 ], [ 310 ], [ 311 ], [ 312 ], [ 313 ],
  [ 314 ], [ 315 ], [ 316 ], [ 317 ], [ 318 ] ]
gap> IdsOfSmallSemigroups([23], IsRegularSemigroup, true, x ->
> Length(GreensLClasses(x)), 1);
[ [ 22 ], [ 24 ], [ 317 ], [ 318 ] ]
gap> enum := EnumeratorOfSmallSemigroupsByIds([[71], [61], [51]]);
<enumerator of semigroups of sizes [ 567 ]>
gap> enum[1];
<small semigroup of size 5>
gap> enum[2];
<small semigroup of size 6>
gap> enum[3];
<small semigroup of size 7>
gap> enum[4];
fail
gap> Length(enum);
3
gap> List(enum, IdSmallSemigroup);
[ [ 51 ], [ 61 ], [ 71 ] ]
gap> PositionsOfSmallSemigroupsIn(enum);
[ [ 1 ], [ 1 ], [ 1 ] ]
gap> ids := [[57], [54], [58]];
[ [ 57 ], [ 54 ], [ 58 ] ]
gap> enum := EnumeratorOfSmallSemigroupsByIds(ids);
<enumerator of semigroups of size 5>
gap> IdSmallSemigroup(enum[1]);
54 ]
gap> IdSmallSemigroup(enum[2]);
57 ]
gap> IdSmallSemigroup(enum[3]);
58 ]
gap> enum := EnumeratorOfSmallSemigroupsByIds(7, [1 .. 1000]);
<enumerator of semigroups of size 7>
gap> Length(enum);
1000
gap> enum := EnumeratorOfSmallSemigroupsByIds([23], [[1 .. 1000], [1 .. 10]]);
fail
gap> enum := EnumeratorOfSmallSemigroupsByIds([23], [[1 .. 10], [1 .. 10]]);
fail
gap> enum := EnumeratorOfSmallSemigroupsByIds([23], [[1 .. 2], [1 .. 10]]);
<enumerator of semigroups of sizes [ 23 ]>
gap> enum := EnumeratorOfSmallSemigroupsByIds([[21], [31], [41]]);
<enumerator of semigroups of sizes [ 234 ]>
gap> IsEnumeratorOfSmallSemigroups(enum);
true
gap> enum := EnumeratorOfSmallSemigroups(4);
<enumerator of semigroups of size 4>
gap> IsEnumeratorOfSmallSemigroups(enum);
true
gap> IsIdSmallSemigroup([71]);
true
gap> IsIdSmallSemigroup([81]);
true
gap> IsIdSmallSemigroup([12]);
false
gap> IsIdSmallSemigroup([320]);
false
gap> IsIdSmallSemigroup([318]);
true
gap> IsIdSmallSemigroup(318);
true
gap> IsIdSmallSemigroup(320);
false
gap> IsIdSmallSemigroup(3201021);
false
gap> IsIdSmallSemigroup([320, "t"]);
false
gap> iter := IteratorOfSmallSemigroups(8);
<iterator of semigroups of size 8>
gap> IsIteratorOfSmallSemigroups(iter);
true
gap> iter := EmptyIteratorOfSmallSemigroups();
<empty iterator of semigroups>
gap> IsIteratorOfSmallSemigroups(iter);
true
gap> iter := IteratorOfSmallSemigroups(8);
<iterator of semigroups of size 8>
gap> iter := IteratorOfSmallSemigroups([8]);
<iterator of semigroups of size 8>
gap> NextIterator(iter);
<small semigroup of size 8>
gap> IsDoneIterator(iter);
false
gap> IteratorOfSmallSemigroups([23], IsRegularSemigroup, true);
<iterator of semigroups of sizes [ 23 ]>
gap> iter := IteratorOfSmallSemigroups([23], IsRegularSemigroup, true,
> x -> Length(Idempotents(x)) = 1, true);
<iterator of semigroups of sizes [ 23 ]>
gap> NextIterator(iter);
<small semigroup of size 2>
gap> NextIterator(iter);
<small semigroup of size 3>
gap> NextIterator(iter);
fail
gap> enum := EnumeratorOfSmallSemigroups(5, x -> Length(Idempotents(x)) = 1, true);
<enumerator of semigroups of size 5>
gap> iter := IteratorOfSmallSemigroups(enum, x -> Length(GreensRClasses(x)) = 2, true);
<iterator of semigroups of size 5>
gap> NextIterator(iter);
<small semigroup of size 5>
gap> NextIterator(iter);
<small semigroup of size 5>
gap> NextIterator(iter);
<small semigroup of size 5>
gap> iter := IteratorOfSmallSemigroups(8);
<iterator of semigroups of size 8>
gap> IteratorOfSmallSemigroups(iter);
<iterator of semigroups of size 8>
gap> IteratorOfSmallSemigroups(iter, IsInverseSemigroup, true,
> x -> Length(Idempotents(x)) = 1, true, x -> Length(GreensRClasses(x)) = 2, true);
<iterator of semigroups of size 8>
gap> NextIterator(iter);
<small semigroup of size 8>
gap> NextIterator(iter);
<small semigroup of size 8>
gap> List([1 .. 8], NrSmallSemigroups);
14181261160159738360211843120128 ]
gap> NrSmallSemigroups(8, IsCommutative, true, IsInverseSemigroup, true);
4443
gap> NrSmallSemigroups([1 .. 8], IsCliffordSemigroup, true);
5610
gap> NrSmallSemigroups([2 .. 8], IsCliffordSemigroup, true);
5609
gap> NrSmallSemigroups(8, IsRegularSemigroup, true,
> IsCompletelyRegularSemigroup, false);
1164
gap> NrSmallSemigroups(5, NilpotencyDegree, 3);
84
gap> OneSmallSemigroup(8, IsCommutative, true, IsInverseSemigroup, true);
<small semigroup of size 8>
gap> OneSmallSemigroup([1 .. 8], IsCliffordSemigroup, true);
<small semigroup of size 1>
gap> OneSmallSemigroup(8, IsRegularSemigroup, true,
> IsCompletelyRegularSemigroup, false);
<small semigroup of size 8>
gap> OneSmallSemigroup(6, NilpotencyDegree, 3);
<small semigroup of size 6>
gap> iter := IteratorOfSmallSemigroups([1 .. 8]);
<iterator of semigroups of sizes [ 1 .. 8 ]>
gap> OneSmallSemigroup(iter);
<small semigroup of size 1>
gap> iter := IteratorOfSmallSemigroups(8, IsCommutative, false);
<iterator of semigroups of size 8>
gap> OneSmallSemigroup(iter);
<small semigroup of size 8>
gap> OneSmallSemigroup(iter, IsRegularSemigroup, true);
<small semigroup of size 8>
gap> enum := EnumeratorOfSmallSemigroups([3 .. 5], IsSimpleSemigroup, false);
<enumerator of semigroups of sizes [ 345 ]>
gap> PositionsOfSmallSemigroups(enum, Is1IdempotentSemigroup, true,
> Is2GeneratedSemigroup, true, IsCliffordSemigroup, false);
[ [ 12 ], [ 235689101234353697 ],
  [ 52021222326293235545556606162636465,
      152156159177181182183184185186187188189190,
      191192193540100911571158 ] ]
gap> enum := EnumeratorOfSmallSemigroups([2 .. 4], IsSimpleSemigroup, false,
> IsRegularSemigroup, true);
<enumerator of semigroups of sizes [ 234 ]>
gap> PositionsOfSmallSemigroupsIn(enum);
[ [ 3 ], [ 10111213141516 ],
  [ 50518889909192939495969899100101102103,
      104105106107108109110111112113114115116117,
      118119120121124125 ] ]
gap> PositionsOfSmallSemigroupsIn(enum);
[ [ 3 ], [ 10111213141516 ],
  [ 50518889909192939495969899100101102103,
      104105106107108109110111112113114115116117,
      118119120121124125 ] ]
gap> enum := EnumeratorOfSmallSemigroups([2 .. 4], IsSimpleSemigroup, false,
> IsRegularSemigroup, true);
<enumerator of semigroups of sizes [ 234 ]>
gap> ArgumentsUsedToCreate(enum);
[ <Property "IsRegularSemigroup">, true, <Property "IsSimpleSemigroup">,
  false ]
gap> iter := IteratorOfSmallSemigroups([2 .. 4], IsSimpleSemigroup, false,
> IsRegularSemigroup, true);
<iterator of semigroups of sizes [ 2 .. 4 ]>
gap> ArgumentsUsedToCreate(iter);
[ <Property "IsRegularSemigroup">, true, <Property "IsSimpleSemigroup">,
  false ]
gap> RandomSmallSemigroup(8, IsCommutative, true, IsInverseSemigroup, true);
<small semigroup of size 8>
gap> RandomSmallSemigroup([1 .. 8], IsCliffordSemigroup, true);;
gap> RandomSmallSemigroup(8, IsRegularSemigroup, true,
> IsCompletelyRegularSemigroup, false);
<small semigroup of size 8>
gap> RandomSmallSemigroup(6, NilpotencyDegree, 3);
<small semigroup of size 6>
gap> RandomSmallSemigroup(5, NilpotencyDegree, 6);
fail
gap> iter := IteratorOfSmallSemigroups([1 .. 7]);
<iterator of semigroups of sizes [ 1 .. 7 ]>
gap> RandomSmallSemigroup(iter);;
gap> iter := IteratorOfSmallSemigroups(7, IsCommutative, false);
<iterator of semigroups of size 7>
gap>  RandomSmallSemigroup(iter);
<small semigroup of size 7>
gap> RandomSmallSemigroup(iter, IsRegularSemigroup, true);
<small semigroup of size 7>
gap> enum := EnumeratorOfSmallSemigroups([2 .. 4], IsSimpleSemigroup, false);
<enumerator of semigroups of sizes [ 234 ]>
gap> SizesOfSmallSemigroupsIn(enum);
234 ]
gap> iter := IteratorOfSmallSemigroups(7, IsCommutative, false);
<iterator of semigroups of size 7>
gap> SizesOfSmallSemigroupsIn(iter);
7 ]
gap> SMALLSEMI_NormalizeArgs(5, IsCommutativeSemigroup, true);
5, <Property "IsCommutative">, true ]
gap> SMALLSEMI_NormalizeArgs(5, IsSemigroupWithClosedIdempotents, false);
5, <Property "IsSemigroupWithoutClosedIdempotents">, true ]
gap> SMALLSEMI_NormalizeArgs(5, IsCommutative, true);
5, <Property "IsCommutative">, true ]
gap> iter := IteratorOfSmallSemigroups(4, NilpotencyDegree, fail);
<iterator of semigroups of size 4>
gap> IsDoneIterator(iter); NextIterator(iter);
false
<small semigroup of size 4>
gap> IsDoneIterator(iter); NextIterator(iter);
false
<small semigroup of size 4>
gap> for i in iter do
> od;
gap>  IsDoneIterator(iter); NextIterator(iter);
true
fail
gap> iter := IteratorOfSmallSemigroups(4, NilpotencyDegree, 2);
<iterator of semigroups of size 4>
gap> IsDoneIterator(iter); NextIterator(iter);
false
<small semigroup of size 4>
gap> IsDoneIterator(iter); NextIterator(iter);
true
fail
gap> iter := IteratorOfSmallSemigroups(4, IsZeroSemigroup, true);
<iterator of semigroups of size 4>
gap> IsDoneIterator(iter); NextIterator(iter);
false
<small semigroup of size 4>
gap> IsDoneIterator(iter); NextIterator(iter);
true
fail
gap> iter := IteratorOfSmallSemigroups(4, NilpotencyDegree, 5);
<iterator of semigroups of size 4>
gap> IsDoneIterator(iter);
true
gap> NextIterator(iter);
fail
gap> iter := IteratorOfSmallSemigroups(4, NilpotencyDegree, 5);
<iterator of semigroups of size 4>
gap> NextIterator(iter);
fail
gap> IsDoneIterator(iter);
true
gap> Nr3NilpotentSemigroups(4);
8
gap> Nr3NilpotentSemigroups(9, "UpToIsomorphism");
105931872028455
gap> Nr3NilpotentSemigroups(16, "SelfDual");
4975000837941847814744710290469890455985530
gap> Nr3NilpotentSemigroups(19, "Commutative");
12094270656160403920767935604624748908993169949317454767617795
gap> SetInfoLevel(InfoSmallsemi, cur[1]); SetInfoLevel(InfoWarning, cur[2]);
gap> Unbind(cur);
gap> STOP_TEST("Smallsemi package: enums.tst", 10000);

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