passagemath-gap-pkg-semigroups 10.6.30__cp310-cp310-macosx_13_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of passagemath-gap-pkg-semigroups might be problematic. Click here for more details.

Files changed (354) hide show
  1. gap/pkg/semigroups/CHANGELOG.md +1699 -0
  2. gap/pkg/semigroups/CONTRIBUTING.md +91 -0
  3. gap/pkg/semigroups/GNUmakefile +110 -0
  4. gap/pkg/semigroups/GNUmakefile.in +110 -0
  5. gap/pkg/semigroups/GPL +674 -0
  6. gap/pkg/semigroups/LICENSE +16 -0
  7. gap/pkg/semigroups/Makefile +26 -0
  8. gap/pkg/semigroups/Makefile.gappkg +225 -0
  9. gap/pkg/semigroups/PackageInfo.g +529 -0
  10. gap/pkg/semigroups/README.md +102 -0
  11. gap/pkg/semigroups/VERSIONS +112 -0
  12. gap/pkg/semigroups/aclocal.m4 +375 -0
  13. gap/pkg/semigroups/autogen.sh +25 -0
  14. gap/pkg/semigroups/bin/aarch64-apple-darwin23-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1158 -0
  17. gap/pkg/semigroups/config.status +1131 -0
  18. gap/pkg/semigroups/config.sub +1960 -0
  19. gap/pkg/semigroups/configure +9742 -0
  20. gap/pkg/semigroups/configure.ac +71 -0
  21. gap/pkg/semigroups/data/doc/greens.pickle +1 -0
  22. gap/pkg/semigroups/data/gens/fullbool-8.pickle.gz +0 -0
  23. gap/pkg/semigroups/data/gens/fullbool.pickle.gz +0 -0
  24. gap/pkg/semigroups/data/gens/hall.pickle.gz +0 -0
  25. gap/pkg/semigroups/data/gens/reflex-6.pickle.gz +0 -0
  26. gap/pkg/semigroups/data/gens/reflex.pickle.gz +0 -0
  27. gap/pkg/semigroups/data/tst/bipart4 +10 -0
  28. gap/pkg/semigroups/data/tst/pperm10 +1 -0
  29. gap/pkg/semigroups/data/tst/tables.gz +0 -0
  30. gap/pkg/semigroups/data/tst/testdata +1 -0
  31. gap/pkg/semigroups/data/tst/testinstall.pickle +1 -0
  32. gap/pkg/semigroups/data/tst/trans3 +7 -0
  33. gap/pkg/semigroups/data/tst/trans3-old +7 -0
  34. gap/pkg/semigroups/environment.yml +7 -0
  35. gap/pkg/semigroups/gap/attributes/acting.gd +15 -0
  36. gap/pkg/semigroups/gap/attributes/acting.gi +297 -0
  37. gap/pkg/semigroups/gap/attributes/attr.gd +91 -0
  38. gap/pkg/semigroups/gap/attributes/attr.gi +1214 -0
  39. gap/pkg/semigroups/gap/attributes/dual.gd +25 -0
  40. gap/pkg/semigroups/gap/attributes/dual.gi +209 -0
  41. gap/pkg/semigroups/gap/attributes/factor.gd +17 -0
  42. gap/pkg/semigroups/gap/attributes/factor.gi +453 -0
  43. gap/pkg/semigroups/gap/attributes/homomorph.gd +84 -0
  44. gap/pkg/semigroups/gap/attributes/homomorph.gi +591 -0
  45. gap/pkg/semigroups/gap/attributes/inverse.gd +38 -0
  46. gap/pkg/semigroups/gap/attributes/inverse.gi +708 -0
  47. gap/pkg/semigroups/gap/attributes/isomorph.gd +16 -0
  48. gap/pkg/semigroups/gap/attributes/isomorph.gi +377 -0
  49. gap/pkg/semigroups/gap/attributes/isorms.gd +49 -0
  50. gap/pkg/semigroups/gap/attributes/isorms.gi +1383 -0
  51. gap/pkg/semigroups/gap/attributes/maximal.gd +16 -0
  52. gap/pkg/semigroups/gap/attributes/maximal.gi +1876 -0
  53. gap/pkg/semigroups/gap/attributes/properties.gd +109 -0
  54. gap/pkg/semigroups/gap/attributes/properties.gi +1658 -0
  55. gap/pkg/semigroups/gap/attributes/rms-translat.gd +39 -0
  56. gap/pkg/semigroups/gap/attributes/rms-translat.gi +1078 -0
  57. gap/pkg/semigroups/gap/attributes/semifp.gd +12 -0
  58. gap/pkg/semigroups/gap/attributes/semifp.gi +84 -0
  59. gap/pkg/semigroups/gap/attributes/translat.gd +474 -0
  60. gap/pkg/semigroups/gap/attributes/translat.gi +1779 -0
  61. gap/pkg/semigroups/gap/congruences/cong.gd +154 -0
  62. gap/pkg/semigroups/gap/congruences/cong.gi +351 -0
  63. gap/pkg/semigroups/gap/congruences/conginv.gd +38 -0
  64. gap/pkg/semigroups/gap/congruences/conginv.gi +589 -0
  65. gap/pkg/semigroups/gap/congruences/conglatt.gd +101 -0
  66. gap/pkg/semigroups/gap/congruences/conglatt.gi +886 -0
  67. gap/pkg/semigroups/gap/congruences/congpairs.gd +21 -0
  68. gap/pkg/semigroups/gap/congruences/congpairs.gi +272 -0
  69. gap/pkg/semigroups/gap/congruences/congpart.gd +90 -0
  70. gap/pkg/semigroups/gap/congruences/congpart.gi +449 -0
  71. gap/pkg/semigroups/gap/congruences/congrees.gd +20 -0
  72. gap/pkg/semigroups/gap/congruences/congrees.gi +313 -0
  73. gap/pkg/semigroups/gap/congruences/congrms.gd +54 -0
  74. gap/pkg/semigroups/gap/congruences/congrms.gi +1467 -0
  75. gap/pkg/semigroups/gap/congruences/congsemigraph.gd +28 -0
  76. gap/pkg/semigroups/gap/congruences/congsemigraph.gi +289 -0
  77. gap/pkg/semigroups/gap/congruences/congsimple.gd +27 -0
  78. gap/pkg/semigroups/gap/congruences/congsimple.gi +236 -0
  79. gap/pkg/semigroups/gap/congruences/conguniv.gd +20 -0
  80. gap/pkg/semigroups/gap/congruences/conguniv.gi +271 -0
  81. gap/pkg/semigroups/gap/congruences/congwordgraph.gd +21 -0
  82. gap/pkg/semigroups/gap/congruences/congwordgraph.gi +250 -0
  83. gap/pkg/semigroups/gap/elements/bipart.gd +71 -0
  84. gap/pkg/semigroups/gap/elements/bipart.gi +995 -0
  85. gap/pkg/semigroups/gap/elements/blocks.gd +31 -0
  86. gap/pkg/semigroups/gap/elements/blocks.gi +134 -0
  87. gap/pkg/semigroups/gap/elements/boolmat.gd +74 -0
  88. gap/pkg/semigroups/gap/elements/boolmat.gi +726 -0
  89. gap/pkg/semigroups/gap/elements/elements.gd +11 -0
  90. gap/pkg/semigroups/gap/elements/elements.gi +121 -0
  91. gap/pkg/semigroups/gap/elements/ffmat.gd +71 -0
  92. gap/pkg/semigroups/gap/elements/ffmat.gi +311 -0
  93. gap/pkg/semigroups/gap/elements/maxplusmat.gd +131 -0
  94. gap/pkg/semigroups/gap/elements/maxplusmat.gi +782 -0
  95. gap/pkg/semigroups/gap/elements/pbr.gd +51 -0
  96. gap/pkg/semigroups/gap/elements/pbr.gi +740 -0
  97. gap/pkg/semigroups/gap/elements/pperm.gd +11 -0
  98. gap/pkg/semigroups/gap/elements/pperm.gi +14 -0
  99. gap/pkg/semigroups/gap/elements/semiringmat.gd +136 -0
  100. gap/pkg/semigroups/gap/elements/semiringmat.gi +717 -0
  101. gap/pkg/semigroups/gap/elements/star.gd +21 -0
  102. gap/pkg/semigroups/gap/elements/star.gi +21 -0
  103. gap/pkg/semigroups/gap/elements/trans.gd +13 -0
  104. gap/pkg/semigroups/gap/elements/trans.gi +50 -0
  105. gap/pkg/semigroups/gap/fp/freeband.gd +22 -0
  106. gap/pkg/semigroups/gap/fp/freeband.gi +502 -0
  107. gap/pkg/semigroups/gap/fp/freeinverse.gd +30 -0
  108. gap/pkg/semigroups/gap/fp/freeinverse.gi +465 -0
  109. gap/pkg/semigroups/gap/fp/tietze.gd +89 -0
  110. gap/pkg/semigroups/gap/fp/tietze.gi +1578 -0
  111. gap/pkg/semigroups/gap/fp/word.gd +15 -0
  112. gap/pkg/semigroups/gap/fp/word.gi +67 -0
  113. gap/pkg/semigroups/gap/greens/acting-inverse.gi +774 -0
  114. gap/pkg/semigroups/gap/greens/acting-regular.gi +553 -0
  115. gap/pkg/semigroups/gap/greens/acting.gd +81 -0
  116. gap/pkg/semigroups/gap/greens/acting.gi +2433 -0
  117. gap/pkg/semigroups/gap/greens/froidure-pin.gd +25 -0
  118. gap/pkg/semigroups/gap/greens/froidure-pin.gi +741 -0
  119. gap/pkg/semigroups/gap/greens/generic.gd +117 -0
  120. gap/pkg/semigroups/gap/greens/generic.gi +630 -0
  121. gap/pkg/semigroups/gap/ideals/acting.gd +17 -0
  122. gap/pkg/semigroups/gap/ideals/acting.gi +1155 -0
  123. gap/pkg/semigroups/gap/ideals/froidure-pin.gd +11 -0
  124. gap/pkg/semigroups/gap/ideals/froidure-pin.gi +105 -0
  125. gap/pkg/semigroups/gap/ideals/ideals.gd +45 -0
  126. gap/pkg/semigroups/gap/ideals/ideals.gi +442 -0
  127. gap/pkg/semigroups/gap/ideals/lambda-rho.gd +16 -0
  128. gap/pkg/semigroups/gap/ideals/lambda-rho.gi +614 -0
  129. gap/pkg/semigroups/gap/libsemigroups/cong.gd +24 -0
  130. gap/pkg/semigroups/gap/libsemigroups/cong.gi +431 -0
  131. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gd +16 -0
  132. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gi +53 -0
  133. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gd +17 -0
  134. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gi +945 -0
  135. gap/pkg/semigroups/gap/libsemigroups/sims1.gd +38 -0
  136. gap/pkg/semigroups/gap/libsemigroups/sims1.gi +308 -0
  137. gap/pkg/semigroups/gap/main/acting.gd +36 -0
  138. gap/pkg/semigroups/gap/main/acting.gi +779 -0
  139. gap/pkg/semigroups/gap/main/froidure-pin.gd +72 -0
  140. gap/pkg/semigroups/gap/main/froidure-pin.gi +655 -0
  141. gap/pkg/semigroups/gap/main/graded.gd +26 -0
  142. gap/pkg/semigroups/gap/main/graded.gi +355 -0
  143. gap/pkg/semigroups/gap/main/lambda-rho.gd +29 -0
  144. gap/pkg/semigroups/gap/main/lambda-rho.gi +514 -0
  145. gap/pkg/semigroups/gap/main/orbits.gd +24 -0
  146. gap/pkg/semigroups/gap/main/orbits.gi +512 -0
  147. gap/pkg/semigroups/gap/main/semiact.gd +20 -0
  148. gap/pkg/semigroups/gap/main/semiact.gi +821 -0
  149. gap/pkg/semigroups/gap/main/setup.gd +61 -0
  150. gap/pkg/semigroups/gap/main/setup.gi +1094 -0
  151. gap/pkg/semigroups/gap/obsolete.gd +9 -0
  152. gap/pkg/semigroups/gap/obsolete.gi +14 -0
  153. gap/pkg/semigroups/gap/options.g +55 -0
  154. gap/pkg/semigroups/gap/semigroups/grpperm.gd +12 -0
  155. gap/pkg/semigroups/gap/semigroups/grpperm.gi +177 -0
  156. gap/pkg/semigroups/gap/semigroups/semibipart.gd +28 -0
  157. gap/pkg/semigroups/gap/semigroups/semibipart.gi +570 -0
  158. gap/pkg/semigroups/gap/semigroups/semiboolmat.gd +20 -0
  159. gap/pkg/semigroups/gap/semigroups/semiboolmat.gi +104 -0
  160. gap/pkg/semigroups/gap/semigroups/semicons.gd +52 -0
  161. gap/pkg/semigroups/gap/semigroups/semicons.gi +1194 -0
  162. gap/pkg/semigroups/gap/semigroups/semidp.gd +13 -0
  163. gap/pkg/semigroups/gap/semigroups/semidp.gi +509 -0
  164. gap/pkg/semigroups/gap/semigroups/semieunit.gd +126 -0
  165. gap/pkg/semigroups/gap/semigroups/semieunit.gi +889 -0
  166. gap/pkg/semigroups/gap/semigroups/semiex.gd +104 -0
  167. gap/pkg/semigroups/gap/semigroups/semiex.gi +1590 -0
  168. gap/pkg/semigroups/gap/semigroups/semiffmat.gd +37 -0
  169. gap/pkg/semigroups/gap/semigroups/semiffmat.gi +565 -0
  170. gap/pkg/semigroups/gap/semigroups/semifp.gd +28 -0
  171. gap/pkg/semigroups/gap/semigroups/semifp.gi +1364 -0
  172. gap/pkg/semigroups/gap/semigroups/semigraph.gd +40 -0
  173. gap/pkg/semigroups/gap/semigroups/semigraph.gi +292 -0
  174. gap/pkg/semigroups/gap/semigroups/semigrp.gd +165 -0
  175. gap/pkg/semigroups/gap/semigroups/semigrp.gi +1225 -0
  176. gap/pkg/semigroups/gap/semigroups/semimaxplus.gd +72 -0
  177. gap/pkg/semigroups/gap/semigroups/semimaxplus.gi +710 -0
  178. gap/pkg/semigroups/gap/semigroups/semintmat.gd +13 -0
  179. gap/pkg/semigroups/gap/semigroups/semintmat.gi +74 -0
  180. gap/pkg/semigroups/gap/semigroups/semipbr.gd +19 -0
  181. gap/pkg/semigroups/gap/semigroups/semipbr.gi +139 -0
  182. gap/pkg/semigroups/gap/semigroups/semipperm.gd +27 -0
  183. gap/pkg/semigroups/gap/semigroups/semipperm.gi +711 -0
  184. gap/pkg/semigroups/gap/semigroups/semiquo.gd +14 -0
  185. gap/pkg/semigroups/gap/semigroups/semiquo.gi +97 -0
  186. gap/pkg/semigroups/gap/semigroups/semiringmat.gd +16 -0
  187. gap/pkg/semigroups/gap/semigroups/semiringmat.gi +21 -0
  188. gap/pkg/semigroups/gap/semigroups/semirms.gd +19 -0
  189. gap/pkg/semigroups/gap/semigroups/semirms.gi +977 -0
  190. gap/pkg/semigroups/gap/semigroups/semitrans.gd +49 -0
  191. gap/pkg/semigroups/gap/semigroups/semitrans.gi +909 -0
  192. gap/pkg/semigroups/gap/tools/display.gd +24 -0
  193. gap/pkg/semigroups/gap/tools/display.gi +749 -0
  194. gap/pkg/semigroups/gap/tools/io.gd +17 -0
  195. gap/pkg/semigroups/gap/tools/io.gi +543 -0
  196. gap/pkg/semigroups/gap/tools/iterators.gd +16 -0
  197. gap/pkg/semigroups/gap/tools/iterators.gi +253 -0
  198. gap/pkg/semigroups/gap/tools/utils.gd +19 -0
  199. gap/pkg/semigroups/gap/tools/utils.gi +756 -0
  200. gap/pkg/semigroups/gapbind14/.ccls +18 -0
  201. gap/pkg/semigroups/gapbind14/.clang-format +104 -0
  202. gap/pkg/semigroups/gapbind14/CPPLINT.cfg +5 -0
  203. gap/pkg/semigroups/gapbind14/LICENSE +674 -0
  204. gap/pkg/semigroups/gapbind14/README.md +76 -0
  205. gap/pkg/semigroups/gapbind14/demo/.gitignore +4 -0
  206. gap/pkg/semigroups/gapbind14/demo/LICENSE +293 -0
  207. gap/pkg/semigroups/gapbind14/demo/Makefile.gappkg +220 -0
  208. gap/pkg/semigroups/gapbind14/demo/Makefile.in +19 -0
  209. gap/pkg/semigroups/gapbind14/demo/PackageInfo.g +87 -0
  210. gap/pkg/semigroups/gapbind14/demo/README.md +17 -0
  211. gap/pkg/semigroups/gapbind14/demo/configure +34 -0
  212. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gd +19 -0
  213. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gi +10 -0
  214. gap/pkg/semigroups/gapbind14/demo/init.g +16 -0
  215. gap/pkg/semigroups/gapbind14/demo/makedoc.g +10 -0
  216. gap/pkg/semigroups/gapbind14/demo/read.g +6 -0
  217. gap/pkg/semigroups/gapbind14/demo/src/gapbind_demo.cc +142 -0
  218. gap/pkg/semigroups/gapbind14/demo/tst/testall.g +12 -0
  219. gap/pkg/semigroups/gapbind14/include/gapbind14/cpp_fn.hpp +223 -0
  220. gap/pkg/semigroups/gapbind14/include/gapbind14/gap_include.hpp +26 -0
  221. gap/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp +445 -0
  222. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_free_fn.hpp +420 -0
  223. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_mem_fn.hpp +556 -0
  224. gap/pkg/semigroups/gapbind14/include/gapbind14/to_cpp.hpp +162 -0
  225. gap/pkg/semigroups/gapbind14/include/gapbind14/to_gap.hpp +158 -0
  226. gap/pkg/semigroups/gapbind14/src/.clang-format +108 -0
  227. gap/pkg/semigroups/gapbind14/src/gapbind14.cpp +334 -0
  228. gap/pkg/semigroups/init.g +150 -0
  229. gap/pkg/semigroups/m4/ax_append_flag.m4 +50 -0
  230. gap/pkg/semigroups/m4/ax_check_compile_flag.m4 +53 -0
  231. gap/pkg/semigroups/m4/ax_check_hpcombi.m4 +121 -0
  232. gap/pkg/semigroups/m4/ax_check_libsemigroup.m4 +68 -0
  233. gap/pkg/semigroups/m4/ax_compare_version.m4 +177 -0
  234. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx.m4 +1009 -0
  235. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx_14.m4 +34 -0
  236. gap/pkg/semigroups/m4/ax_prefix_config_h.m4 +203 -0
  237. gap/pkg/semigroups/m4/ax_pthread.m4 +522 -0
  238. gap/pkg/semigroups/m4/find_gap.m4 +94 -0
  239. gap/pkg/semigroups/makedoc.g +153 -0
  240. gap/pkg/semigroups/prerequisites.sh +62 -0
  241. gap/pkg/semigroups/read.g +105 -0
  242. gap/pkg/semigroups/release.toml +6 -0
  243. gap/pkg/semigroups/tst/extreme/README +2 -0
  244. gap/pkg/semigroups/tst/extreme/attrinv.tst +703 -0
  245. gap/pkg/semigroups/tst/extreme/bipart.tst +2803 -0
  246. gap/pkg/semigroups/tst/extreme/closure.tst +652 -0
  247. gap/pkg/semigroups/tst/extreme/cong.tst +286 -0
  248. gap/pkg/semigroups/tst/extreme/conginv.tst +43 -0
  249. gap/pkg/semigroups/tst/extreme/examples.tst +2449 -0
  250. gap/pkg/semigroups/tst/extreme/freeband.tst +37 -0
  251. gap/pkg/semigroups/tst/extreme/greens-acting-regular.tst +27 -0
  252. gap/pkg/semigroups/tst/extreme/greens-acting.tst +1999 -0
  253. gap/pkg/semigroups/tst/extreme/ideals.tst +858 -0
  254. gap/pkg/semigroups/tst/extreme/inverse.tst +1025 -0
  255. gap/pkg/semigroups/tst/extreme/maximal.tst +856 -0
  256. gap/pkg/semigroups/tst/extreme/misc.tst +4236 -0
  257. gap/pkg/semigroups/tst/extreme/monoid_pkg.tst +1488 -0
  258. gap/pkg/semigroups/tst/extreme/properties.tst +914 -0
  259. gap/pkg/semigroups/tst/extreme/semibipart.tst +2837 -0
  260. gap/pkg/semigroups/tst/extreme/semieunit.tst +49 -0
  261. gap/pkg/semigroups/tst/extreme/semiffmat.tst +353 -0
  262. gap/pkg/semigroups/tst/extreme/semigroups.tst +245 -0
  263. gap/pkg/semigroups/tst/extreme/semiiter.tst +58 -0
  264. gap/pkg/semigroups/tst/extreme/semirms.tst +1091 -0
  265. gap/pkg/semigroups/tst/extreme/transform.tst +305 -0
  266. gap/pkg/semigroups/tst/extreme/translat.tst +44 -0
  267. gap/pkg/semigroups/tst/standard/README +2 -0
  268. gap/pkg/semigroups/tst/standard/attributes/acting.tst +388 -0
  269. gap/pkg/semigroups/tst/standard/attributes/attr.tst +2404 -0
  270. gap/pkg/semigroups/tst/standard/attributes/dual.tst +308 -0
  271. gap/pkg/semigroups/tst/standard/attributes/factor.tst +629 -0
  272. gap/pkg/semigroups/tst/standard/attributes/homomorph.tst +1134 -0
  273. gap/pkg/semigroups/tst/standard/attributes/inverse.tst +1521 -0
  274. gap/pkg/semigroups/tst/standard/attributes/isomorph.tst +435 -0
  275. gap/pkg/semigroups/tst/standard/attributes/isorms.tst +1147 -0
  276. gap/pkg/semigroups/tst/standard/attributes/maximal.tst +853 -0
  277. gap/pkg/semigroups/tst/standard/attributes/properties.tst +2028 -0
  278. gap/pkg/semigroups/tst/standard/attributes/semifp.tst +53 -0
  279. gap/pkg/semigroups/tst/standard/attributes/translat.tst +796 -0
  280. gap/pkg/semigroups/tst/standard/congruences/cong.tst +1044 -0
  281. gap/pkg/semigroups/tst/standard/congruences/conginv.tst +292 -0
  282. gap/pkg/semigroups/tst/standard/congruences/conglatt.tst +421 -0
  283. gap/pkg/semigroups/tst/standard/congruences/congpairs.tst +1011 -0
  284. gap/pkg/semigroups/tst/standard/congruences/congrees.tst +288 -0
  285. gap/pkg/semigroups/tst/standard/congruences/congrms.tst +701 -0
  286. gap/pkg/semigroups/tst/standard/congruences/congsemigraph.tst +422 -0
  287. gap/pkg/semigroups/tst/standard/congruences/congsimple.tst +311 -0
  288. gap/pkg/semigroups/tst/standard/congruences/conguniv.tst +259 -0
  289. gap/pkg/semigroups/tst/standard/congruences/congwordgraph.tst +330 -0
  290. gap/pkg/semigroups/tst/standard/elements/bipart.tst +783 -0
  291. gap/pkg/semigroups/tst/standard/elements/blocks.tst +166 -0
  292. gap/pkg/semigroups/tst/standard/elements/boolmat.tst +608 -0
  293. gap/pkg/semigroups/tst/standard/elements/elements.tst +117 -0
  294. gap/pkg/semigroups/tst/standard/elements/ffmat.tst +349 -0
  295. gap/pkg/semigroups/tst/standard/elements/maxplusmat.tst +613 -0
  296. gap/pkg/semigroups/tst/standard/elements/pbr.tst +506 -0
  297. gap/pkg/semigroups/tst/standard/elements/pperm.tst +32 -0
  298. gap/pkg/semigroups/tst/standard/elements/semiringmat.tst +601 -0
  299. gap/pkg/semigroups/tst/standard/elements/trans.tst +58 -0
  300. gap/pkg/semigroups/tst/standard/fp/freeband.tst +311 -0
  301. gap/pkg/semigroups/tst/standard/fp/freeinverse.tst +147 -0
  302. gap/pkg/semigroups/tst/standard/fp/tietze.tst +780 -0
  303. gap/pkg/semigroups/tst/standard/fp/word.tst +106 -0
  304. gap/pkg/semigroups/tst/standard/greens/acting-inverse.tst +545 -0
  305. gap/pkg/semigroups/tst/standard/greens/acting-regular.tst +396 -0
  306. gap/pkg/semigroups/tst/standard/greens/acting.tst +2033 -0
  307. gap/pkg/semigroups/tst/standard/greens/froidure-pin.tst +1831 -0
  308. gap/pkg/semigroups/tst/standard/greens/generic.tst +1436 -0
  309. gap/pkg/semigroups/tst/standard/ideals/acting.tst +279 -0
  310. gap/pkg/semigroups/tst/standard/ideals/froidure-pin.tst +178 -0
  311. gap/pkg/semigroups/tst/standard/ideals/ideals.tst +380 -0
  312. gap/pkg/semigroups/tst/standard/libsemigroups/cong.tst +310 -0
  313. gap/pkg/semigroups/tst/standard/libsemigroups/froidure-pin.tst +778 -0
  314. gap/pkg/semigroups/tst/standard/libsemigroups/sims1.tst +379 -0
  315. gap/pkg/semigroups/tst/standard/main/acting.tst +411 -0
  316. gap/pkg/semigroups/tst/standard/main/froidure-pin.tst +392 -0
  317. gap/pkg/semigroups/tst/standard/main/semiact.tst +203 -0
  318. gap/pkg/semigroups/tst/standard/main/setup.tst +1144 -0
  319. gap/pkg/semigroups/tst/standard/obsolete.tst +19 -0
  320. gap/pkg/semigroups/tst/standard/options.tst +54 -0
  321. gap/pkg/semigroups/tst/standard/semigroups/grpperm.tst +581 -0
  322. gap/pkg/semigroups/tst/standard/semigroups/semibipart.tst +2635 -0
  323. gap/pkg/semigroups/tst/standard/semigroups/semiboolmat.tst +1871 -0
  324. gap/pkg/semigroups/tst/standard/semigroups/semicons.tst +1173 -0
  325. gap/pkg/semigroups/tst/standard/semigroups/semidp.tst +739 -0
  326. gap/pkg/semigroups/tst/standard/semigroups/semieunit.tst +339 -0
  327. gap/pkg/semigroups/tst/standard/semigroups/semiex.tst +2055 -0
  328. gap/pkg/semigroups/tst/standard/semigroups/semiffmat.tst +746 -0
  329. gap/pkg/semigroups/tst/standard/semigroups/semifp.tst +2702 -0
  330. gap/pkg/semigroups/tst/standard/semigroups/semigraph.tst +133 -0
  331. gap/pkg/semigroups/tst/standard/semigroups/semigrp.tst +1112 -0
  332. gap/pkg/semigroups/tst/standard/semigroups/semimaxplus.tst +654 -0
  333. gap/pkg/semigroups/tst/standard/semigroups/semipbr.tst +2142 -0
  334. gap/pkg/semigroups/tst/standard/semigroups/semipperm.tst +2169 -0
  335. gap/pkg/semigroups/tst/standard/semigroups/semiquo.tst +278 -0
  336. gap/pkg/semigroups/tst/standard/semigroups/semirms.tst +3010 -0
  337. gap/pkg/semigroups/tst/standard/semigroups/semitrans.tst +2758 -0
  338. gap/pkg/semigroups/tst/standard/tools/display.tst +1040 -0
  339. gap/pkg/semigroups/tst/standard/tools/io.tst +363 -0
  340. gap/pkg/semigroups/tst/testinstall.tst +1815 -0
  341. gap/pkg/semigroups/tst/teststandard.g +22 -0
  342. gap/pkg/semigroups/tst/workspaces/load-workspace.tst +142 -0
  343. gap/pkg/semigroups/tst/workspaces/load.g +11 -0
  344. gap/pkg/semigroups/tst/workspaces/save-workspace.tst +166 -0
  345. gap/pkg/semigroups/tst/workspaces/save.g +14 -0
  346. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA +93 -0
  347. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA.bak +94 -0
  348. passagemath_gap_pkg_semigroups-10.6.30.dist-info/RECORD +354 -0
  349. passagemath_gap_pkg_semigroups-10.6.30.dist-info/WHEEL +6 -0
  350. passagemath_gap_pkg_semigroups-10.6.30.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.dylibs/libsemigroups.2.dylib +0 -0
  352. sage/all__sagemath_gap_pkg_semigroups.py +1 -0
  353. sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
  354. sage/libs/gap_pkg_semigroups.cpython-310-darwin.so +0 -0
@@ -0,0 +1,1999 @@
1
+ #############################################################################
2
+ ##
3
+ #W extreme/greens-acting.tst
4
+ #Y Copyright (C) 2011-21 James D. Mitchell
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+
11
+ # takes approx. 1 minute to run currently!
12
+
13
+ #@local C, D, H, I, L, M, R, S, a, acting, b, c, d, dd, dr, elts, enum, f, g
14
+ #@local gens, h, hh, i, idem, iter, iter1, iter2, iter3, j, l, ll, m, out, out2
15
+ #@local out3, r, r1, r2, r3, rc, reps, rr, s, t, x
16
+ gap> START_TEST("Semigroups package: extreme/greens-acting.tst");
17
+ gap> LoadPackage("semigroups", false);;
18
+
19
+ #
20
+ gap> SEMIGROUPS.StartTest();
21
+ gap> SEMIGROUPS.DefaultOptionsRec.acting := true;;
22
+
23
+ # GreensTest1
24
+ gap> gens :=
25
+ > [[Transformation([3, 4, 4, 3, 1, 1, 5])],
26
+ > [Transformation([1, 1, 4, 3]), Transformation([2, 2, 2, 2]),
27
+ > Transformation([3, 3, 1])],
28
+ > [Transformation([4, 4, 2, 3, 3]), Transformation([5, 2, 4, 3, 1])],
29
+ > [Transformation([1, 5, 4, 1, 5]), Transformation([2, 4, 1, 3, 1])],
30
+ > [Transformation([4, 1, 2, 3]), Transformation([4, 3, 4, 1])],
31
+ > [Transformation([2, 1, 3, 1, 4, 3]),
32
+ > Transformation([2, 2, 2, 2, 1, 2]),
33
+ > Transformation([5, 3, 4, 3, 5, 6]),
34
+ > Transformation([6, 4, 1, 4, 5, 3]),
35
+ > Transformation([6, 5, 2, 6, 3, 4])],
36
+ > [Transformation([3, 5, 5, 1, 4, 7, 5])],
37
+ > [Transformation([2, 5, 6, 1, 1, 3]), Transformation([3, 1, 6, 2, 5, 2]),
38
+ > Transformation([5, 4, 2, 3, 3, 5]), Transformation([6, 6, 5, 5, 2, 2])],
39
+ > [Transformation([1, 5, 3, 2, 3]), Transformation([4, 3, 2, 5, 2]),
40
+ > Transformation([5, 4, 1, 2, 2]), Transformation([5, 5, 5, 1, 1])],
41
+ > [Transformation([2, 4, 4, 7, 2, 1, 2])],
42
+ > [Transformation([3, 4, 2, 4, 6, 7, 4]),
43
+ > Transformation([4, 6, 3, 2, 4, 5, 4]),
44
+ > Transformation([6, 2, 3, 5, 5, 2, 2]),
45
+ > Transformation([6, 5, 4, 5, 2, 4, 4]),
46
+ > Transformation([7, 6, 7, 5, 6, 5, 7])],
47
+ > [Transformation([3, 2, 3, 3, 1]), Transformation([4, 5, 1, 2, 4])],
48
+ > [Transformation([1, 4, 3, 4]), Transformation([2, 2, 1, 1]),
49
+ > Transformation([3, 1, 3]), Transformation([4, 4, 3, 1])],
50
+ > [Transformation([1, 2, 2, 3, 3]), Transformation([4, 3, 4, 3, 2]),
51
+ > Transformation([5, 3, 4, 5, 4])],
52
+ > [Transformation([4, 3, 6, 4, 6, 1]),
53
+ > Transformation([4, 4, 4, 6, 3, 1])],
54
+ > [Transformation([1, 4, 3, 4]), Transformation([3, 3, 3, 3]),
55
+ > Transformation([3, 4, 1, 4]), Transformation([4, 3, 1, 4])],
56
+ > [Transformation([1, 3, 3, 5, 2]), Transformation([3, 4, 5, 1, 1])],
57
+ > [Transformation([2, 6, 4, 6, 5, 2]),
58
+ > Transformation([3, 5, 6, 2, 5, 1]),
59
+ > Transformation([5, 1, 3, 3, 3, 1]),
60
+ > Transformation([6, 4, 4, 6, 6, 3])],
61
+ > [Transformation([1, 3, 3, 3])],
62
+ > [Transformation([4, 1, 2, 2, 3]), Transformation([4, 2, 3, 2, 2])],
63
+ > [Transformation([1, 4, 6, 4, 4, 7, 2]),
64
+ > Transformation([1, 6, 5, 1, 7, 2, 7]),
65
+ > Transformation([2, 2, 7, 2, 1, 4, 4]),
66
+ > Transformation([5, 6, 2, 6, 3, 3, 5])],
67
+ > [Transformation([1, 1, 3, 1]), Transformation([4, 2, 3, 4]),
68
+ > Transformation([4, 4, 2, 2])],
69
+ > [Transformation([3, 2, 1, 1]), Transformation([4, 1, 3, 2]),
70
+ > Transformation([4, 4, 1, 2])],
71
+ > [Transformation([1, 6, 4, 2, 5, 3, 2]),
72
+ > Transformation([4, 1, 4, 7, 4, 4, 5])],
73
+ > [Transformation([2, 4, 5, 4, 4])],
74
+ > [Transformation([1, 4, 2, 3]), Transformation([4, 3, 3, 3])],
75
+ > [Transformation([1, 1, 3, 1, 4])],
76
+ > [Transformation([4, 3, 3, 6, 7, 2, 3]),
77
+ > Transformation([6, 6, 4, 4, 2, 1, 4])],
78
+ > [Transformation([2, 2, 4, 6, 4, 3]),
79
+ > Transformation([3, 4, 1, 1, 5, 2]),
80
+ > Transformation([4, 4, 6, 4, 6, 1])],
81
+ > [Transformation([3, 5, 4, 2, 1, 2, 2]),
82
+ > Transformation([7, 7, 1, 5, 7, 1, 6])],
83
+ > [Transformation([3, 4, 1, 4]), Transformation([4, 3, 2, 2]),
84
+ > Transformation([4, 4, 1, 4])],
85
+ > [Transformation([3, 7, 4, 4, 3, 3, 5]),
86
+ > Transformation([4, 6, 1, 1, 6, 4, 1]),
87
+ > Transformation([6, 5, 7, 2, 1, 1, 3])],
88
+ > [Transformation([1, 2, 4, 1]), Transformation([4, 1, 2, 1]),
89
+ > Transformation([4, 2, 2, 4])],
90
+ > [Transformation([2, 1, 2, 2]), Transformation([2, 4, 1, 1]),
91
+ > Transformation([4, 2, 4, 3]), Transformation([4, 4, 1, 2])],
92
+ > [Transformation([1, 1, 1, 1, 1, 4]),
93
+ > Transformation([3, 3, 2, 4, 1, 3]),
94
+ > Transformation([4, 5, 2, 4, 4, 5]),
95
+ > Transformation([5, 3, 2, 6, 6, 4]),
96
+ > Transformation([6, 6, 5, 5, 1, 1])],
97
+ > [Transformation([1, 2, 4, 1]), Transformation([2, 4, 1, 2]),
98
+ > Transformation([3, 3, 1]), Transformation([3, 4, 1, 2]),
99
+ > Transformation([4, 1, 4, 3])],
100
+ > [Transformation([1, 7, 6, 1, 7, 5, 5]),
101
+ > Transformation([2, 7, 1, 4, 7, 6, 2]),
102
+ > Transformation([4, 3, 7, 2, 6, 3, 4]),
103
+ > Transformation([4, 7, 2, 1, 7, 5, 4]),
104
+ > Transformation([5, 7, 5, 5, 5, 3, 5])],
105
+ > [Transformation([2, 4, 4, 3])],
106
+ > [Transformation([4, 6, 5, 1, 4, 4])],
107
+ > [Transformation([2, 3, 4, 5, 3]), Transformation([4, 1, 5, 1, 3]),
108
+ > Transformation([4, 1, 5, 5, 3])],
109
+ > [Transformation([1, 3, 1, 2, 2]), Transformation([2, 3, 5, 2, 4]),
110
+ > Transformation([2, 4, 3, 2]), Transformation([4, 4, 2, 1, 2])],
111
+ > [Transformation([1, 4, 2, 4]), Transformation([2, 2, 1]),
112
+ > Transformation([3, 2, 2, 2])],
113
+ > [Transformation([1, 5, 1, 1, 5]), Transformation([4, 3, 1, 3, 2])],
114
+ > [Transformation([1, 3, 4, 4]), Transformation([2, 1, 3, 3]),
115
+ > Transformation([4, 1, 3, 4]), Transformation([4, 2, 3, 3])],
116
+ > [Transformation([4, 3, 2, 2, 1, 4, 2]),
117
+ > Transformation([6, 5, 2, 7, 2, 2, 7])],
118
+ > [Transformation([2, 4, 4, 3]), Transformation([3, 4, 1, 3]),
119
+ > Transformation([4, 1, 3, 2]), Transformation([4, 4, 1, 1])],
120
+ > [Transformation([1, 2, 5, 2, 1]), Transformation([3, 2, 2, 4, 2]),
121
+ > Transformation([4, 5, 1, 1, 2]),
122
+ > Transformation([5, 5, 5, 2, 1])],
123
+ > [Transformation([1, 2, 4, 4]), Transformation([2, 1, 2, 1]),
124
+ > Transformation([2, 3, 2, 3]), Transformation([3, 2, 1, 3]),
125
+ > Transformation([3, 4, 3, 2])],
126
+ > [Transformation([1, 1, 1, 2, 2])],
127
+ > [Transformation([4, 4, 3, 3, 3, 2]),
128
+ > Transformation([4, 6, 3, 6, 4, 3]),
129
+ > Transformation([6, 4, 1, 3, 4, 5])],
130
+ > [Transformation([1, 1, 4, 3]), Transformation([3, 1, 3, 2])],
131
+ > [Transformation([1, 3, 5, 3, 3]), Transformation([1, 5, 4, 4, 3]),
132
+ > Transformation([2, 5, 3, 1, 1])],
133
+ > [Transformation([3, 2, 3]), Transformation([3, 4, 3, 1]),
134
+ > Transformation([3, 4, 4, 4]), Transformation([4, 3, 1, 3])],
135
+ > [Transformation([2, 2, 5, 2, 2, 5]),
136
+ > Transformation([2, 6, 5, 2, 6, 3]),
137
+ > Transformation([4, 2, 4, 5, 5]),
138
+ > Transformation([5, 4, 1, 4, 2, 2])],
139
+ > [Transformation([1, 1]), Transformation([3, 1, 2, 2])],
140
+ > [Transformation([1, 1, 4, 5, 5, 3]),
141
+ > Transformation([6, 4, 4, 5, 6, 5])],
142
+ > [Transformation([1, 4, 5, 3, 1, 7, 3]),
143
+ > Transformation([1, 6, 6, 5, 2, 4, 2])],
144
+ > [Transformation([3, 3, 1, 2, 3]), Transformation([5, 5, 1, 5, 3]),
145
+ > Transformation([5, 5, 5, 5, 2])],
146
+ > [Transformation([1, 2, 5, 1, 5]),
147
+ > Transformation([5, 4, 5, 5, 3, 2])],
148
+ > [Transformation([1, 2, 1, 3]), Transformation([2, 3, 4, 4]),
149
+ > Transformation([4, 1, 1, 1])],
150
+ > [Transformation([1, 2, 2, 3, 2]), Transformation([4, 3, 2, 4, 1]),
151
+ > Transformation([5, 1, 2, 2, 1]), Transformation([5, 2, 4, 1, 4]),
152
+ > Transformation([5, 5, 4, 2, 2])],
153
+ > [Transformation([2, 1, 2, 3]), Transformation([2, 2, 3, 2])],
154
+ > [Transformation([4, 2, 1, 3])],
155
+ > [IdentityTransformation, Transformation([2, 2]),
156
+ > Transformation([2, 2, 4, 3])],
157
+ > [Transformation([2, 1, 2, 1]), Transformation([3, 4, 2, 4])],
158
+ > [Transformation([3, 4, 1, 2, 2, 2]),
159
+ > Transformation([4, 4, 4, 2, 5, 3]),
160
+ > Transformation([5, 6, 6, 5, 5, 4])],
161
+ > [Transformation([1, 4, 1, 6, 4, 6]),
162
+ > Transformation([2, 4, 2, 5, 5]),
163
+ > Transformation([3, 6, 2, 1, 4, 6]),
164
+ > Transformation([4, 6, 2, 4, 1, 2])],
165
+ > [Transformation([1, 3, 3, 3]), Transformation([2, 1, 3, 1]),
166
+ > Transformation([3, 1, 2, 3])],
167
+ > [Transformation([1, 4, 1, 2]), Transformation([2, 2, 3, 2]),
168
+ > Transformation([3, 3, 4, 3]), Transformation([4, 3, 3, 4]),
169
+ > Transformation([4, 4, 4, 2])],
170
+ > [Transformation([1, 2, 1]), Transformation([4, 1, 1, 2]),
171
+ > Transformation([4, 3, 3, 2])],
172
+ > [Transformation([2, 3, 6, 7, 1, 2, 6])],
173
+ > [Transformation([4, 1, 1, 3, 3, 3])],
174
+ > [Transformation([3, 3, 2, 7, 5, 5, 1]),
175
+ > Transformation([3, 5, 5, 4, 1, 3, 2]),
176
+ > Transformation([4, 1, 3, 6, 6, 6, 5]),
177
+ > Transformation([7, 2, 7, 2, 7, 7, 2])],
178
+ > [Transformation([1, 1, 7, 5, 2, 1, 2]),
179
+ > Transformation([2, 7, 2, 6, 7, 5, 7]),
180
+ > Transformation([4, 5, 7, 4, 3, 1, 4])],
181
+ > [Transformation([3, 6, 4, 4, 2, 5, 1]),
182
+ > Transformation([4, 1, 2, 5, 7, 7, 3]),
183
+ > Transformation([4, 4, 1, 1, 6, 2]),
184
+ > Transformation([5, 7, 6, 6, 1, 4, 5])],
185
+ > [Transformation([1, 1, 1, 2]), Transformation([1, 3, 1, 3]),
186
+ > Transformation([1, 4, 3, 3]), Transformation([3, 1, 1, 1]),
187
+ > Transformation([4, 2, 3, 4])],
188
+ > [Transformation([1, 3, 3, 2, 1, 3]),
189
+ > Transformation([1, 5, 5, 6, 5, 2]),
190
+ > Transformation([6, 3, 1, 1, 5, 5]),
191
+ > Transformation([6, 3, 1, 5, 2, 4])],
192
+ > [Transformation([2, 6, 1, 3, 1, 5]),
193
+ > Transformation([4, 3, 3, 5, 5, 5]),
194
+ > Transformation([4, 5, 6, 4, 4, 2]),
195
+ > Transformation([6, 3, 5, 4, 1, 4])],
196
+ > [Transformation([3, 1, 2, 2, 3]), Transformation([3, 2, 1, 2]),
197
+ > Transformation([3, 3, 4, 2, 4])],
198
+ > [Transformation([1, 7, 1, 6, 6, 5, 3]),
199
+ > Transformation([2, 6, 5, 6, 1, 5, 6]),
200
+ > Transformation([3, 4, 6, 1, 5, 1, 6]),
201
+ > Transformation([7, 5, 7, 2, 5, 7, 4])],
202
+ > [Transformation([2, 1, 2, 2, 4]), Transformation([2, 1, 4, 1, 3]),
203
+ > Transformation([3, 3, 1, 3, 2]),
204
+ > Transformation([5, 4, 5, 4, 5])],
205
+ > [Transformation([2, 1, 4, 3]), Transformation([2, 3, 4, 4]),
206
+ > Transformation([3, 3, 1, 1])],
207
+ > [Transformation([2, 1, 1, 2])],
208
+ > [Transformation([1, 3, 1, 3, 3]), Transformation([2, 1, 1, 4, 1]),
209
+ > Transformation([4, 5, 1, 5, 4]), Transformation([5, 4, 3, 4, 2]),
210
+ > Transformation([5, 5, 5, 3, 4])],
211
+ > [Transformation([5, 5, 5, 5, 5])],
212
+ > [Transformation([3, 2, 1, 2, 6, 6]),
213
+ > Transformation([6, 2, 1, 4, 3, 2])],
214
+ > [Transformation([3, 4, 4, 2, 4, 7, 2]),
215
+ > Transformation([4, 1, 7, 7, 7, 1, 3]),
216
+ > Transformation([5, 5, 5, 4, 4, 3, 4]),
217
+ > Transformation([6, 6, 6, 3, 6, 7, 2]),
218
+ > Transformation([7, 7, 5, 1, 7, 2, 3])],
219
+ > [Transformation([1, 5, 3, 3, 1, 2, 2]),
220
+ > Transformation([3, 4, 1, 6, 3, 4, 5]),
221
+ > Transformation([4, 1, 2, 1, 6, 7, 5]),
222
+ > Transformation([4, 2, 7, 2, 4, 1, 1]),
223
+ > Transformation([7, 7, 7, 1, 5, 4, 4])],
224
+ > [Transformation([1, 3, 2, 6, 5, 5]),
225
+ > Transformation([3, 1, 2, 5, 6, 2]),
226
+ > Transformation([5, 5, 1, 5, 3, 5]),
227
+ > Transformation([6, 6, 1, 5, 6, 2])],
228
+ > [Transformation([1, 4, 3, 3, 4, 3]),
229
+ > Transformation([3, 1, 2, 5, 2, 5]),
230
+ > Transformation([3, 2, 1, 6, 5, 4]),
231
+ > Transformation([5, 2, 1, 1, 3, 1]),
232
+ > Transformation([6, 4, 1, 1, 1, 1])],
233
+ > [Transformation([4, 2, 3, 3, 4])],
234
+ > [Transformation([1, 4, 4, 4, 3, 1, 5]),
235
+ > Transformation([4, 7, 3, 6, 1, 7, 6])],
236
+ > [Transformation([4, 3, 5, 7, 7, 1, 6])],
237
+ > [Transformation([2, 2, 4, 1])],
238
+ > [Transformation([1, 1, 2, 6, 4, 6]),
239
+ > Transformation([4, 2, 3, 1, 2, 2]),
240
+ > Transformation([4, 2, 4, 3, 6, 5])],
241
+ > [Transformation([2, 3, 6, 4, 7, 4, 6]),
242
+ > Transformation([4, 4, 3, 2, 6, 4, 6]),
243
+ > Transformation([4, 6, 6, 5, 4, 6]),
244
+ > Transformation([5, 6, 1, 6, 3, 5, 1])],
245
+ > [Transformation([1, 1, 5, 3, 1]), Transformation([2, 2, 4, 2, 3]),
246
+ > Transformation([2, 3, 4, 4]), Transformation([2, 4, 2, 4])],
247
+ > [Transformation([3, 1, 1, 5, 3]), Transformation([3, 3, 5, 3, 1])],
248
+ > [Transformation([4, 3, 3, 5, 2, 5]),
249
+ > Transformation([6, 1, 2, 4, 1, 3])],
250
+ > [Transformation([2, 3, 4, 3, 3]), Transformation([3, 5, 2, 4, 2]),
251
+ > Transformation([3, 5, 2, 5, 2]),
252
+ > Transformation([5, 3, 3, 5, 2])]];;
253
+ gap> out := [];;
254
+ gap> for x in gens do
255
+ > s := Semigroup(x);
256
+ > Add(out, [NrRClasses(s), Size(s)]);
257
+ > od;
258
+ gap> out;
259
+ [ [ 3, 4 ], [ 2, 10 ], [ 3, 14 ], [ 12, 211 ], [ 4, 28 ], [ 378, 4818 ],
260
+ [ 2, 5 ], [ 92, 7142 ], [ 81, 615 ], [ 2, 4 ], [ 158, 2255 ], [ 18, 99 ],
261
+ [ 9, 50 ], [ 16, 76 ], [ 17, 77 ], [ 6, 13 ], [ 19, 330 ], [ 120, 1263 ],
262
+ [ 1, 1 ], [ 14, 53 ], [ 216, 1306 ], [ 6, 12 ], [ 15, 235 ], [ 23, 235 ],
263
+ [ 2, 2 ], [ 3, 9 ], [ 2, 2 ], [ 17, 206 ], [ 22, 506 ], [ 24, 340 ],
264
+ [ 7, 39 ], [ 99, 495 ], [ 10, 18 ], [ 10, 100 ], [ 34, 843 ], [ 14, 210 ],
265
+ [ 546, 3538 ], [ 2, 3 ], [ 2, 3 ], [ 35, 448 ], [ 21, 515 ], [ 9, 14 ],
266
+ [ 5, 11 ], [ 17, 23 ], [ 28, 763 ], [ 15, 199 ], [ 21, 170 ], [ 11, 142 ],
267
+ [ 2, 2 ], [ 33, 1259 ], [ 6, 25 ], [ 64, 426 ], [ 9, 40 ], [ 46, 388 ],
268
+ [ 6, 25 ], [ 11, 49 ], [ 48, 391 ], [ 7, 40 ], [ 13, 18 ], [ 6, 48 ],
269
+ [ 30, 792 ], [ 7, 11 ], [ 1, 3 ], [ 2, 3 ], [ 8, 17 ], [ 15, 115 ],
270
+ [ 49, 1724 ], [ 8, 45 ], [ 6, 46 ], [ 8, 66 ], [ 2, 4 ], [ 1, 3 ],
271
+ [ 322, 4344 ], [ 30, 661 ], [ 1597, 63890 ], [ 10, 76 ], [ 173, 9084 ],
272
+ [ 74, 3931 ], [ 15, 117 ], [ 163, 4804 ], [ 14, 106 ], [ 10, 28 ],
273
+ [ 1, 2 ], [ 53, 328 ], [ 1, 1 ], [ 17, 26 ], [ 172, 1443 ], [ 230, 15176 ],
274
+ [ 83, 1382 ], [ 158, 1074 ], [ 2, 2 ], [ 26, 535 ], [ 3, 6 ], [ 3, 3 ],
275
+ [ 44, 1834 ], [ 158, 1776 ], [ 19, 326 ], [ 9, 45 ], [ 32, 379 ],
276
+ [ 23, 149 ] ]
277
+ gap> m := Semigroup(gens[32]);;
278
+ gap> Size(m);
279
+ 495
280
+ gap> ForAll(GreensRClasses(m), x -> ForAll(Idempotents(x), y -> y in x));
281
+ true
282
+ gap> idem := Set(Concatenation(List(GreensRClasses(m), Idempotents)));;
283
+ gap> idem = Set(Idempotents(m));
284
+ true
285
+ gap> H := GreensHClasses(m);;
286
+ gap> I := Concatenation(List(GreensRClasses(m), GreensHClasses));;
287
+ gap> ForAll(H, x -> Number(I, y -> Representative(x) in y) = 1);
288
+ true
289
+ gap> Set(Concatenation(List(GreensDClasses(m), GreensHClasses))) =
290
+ > Set(GreensHClasses(m));
291
+ true
292
+ gap> m := Semigroup(gens[74]);;
293
+ gap> r := GreensRClassOfElement(m, Transformation([2, 1, 2, 2, 1, 2, 1]));;
294
+ gap> d := DClassOfRClass(r);;
295
+ gap> dr := GreensRClasses(d);;
296
+ gap> r2 := First(dr, x -> x = r);;
297
+ gap> DClassOfRClass(r2) = d;
298
+ true
299
+ gap> m := Semigroup(GeneratorsOfSemigroup(m));;
300
+ gap> r := GreensRClassOfElement(m, Transformation([2, 1, 2, 2, 1, 2, 1]));;
301
+ gap> d := DClassOfRClass(r);;
302
+ gap> dr := GreensRClasses(d);;
303
+ gap> r2 := First(dr, x -> x = r);;
304
+ gap> DClassOfRClass(r2) = d;
305
+ true
306
+ gap> out := [];;
307
+ gap> for x in gens do
308
+ > s := Semigroup(x);
309
+ > Add(out, NrLClasses(s));
310
+ > od;
311
+ gap> out;
312
+ [ 3, 5, 2, 19, 9, 46, 2, 39, 25, 2, 789, 21, 11, 25, 42, 10, 23, 87, 1, 24,
313
+ 195, 9, 15, 28, 2, 7, 2, 18, 26, 25, 10, 45, 13, 11, 94, 15, 80, 2, 2, 103,
314
+ 21, 10, 7, 14, 27, 14, 20, 13, 2, 30, 9, 23, 17, 34, 8, 13, 31, 10, 17, 12,
315
+ 68, 10, 1, 2, 8, 22, 201, 7, 10, 11, 2, 1, 363, 68, 2423, 11, 57, 84, 12,
316
+ 156, 16, 10, 1, 52, 1, 20, 257, 74, 333, 74, 2, 28, 3, 3, 35, 93, 18, 16,
317
+ 25, 33 ]
318
+ gap> ForAll(GreensLClasses(m), x -> ForAll(Idempotents(x), y ->
319
+ > y in x));
320
+ true
321
+ gap> idem := Set(Concatenation(List(GreensLClasses(m), Idempotents)));
322
+ [ Transformation( [ 1, 1, 1, 1, 1, 1, 1 ] ),
323
+ Transformation( [ 1, 1, 1, 1, 5, 1, 1 ] ),
324
+ Transformation( [ 1, 1, 1, 1, 5, 1, 5 ] ),
325
+ Transformation( [ 1, 1, 1, 1, 5, 5, 1 ] ),
326
+ Transformation( [ 1, 1, 1, 4, 1, 1, 1 ] ),
327
+ Transformation( [ 1, 1, 1, 4, 1, 4, 1 ] ),
328
+ Transformation( [ 1, 1, 1, 4, 4, 1, 4 ] ),
329
+ Transformation( [ 1, 1, 1, 4, 5, 1, 5 ] ),
330
+ Transformation( [ 1, 1, 1, 5, 5, 1, 5 ] ),
331
+ Transformation( [ 1, 1, 4, 4, 1, 1, 1 ] ),
332
+ Transformation( [ 1, 1, 4, 4, 4, 1, 4 ] ),
333
+ Transformation( [ 1, 1, 5, 5, 5, 1, 5 ] ),
334
+ Transformation( [ 1, 2, 1, 1, 1, 1, 1 ] ),
335
+ Transformation( [ 1, 2, 1, 1, 2, 1, 1 ] ),
336
+ Transformation( [ 1, 2, 1, 1, 2, 1, 2 ] ),
337
+ Transformation( [ 1, 2, 1, 1, 2, 2, 2 ] ),
338
+ Transformation( [ 1, 2, 1, 1, 5, 1, 1 ] ),
339
+ Transformation( [ 1, 2, 1, 2, 2, 1, 2 ] ),
340
+ Transformation( [ 1, 2, 1, 2, 2, 2, 2 ] ),
341
+ Transformation( [ 1, 2, 2, 1, 1, 1, 1 ] ),
342
+ Transformation( [ 1, 2, 2, 1, 1, 2, 1 ] ),
343
+ Transformation( [ 1, 2, 2, 1, 2, 2, 1 ] ),
344
+ Transformation( [ 1, 2, 2, 1, 5, 5, 1 ] ),
345
+ Transformation( [ 1, 4, 1, 4, 4, 1, 4 ] ),
346
+ Transformation( [ 1, 4, 1, 4, 4, 4, 4 ] ),
347
+ Transformation( [ 1, 5, 1, 1, 5, 1, 1 ] ),
348
+ Transformation( [ 1, 5, 1, 1, 5, 1, 5 ] ),
349
+ Transformation( [ 1, 5, 1, 1, 5, 5, 5 ] ),
350
+ Transformation( [ 1, 5, 1, 4, 5, 4, 5 ] ),
351
+ Transformation( [ 1, 5, 1, 5, 5, 1, 5 ] ),
352
+ Transformation( [ 1, 5, 1, 5, 5, 5, 5 ] ),
353
+ Transformation( [ 1, 5, 5, 1, 5, 5, 1 ] ),
354
+ Transformation( [ 2, 2, 2, 2, 2, 2, 2 ] ),
355
+ Transformation( [ 2, 2, 2, 2, 2, 6, 2 ] ),
356
+ Transformation( [ 2, 2, 2, 2, 5, 2, 2 ] ),
357
+ Transformation( [ 2, 2, 2, 2, 5, 2, 5 ] ),
358
+ Transformation( [ 2, 2, 2, 2, 5, 5, 2 ] ),
359
+ Transformation( [ 2, 2, 2, 2, 6, 6, 2 ] ),
360
+ Transformation( [ 2, 2, 2, 2, 7, 2, 7 ] ),
361
+ Transformation( [ 2, 2, 2, 5, 5, 2, 5 ] ),
362
+ Transformation( [ 2, 2, 2, 6, 2, 6, 2 ] ),
363
+ Transformation( [ 2, 2, 2, 7, 7, 2, 7 ] ),
364
+ Transformation( [ 2, 2, 5, 5, 5, 2, 5 ] ),
365
+ Transformation( [ 2, 2, 7, 7, 7, 2, 7 ] ),
366
+ Transformation( [ 3, 3, 3, 3, 3, 3, 3 ] ),
367
+ Transformation( [ 3, 3, 3, 3, 5, 3, 3 ] ),
368
+ Transformation( [ 3, 3, 3, 3, 5, 3, 5 ] ),
369
+ Transformation( [ 3, 3, 3, 3, 5, 5, 3 ] ),
370
+ Transformation( [ 3, 3, 3, 3, 7, 3, 7 ] ),
371
+ Transformation( [ 3, 3, 3, 4, 3, 3, 3 ] ),
372
+ Transformation( [ 3, 3, 3, 4, 3, 4, 3 ] ),
373
+ Transformation( [ 3, 3, 3, 4, 4, 3, 4 ] ),
374
+ Transformation( [ 3, 3, 3, 4, 5, 3, 5 ] ),
375
+ Transformation( [ 3, 3, 3, 4, 7, 3, 7 ] ),
376
+ Transformation( [ 3, 3, 3, 5, 5, 3, 5 ] ),
377
+ Transformation( [ 3, 3, 3, 7, 7, 3, 7 ] ),
378
+ Transformation( [ 3, 4, 3, 4, 4, 3, 4 ] ),
379
+ Transformation( [ 3, 4, 3, 4, 4, 4, 4 ] ),
380
+ Transformation( [ 3, 5, 3, 3, 5, 3, 3 ] ),
381
+ Transformation( [ 3, 5, 3, 3, 5, 3, 5 ] ),
382
+ Transformation( [ 3, 5, 3, 3, 5, 5, 5 ] ),
383
+ Transformation( [ 3, 5, 3, 4, 5, 4, 5 ] ),
384
+ Transformation( [ 3, 5, 3, 5, 5, 3, 5 ] ),
385
+ Transformation( [ 3, 5, 3, 5, 5, 5, 5 ] ),
386
+ Transformation( [ 3, 7, 3, 3, 7, 3, 7 ] ),
387
+ Transformation( [ 3, 7, 3, 3, 7, 7, 7 ] ),
388
+ Transformation( [ 3, 7, 3, 4, 7, 4, 7 ] ),
389
+ Transformation( [ 3, 7, 3, 7, 7, 3, 7 ] ),
390
+ Transformation( [ 3, 7, 3, 7, 7, 7, 7 ] ),
391
+ Transformation( [ 4, 3, 3, 4, 3, 3, 4 ] ),
392
+ Transformation( [ 4, 3, 3, 4, 4, 3, 4 ] ),
393
+ Transformation( [ 4, 3, 3, 4, 4, 4, 4 ] ),
394
+ Transformation( [ 4, 3, 3, 4, 5, 5, 4 ] ),
395
+ Transformation( [ 4, 4, 4, 4, 4, 4, 4 ] ),
396
+ Transformation( [ 4, 4, 4, 4, 5, 4, 4 ] ),
397
+ Transformation( [ 4, 4, 4, 4, 5, 4, 5 ] ),
398
+ Transformation( [ 4, 4, 4, 4, 5, 5, 4 ] ),
399
+ Transformation( [ 4, 4, 4, 4, 7, 4, 7 ] ),
400
+ Transformation( [ 4, 5, 4, 4, 5, 4, 4 ] ),
401
+ Transformation( [ 4, 5, 4, 4, 5, 4, 5 ] ),
402
+ Transformation( [ 4, 5, 4, 4, 5, 5, 5 ] ),
403
+ Transformation( [ 4, 5, 5, 4, 5, 5, 4 ] ),
404
+ Transformation( [ 4, 7, 4, 4, 7, 4, 7 ] ),
405
+ Transformation( [ 4, 7, 4, 4, 7, 7, 7 ] ),
406
+ Transformation( [ 5, 2, 2, 5, 5, 2, 5 ] ),
407
+ Transformation( [ 5, 2, 2, 5, 5, 5, 5 ] ),
408
+ Transformation( [ 5, 2, 5, 5, 5, 5, 5 ] ),
409
+ Transformation( [ 5, 3, 3, 5, 5, 3, 5 ] ),
410
+ Transformation( [ 5, 3, 3, 5, 5, 5, 5 ] ),
411
+ Transformation( [ 5, 5, 3, 3, 5, 5, 5 ] ),
412
+ Transformation( [ 5, 5, 4, 4, 5, 5, 5 ] ),
413
+ Transformation( [ 5, 5, 5, 4, 5, 4, 5 ] ),
414
+ Transformation( [ 5, 5, 5, 4, 5, 5, 5 ] ),
415
+ Transformation( [ 5, 5, 5, 5, 5, 5, 5 ] ),
416
+ Transformation( [ 6, 2, 2, 6, 6, 6, 6 ] ),
417
+ Transformation( [ 6, 2, 6, 2, 2, 6, 2 ] ),
418
+ Transformation( [ 6, 2, 6, 6, 2, 6, 2 ] ),
419
+ Transformation( [ 6, 2, 6, 6, 2, 6, 6 ] ),
420
+ Transformation( [ 6, 2, 6, 6, 6, 6, 6 ] ),
421
+ Transformation( [ 6, 6, 6, 6, 6, 6, 6 ] ),
422
+ Transformation( [ 6, 6, 6, 6, 7, 6, 7 ] ),
423
+ Transformation( [ 6, 6, 6, 7, 7, 6, 7 ] ),
424
+ Transformation( [ 6, 6, 7, 7, 7, 6, 7 ] ),
425
+ Transformation( [ 6, 7, 6, 6, 7, 6, 7 ] ),
426
+ Transformation( [ 6, 7, 6, 7, 7, 6, 7 ] ),
427
+ Transformation( [ 7, 2, 2, 7, 2, 2, 7 ] ),
428
+ Transformation( [ 7, 2, 2, 7, 5, 5, 7 ] ),
429
+ Transformation( [ 7, 2, 2, 7, 6, 6, 7 ] ),
430
+ Transformation( [ 7, 2, 2, 7, 7, 2, 7 ] ),
431
+ Transformation( [ 7, 2, 2, 7, 7, 7, 7 ] ),
432
+ Transformation( [ 7, 2, 7, 7, 2, 7, 7 ] ),
433
+ Transformation( [ 7, 2, 7, 7, 5, 7, 7 ] ),
434
+ Transformation( [ 7, 2, 7, 7, 7, 7, 7 ] ),
435
+ Transformation( [ 7, 3, 3, 7, 3, 3, 7 ] ),
436
+ Transformation( [ 7, 3, 3, 7, 7, 3, 7 ] ),
437
+ Transformation( [ 7, 3, 3, 7, 7, 7, 7 ] ),
438
+ Transformation( [ 7, 5, 5, 7, 5, 5, 7 ] ),
439
+ Transformation( [ 7, 5, 7, 7, 5, 7, 7 ] ),
440
+ Transformation( [ 7, 6, 6, 7, 6, 6, 7 ] ),
441
+ Transformation( [ 7, 6, 6, 7, 7, 6, 7 ] ),
442
+ Transformation( [ 7, 7, 3, 3, 7, 7, 7 ] ),
443
+ Transformation( [ 7, 7, 4, 4, 7, 7, 7 ] ),
444
+ Transformation( [ 7, 7, 7, 4, 7, 4, 7 ] ),
445
+ Transformation( [ 7, 7, 7, 4, 7, 7, 7 ] ),
446
+ Transformation( [ 7, 7, 7, 6, 7, 6, 7 ] ),
447
+ Transformation( [ 7, 7, 7, 7, 5, 5, 7 ] ),
448
+ Transformation( [ 7, 7, 7, 7, 5, 7, 7 ] ),
449
+ Transformation( [ 7, 7, 7, 7, 6, 6, 7 ] ),
450
+ Transformation( [ 7, 7, 7, 7, 7, 6, 7 ] ),
451
+ Transformation( [ 7, 7, 7, 7, 7, 7, 7 ] ) ]
452
+ gap> idem = Set(Idempotents(m));
453
+ true
454
+ gap> m := Semigroup(gens[30]);;
455
+ gap> r := GreensLClassOfElement(m, Transformation([3, 3, 3, 3, 3, 3, 5]));;
456
+ gap> d := DClassOfLClass(r);;
457
+ gap> dr := GreensLClasses(d);;
458
+ gap> r2 := First(dr, x -> x = r);;
459
+ gap> DClassOfLClass(r2) = d;
460
+ true
461
+ gap> m := Semigroup(GeneratorsOfSemigroup(m));
462
+ <transformation semigroup of degree 7 with 2 generators>
463
+ gap> r := GreensLClassOfElement(m, Transformation([3, 3, 3, 3, 3, 3, 5]));
464
+ <Green's L-class: Transformation( [ 3, 3, 3, 3, 3, 3, 5 ] )>
465
+ gap> Transformation([3, 3, 3, 3, 3, 3, 5]) in last;
466
+ true
467
+ gap> d := DClassOfLClass(r);;
468
+ gap> dr := GreensLClasses(d);;
469
+ gap> r2 := First(dr, x -> x = r);;
470
+ gap> DClassOfLClass(r2) = d;
471
+ true
472
+ gap> out := [];;
473
+ gap> for i in gens do
474
+ > s := Semigroup(i);
475
+ > Add(out, [NrHClasses(s), Length(GreensHClasses(s))]);
476
+ > od;
477
+ gap> out;
478
+ [ [ 3, 3 ], [ 5, 5 ], [ 3, 3 ], [ 77, 77 ], [ 13, 13 ], [ 1281, 1281 ],
479
+ [ 2, 2 ], [ 1032, 1032 ], [ 231, 231 ], [ 2, 2 ], [ 1355, 1355 ],
480
+ [ 57, 57 ], [ 28, 28 ], [ 48, 48 ], [ 57, 57 ], [ 12, 12 ], [ 139, 139 ],
481
+ [ 508, 508 ], [ 1, 1 ], [ 36, 36 ], [ 801, 801 ], [ 10, 10 ], [ 71, 71 ],
482
+ [ 130, 130 ], [ 2, 2 ], [ 7, 7 ], [ 2, 2 ], [ 83, 83 ], [ 158, 158 ],
483
+ [ 172, 172 ], [ 22, 22 ], [ 285, 285 ], [ 17, 17 ], [ 40, 40 ],
484
+ [ 377, 377 ], [ 67, 67 ], [ 1285, 1285 ], [ 2, 2 ], [ 2, 2 ], [ 212, 212 ],
485
+ [ 153, 153 ], [ 14, 14 ], [ 9, 9 ], [ 22, 22 ], [ 239, 239 ], [ 65, 65 ],
486
+ [ 91, 91 ], [ 55, 55 ], [ 2, 2 ], [ 367, 367 ], [ 15, 15 ], [ 168, 168 ],
487
+ [ 26, 26 ], [ 207, 207 ], [ 14, 14 ], [ 29, 29 ], [ 274, 274 ], [ 22, 22 ],
488
+ [ 17, 17 ], [ 26, 26 ], [ 253, 253 ], [ 10, 10 ], [ 1, 1 ], [ 2, 2 ],
489
+ [ 13, 13 ], [ 64, 64 ], [ 605, 605 ], [ 20, 20 ], [ 25, 25 ], [ 33, 33 ],
490
+ [ 2, 2 ], [ 1, 1 ], [ 1520, 1520 ], [ 307, 307 ], [ 9625, 9625 ],
491
+ [ 41, 41 ], [ 1885, 1885 ], [ 945, 945 ], [ 54, 54 ], [ 1297, 1297 ],
492
+ [ 58, 58 ], [ 18, 18 ], [ 1, 1 ], [ 173, 173 ], [ 1, 1 ], [ 25, 25 ],
493
+ [ 737, 737 ], [ 2807, 2807 ], [ 636, 636 ], [ 495, 495 ], [ 2, 2 ],
494
+ [ 201, 201 ], [ 3, 3 ], [ 3, 3 ], [ 471, 471 ], [ 715, 715 ], [ 118, 118 ],
495
+ [ 28, 28 ], [ 197, 197 ], [ 88, 88 ] ]
496
+ gap> out := [];; out2 := [];; out3 := [];;
497
+ gap> for i in gens do
498
+ > s := Semigroup(i);
499
+ > Add(out, [Number(GreensDClasses(s), IsRegularDClass), NrDClasses(s)]);
500
+ > Add(out2, List(GreensDClasses(s), x -> Length(Idempotents(x))));
501
+ > Add(out3, NrIdempotents(s));
502
+ > if not Number(GreensHClasses(s), IsGroupHClass)
503
+ > = Length(Idempotents(s)) then
504
+ > Print("Something is wrong! ", Position(gens, i), "\n");
505
+ > fi;
506
+ > od;
507
+ gap> Perform(out2, Sort);
508
+ gap> out;
509
+ [ [ 1, 3 ], [ 2, 2 ], [ 2, 2 ], [ 4, 4 ], [ 3, 3 ], [ 6, 9 ], [ 1, 2 ],
510
+ [ 5, 5 ], [ 4, 6 ], [ 1, 2 ], [ 6, 75 ], [ 3, 10 ], [ 3, 4 ], [ 4, 8 ],
511
+ [ 3, 12 ], [ 3, 5 ], [ 4, 4 ], [ 4, 16 ], [ 1, 1 ], [ 4, 10 ], [ 6, 101 ],
512
+ [ 4, 5 ], [ 4, 4 ], [ 4, 8 ], [ 1, 2 ], [ 2, 3 ], [ 1, 2 ], [ 3, 6 ],
513
+ [ 5, 7 ], [ 5, 6 ], [ 3, 4 ], [ 5, 19 ], [ 3, 8 ], [ 3, 3 ], [ 5, 13 ],
514
+ [ 4, 4 ], [ 6, 36 ], [ 1, 2 ], [ 1, 2 ], [ 4, 14 ], [ 4, 4 ], [ 3, 7 ],
515
+ [ 3, 4 ], [ 4, 11 ], [ 4, 4 ], [ 4, 4 ], [ 4, 7 ], [ 3, 3 ], [ 1, 2 ],
516
+ [ 4, 4 ], [ 3, 4 ], [ 4, 7 ], [ 4, 6 ], [ 4, 16 ], [ 4, 4 ], [ 3, 7 ],
517
+ [ 6, 8 ], [ 3, 4 ], [ 3, 13 ], [ 3, 3 ], [ 4, 7 ], [ 3, 7 ], [ 1, 1 ],
518
+ [ 2, 2 ], [ 2, 4 ], [ 4, 9 ], [ 4, 10 ], [ 3, 3 ], [ 3, 3 ], [ 3, 3 ],
519
+ [ 1, 2 ], [ 1, 1 ], [ 5, 54 ], [ 3, 10 ], [ 7, 32 ], [ 3, 4 ], [ 5, 7 ],
520
+ [ 5, 15 ], [ 5, 5 ], [ 5, 22 ], [ 2, 7 ], [ 3, 5 ], [ 1, 1 ], [ 4, 17 ],
521
+ [ 1, 1 ], [ 4, 14 ], [ 5, 62 ], [ 6, 11 ], [ 5, 26 ], [ 5, 15 ], [ 1, 2 ],
522
+ [ 3, 8 ], [ 1, 3 ], [ 1, 3 ], [ 6, 6 ], [ 4, 19 ], [ 3, 4 ], [ 3, 5 ],
523
+ [ 4, 6 ], [ 3, 13 ] ]
524
+ gap> out2;
525
+ [ [ 0, 0, 1 ], [ 1, 4 ], [ 1, 2 ], [ 1, 5, 7, 30 ], [ 1, 4, 4 ],
526
+ [ 0, 0, 0, 1, 1, 6, 11, 167, 168 ], [ 0, 1 ], [ 2, 6, 42, 169, 197 ],
527
+ [ 0, 0, 2, 5, 18, 58 ], [ 0, 1 ],
528
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 5,
531
+ 8, 46, 159 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 5, 19 ], [ 0, 2, 4, 11 ],
532
+ [ 0, 0, 0, 0, 1, 2, 4, 14 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 12 ],
533
+ [ 0, 0, 1, 2, 3 ], [ 2, 5, 17, 39 ],
534
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 24, 137 ], [ 1 ],
535
+ [ 0, 0, 0, 0, 0, 0, 1, 1, 3, 10 ],
536
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
537
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
539
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
540
+ 1, 4, 6, 7, 221 ], [ 0, 1, 2, 2, 3 ], [ 1, 4, 12, 24 ],
541
+ [ 0, 0, 0, 0, 1, 1, 7, 34 ], [ 0, 1 ], [ 0, 1, 3 ], [ 0, 1 ],
542
+ [ 0, 0, 0, 5, 9, 36 ], [ 0, 0, 1, 1, 5, 17, 50 ], [ 0, 1, 1, 7, 7, 63 ],
543
+ [ 0, 1, 4, 8 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 7, 13, 69
544
+ ], [ 0, 0, 0, 0, 0, 1, 2, 4 ], [ 4, 4, 17 ],
545
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 6, 20, 93 ], [ 1, 4, 10, 24 ],
546
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547
+ 0, 0, 0, 0, 0, 0, 1, 1, 1, 7, 105, 199 ], [ 0, 1 ], [ 0, 1 ],
548
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 13, 48 ], [ 1, 5, 20, 51 ],
549
+ [ 0, 0, 0, 0, 1, 2, 3 ], [ 0, 1, 3, 3 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3 ]
550
+ , [ 2, 7, 27, 82 ], [ 1, 4, 9, 24 ], [ 0, 0, 0, 1, 3, 5, 38 ],
551
+ [ 4, 6, 24 ], [ 0, 1 ], [ 1, 6, 47, 121 ], [ 0, 1, 4, 5 ],
552
+ [ 0, 0, 0, 1, 5, 14, 42 ], [ 0, 0, 1, 1, 3, 8 ],
553
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 80 ], [ 1, 1, 3, 6 ],
554
+ [ 0, 0, 0, 0, 1, 4, 11 ], [ 0, 0, 1, 1, 4, 6, 20, 65 ], [ 0, 1, 4, 10 ],
555
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2 ], [ 2, 4, 10 ],
556
+ [ 0, 0, 0, 1, 5, 34, 62 ], [ 0, 0, 0, 0, 1, 1, 2 ], [ 1 ], [ 1, 1 ],
557
+ [ 0, 0, 3, 4 ], [ 0, 0, 0, 0, 0, 1, 1, 6, 26 ],
558
+ [ 0, 0, 0, 0, 0, 0, 2, 6, 47, 121 ], [ 2, 3, 10 ], [ 1, 4, 11 ],
559
+ [ 3, 4, 15 ], [ 0, 1 ], [ 1 ],
560
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
561
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
562
+ 0, 1, 3, 7, 122, 248 ], [ 0, 0, 0, 0, 0, 0, 0, 7, 12, 111 ],
563
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564
+ 0, 1, 1, 7, 9, 258, 430, 889 ], [ 0, 1, 4, 20 ],
565
+ [ 0, 0, 1, 6, 12, 231, 324 ],
566
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 6, 143, 163 ], [ 1, 1, 3, 4, 24 ],
567
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 7, 140, 277 ],
568
+ [ 0, 0, 0, 0, 0, 5, 23 ], [ 0, 0, 1, 4, 4 ], [ 1 ],
569
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 52 ], [ 1 ],
570
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2 ],
571
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
572
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
573
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 7, 11, 177 ],
574
+ [ 0, 0, 0, 0, 0, 1, 2, 7, 38, 390, 434 ],
575
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 9,
576
+ 40, 114 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 6, 32, 65 ], [ 0, 1 ],
577
+ [ 0, 0, 0, 0, 0, 6, 16, 74 ], [ 0, 0, 1 ], [ 0, 0, 1 ],
578
+ [ 1, 1, 4, 6, 65, 114 ],
579
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 40, 200 ],
580
+ [ 0, 5, 8, 44 ], [ 0, 0, 1, 3, 10 ], [ 0, 0, 1, 6, 6, 73 ],
581
+ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 33 ] ]
582
+ gap> out3;
583
+ [ 1, 5, 3, 43, 9, 354, 1, 416, 83, 1, 220, 25, 17, 21, 16, 6, 63, 168, 1, 15,
584
+ 240, 8, 41, 43, 1, 4, 1, 50, 74, 79, 13, 92, 7, 25, 122, 39, 314, 1, 1, 67,
585
+ 77, 6, 7, 7, 118, 38, 47, 34, 1, 175, 10, 62, 13, 93, 11, 16, 97, 15, 4,
586
+ 16, 102, 4, 1, 2, 7, 34, 176, 15, 16, 22, 1, 1, 381, 130, 1595, 25, 574,
587
+ 316, 33, 430, 28, 9, 1, 63, 1, 5, 197, 872, 173, 106, 1, 96, 1, 1, 191,
588
+ 248, 57, 14, 86, 38 ]
589
+ gap> a := Transformation([2, 1, 4, 5, 6, 3]);;
590
+ gap> b := Transformation([2, 3, 1, 5, 4, 1]);;
591
+ gap> M := Semigroup(a, b);;
592
+ gap> GreensLClassOfElement(M, a);
593
+ <Green's L-class: Transformation( [ 2, 1, 4, 5, 6, 3 ] )>
594
+ gap> Transformation([2, 1, 4, 5, 6, 3]) in last;
595
+ true
596
+ gap> f := FreeSemigroup(3);;
597
+ gap> a := f.1;; b := f.2;; c := f.3;;
598
+ gap> s := f / [
599
+ > [a ^ 2, a], [b ^ 2, b], [c ^ 2, c], [a * b, a], [b * a, b],
600
+ > [a * c, a], [c * a, c], [b * c, b], [c * b, c]];
601
+ <fp semigroup with 3 generators and 9 relations of length 30>
602
+ gap> Size(s);
603
+ 3
604
+ gap> GreensLClassOfElement(s, s.1);
605
+ <Green's L-class: s1>
606
+ gap> gens := [Transformation([2, 2, 5, 2, 3]),
607
+ > Transformation([2, 5, 3, 5, 3])];;
608
+ gap> S := Semigroup(gens);;
609
+ gap> f := Transformation([5, 5, 3, 5, 3]);;
610
+ gap> GreensHClassOfElement(S, f);;
611
+ gap> Representative(last);
612
+ Transformation( [ 5, 5, 3, 5, 3 ] )
613
+ gap> IsTrivial(SchutzenbergerGroup(last2));
614
+ true
615
+ gap> gens := [Transformation([4, 1, 4, 5, 3]),
616
+ > Transformation([5, 3, 5, 4, 3])];;
617
+ gap> S := Semigroup(gens);;
618
+ gap> C := GreensLClassOfElement(S, gens[1] * gens[2] * gens[1]);
619
+ <Green's L-class: Transformation( [ 5, 3, 5, 4, 3 ] )>
620
+ gap> Transformation([5, 3, 5, 4, 3]) in last;
621
+ true
622
+ gap> Representative(C);
623
+ Transformation( [ 5, 3, 5, 4, 3 ] )
624
+ gap> AsList(RhoOrb(C));
625
+ [ [ 1, 2, 1, 3, 2 ] ]
626
+ gap> RhoOrbMults(RhoOrb(C),
627
+ > RhoOrbSCCIndex(C)){OrbSCC(RhoOrb(C))[RhoOrbSCCIndex(C)]};
628
+ [ [ IdentityTransformation, IdentityTransformation ] ]
629
+ gap> SchutzenbergerGroup(C);
630
+ Sym( [ 3 .. 5 ] )
631
+ gap> gens := [Transformation([1, 2, 1, 2, 1]),
632
+ > Transformation([3, 4, 2, 1, 4])];;
633
+ gap> S := Semigroup(gens);;
634
+ gap> RClassReps(S);
635
+ [ Transformation( [ 1, 2, 1, 2, 1 ] ), Transformation( [ 3, 4, 2, 1, 4 ] ),
636
+ Transformation( [ 1, 2, 2, 1, 2 ] ), Transformation( [ 2, 1, 2, 1, 1 ] ) ]
637
+ gap> a := Transformation([2, 1, 4, 5, 6, 3]);;
638
+ gap> b := Transformation([2, 3, 1, 5, 4, 1]);;
639
+ gap> M := Semigroup(a, b);;
640
+ gap> rc := GreensRClassOfElement(M, a * b * a);
641
+ <Green's R-class: Transformation( [ 4, 1, 6, 5, 2, 2 ] )>
642
+ gap> Transformation([5, 2, 1, 4, 3, 3]) in last;
643
+ true
644
+ gap> Transformation([4, 1, 6, 5, 2, 2]) in rc;
645
+ true
646
+ gap> Representative(rc);
647
+ Transformation( [ 4, 1, 6, 5, 2, 2 ] )
648
+ gap> SchutzenbergerGroup(rc);
649
+ Group([ (1,3,5), (1,2,3)(4,5) ])
650
+ gap> gens := [Transformation([4, 1, 5, 2, 4]),
651
+ > Transformation([4, 4, 1, 5, 3])];;
652
+ gap> S := Semigroup(gens);;
653
+ gap> f := Transformation([5, 5, 3, 3, 3]);;
654
+ gap> GreensDClassOfElement(S, f);
655
+ <Green's D-class: Transformation( [ 5, 5, 3, 3, 3 ] )>
656
+ gap> Transformation([4, 4, 5, 5, 5]) in last;
657
+ true
658
+ gap> gens := [Transformation([4, 4, 3, 5, 3]),
659
+ > Transformation([5, 1, 1, 4, 1]),
660
+ > Transformation([5, 5, 4, 4, 5])];;
661
+ gap> S := Semigroup(gens);;
662
+ gap> f := Transformation([4, 5, 5, 5, 5]);;
663
+ gap> SchutzenbergerGroup(GreensDClassOfElement(S, f));
664
+ Group([ (4,5) ])
665
+ gap> SchutzenbergerGroup(GreensRClassOfElement(S, f));
666
+ Group([ (4,5) ])
667
+ gap> SchutzenbergerGroup(GreensLClassOfElement(S, f));
668
+ Group([ (4,5) ])
669
+ gap> SchutzenbergerGroup(GreensHClassOfElement(S, f));
670
+ Group([ (4,5) ])
671
+ gap> S := Semigroup([Transformation([2, 3, 4, 1]),
672
+ > Transformation([3, 3, 1, 1])]);;
673
+ gap> Idempotents(S);
674
+ [ IdentityTransformation, Transformation( [ 1, 1, 3, 3 ] ),
675
+ Transformation( [ 1, 3, 3, 1 ] ), Transformation( [ 2, 2, 4, 4 ] ),
676
+ Transformation( [ 4, 2, 2, 4 ] ) ]
677
+ gap> gens := [Transformation([4, 3, 3, 6, 7, 2, 3]),
678
+ > Transformation([6, 6, 4, 4, 2, 1, 4])];;
679
+ gap> S := Semigroup(gens);;
680
+ gap> Length(GreensRClasses(S));
681
+ 17
682
+ gap> r := GreensRClasses(S)[10];;
683
+ gap> Representative(r);
684
+ Transformation( [ 3, 3, 3, 3, 3, 2, 3 ] )
685
+ gap> SchutzenbergerGroup(r);
686
+ Group([ (2,3) ])
687
+ gap> Number(GreensDClasses(S), IsRegularDClass);
688
+ 3
689
+ gap> gens := [
690
+ > Transformation([1, 54, 25, 4, 49, 30, 7, 56, 51, 44, 31, 62, 13, 20, 35,
691
+ > 38, 61, 18, 37, 14, 63, 42, 23, 24, 3, 58, 27, 34, 55, 6, 11, 32, 45, 28,
692
+ > 15, 36, 19, 16, 59, 64, 41, 22, 53, 10, 33, 46, 47, 50, 5, 48, 9, 52, 43,
693
+ > 2, 29, 8, 57, 26, 39, 60, 17, 12, 21, 40]),
694
+ > Transformation([1, 56, 21, 36, 61, 26, 7, 48, 3, 28, 55, 14, 41, 54, 33,
695
+ > 62, 43, 4, 11, 2, 51, 40, 13, 46, 63, 22, 47, 6, 19, 58, 29, 18, 39, 30,
696
+ > 45, 52, 31, 12, 35, 10, 23, 64, 5, 34, 59, 24, 57, 38, 17, 16, 25, 60,
697
+ > 49, 8, 37, 50, 27, 42, 15, 32, 53, 20, 9, 44]),
698
+ > Transformation([1, 64, 33, 18, 11, 8, 7, 10, 15, 14, 17, 26, 23, 22, 25,
699
+ > 30, 29, 32, 49, 42, 39, 38, 41, 46, 45, 48, 57, 54, 53, 56, 61, 60, 63,
700
+ > 2, 3, 4, 5, 6, 9, 12, 13, 16, 19, 20, 21, 24, 27, 28, 31, 34, 35, 36, 37,
701
+ > 40, 43, 44, 47, 50, 51, 52, 55, 58, 59, 62]),
702
+ > Transformation([1, 3, 19, 27, 31, 33, 1, 63, 29, 59, 61, 21, 23, 51, 53,
703
+ > 25, 55, 57, 5, 9, 11, 35, 41, 7, 37, 39, 13, 15, 43, 45, 17, 47, 49, 35,
704
+ > 43, 47, 49, 3, 17, 45, 13, 15, 37, 39, 5, 7, 41, 9, 11, 51, 55, 57, 19,
705
+ > 25, 53, 21, 23, 59, 61, 27, 29, 63, 31, 33]),
706
+ > Transformation([1, 18, 57, 46, 41, 36, 7, 4, 47, 18, 13, 60, 1, 32, 27,
707
+ > 52, 23, 24, 23, 32, 27, 60, 1, 24, 57, 52, 7, 4, 41, 36, 13, 46, 47, 4,
708
+ > 27, 24, 23, 52, 57, 32, 1, 60, 13, 18, 47, 46, 7, 36, 41, 36, 47, 46, 13,
709
+ > 18, 41, 4, 7, 52, 57, 24, 23, 60, 27, 32])];;
710
+ gap> s := Semigroup(gens);;
711
+ gap> DegreeOfTransformationSemigroup(s);
712
+ 64
713
+ gap> f := Transformation(
714
+ > [53, 15, 42, 7, 6, 36, 20, 59, 6, 29, 37, 48, 52, 4, 32, 18,
715
+ > 13, 55, 49, 42, 46, 35, 52, 7, 53, 27, 9, 33, 41, 18, 63, 29, 42, 33, 56,
716
+ > 63, 64, 49, 35, 3, 20, 2, 26, 11, 39, 9, 7, 48, 8, 56, 42, 10, 61, 25, 55,
717
+ > 39, 62, 21, 34, 57, 44, 14, 14, 53]);;
718
+ gap> f in s;
719
+ false
720
+ gap> GreensRClassOfElement(s, f);
721
+ Error, the 2nd argument (a mult. elt.) does not belong to the 1st argument (a \
722
+ semigroup)
723
+ gap> f := Transformation([1, 33, 49, 57, 61, 63, 1, 59, 53, 51, 55, 39, 41,
724
+ > 35, 37, 45, 43, 47, 11, 15, 17, 3, 13, 7, 5, 9, 23, 25, 19, 21, 29, 27, 31,
725
+ > 3, 19, 27, 31, 33, 29, 21, 23, 25, 5, 9, 11, 7, 13, 15, 17, 35, 43, 47, 49,
726
+ > 45, 37, 39, 41, 51, 55, 57, 53, 59, 61, 63]);;
727
+ gap> f in s;
728
+ true
729
+ gap> r1 := GreensRClassOfElement(s, f);;
730
+ gap> gens := [Transformation([2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
731
+ > Transformation([1, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
732
+ > Transformation([1, 2, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
733
+ > Transformation([1, 2, 3, 5, 5, 6, 7, 8, 9, 10, 11, 12]),
734
+ > Transformation([1, 2, 3, 4, 6, 6, 7, 8, 9, 10, 11, 12]),
735
+ > Transformation([1, 2, 3, 4, 5, 7, 7, 8, 9, 10, 11, 12]),
736
+ > Transformation([1, 2, 3, 4, 5, 6, 8, 8, 9, 10, 11, 12]),
737
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 9, 9, 10, 11, 12]),
738
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 10, 10, 11, 12]),
739
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 12]),
740
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 12]),
741
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11]),
742
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 12]),
743
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 11, 12]),
744
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 8, 8, 10, 11, 12]),
745
+ > Transformation([1, 2, 3, 4, 5, 6, 7, 7, 9, 10, 11, 12]),
746
+ > Transformation([1, 2, 3, 4, 5, 6, 6, 8, 9, 10, 11, 12]),
747
+ > Transformation([1, 2, 3, 4, 5, 5, 7, 8, 9, 10, 11, 12]),
748
+ > Transformation([1, 2, 3, 4, 4, 6, 7, 8, 9, 10, 11, 12]),
749
+ > Transformation([1, 2, 3, 3, 5, 6, 7, 8, 9, 10, 11, 12]),
750
+ > Transformation([1, 2, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12]),
751
+ > Transformation([1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])];;
752
+ gap> s := Semigroup(gens);;
753
+ gap> f := Transformation([1, 1, 2, 4, 5, 5, 5, 5, 6, 12, 12, 12]);;
754
+ gap> r := GreensRClassOfElementNC(s, f);;
755
+ gap> r2 := GreensRClassOfElement(s, f);;
756
+ gap> r = r2;
757
+ true
758
+ gap> Representative(r) in r2;
759
+ true
760
+ gap> Representative(r2) in r;
761
+ true
762
+ gap> gens := [Transformation([5, 1, 4, 6, 2, 3]),
763
+ > Transformation([1, 2, 3, 4, 5, 6]),
764
+ > Transformation([4, 6, 3, 4, 2, 5]),
765
+ > Transformation([5, 4, 6, 3, 1, 3]),
766
+ > Transformation([2, 2, 6, 5, 4, 3]),
767
+ > Transformation([3, 5, 5, 1, 2, 4]),
768
+ > Transformation([6, 5, 1, 3, 3, 4]),
769
+ > Transformation([1, 3, 4, 3, 2, 1])];;
770
+ gap> s := Semigroup(gens);;
771
+ gap> Size(s);
772
+ 43779
773
+ gap> NrRClasses(s);
774
+ 200
775
+ gap> iter := IteratorOfRClasses(s);
776
+ <iterator>
777
+ gap> r := NextIterator(iter);;
778
+ gap> r := NextIterator(iter);
779
+ <Green's R-class: Transformation( [ 4, 6, 3, 4, 2, 5 ] )>
780
+ gap> Transformation([4, 6, 3, 4, 2, 5]) in last;
781
+ true
782
+ gap> r := NextIterator(iter);
783
+ <Green's R-class: Transformation( [ 2, 6, 3, 4, 5, 4 ] )>
784
+ gap> Transformation([2, 6, 3, 4, 5, 4]) in last;
785
+ true
786
+ gap> r := NextIterator(iter);
787
+ <Green's R-class: Transformation( [ 2, 2, 6, 5, 4, 3 ] )>
788
+ gap> Transformation([2, 2, 6, 5, 4, 3]) in last;
789
+ true
790
+ gap> r := NextIterator(iter);
791
+ <Green's R-class: Transformation( [ 3, 5, 5, 2, 6, 4 ] )>
792
+ gap> Transformation([3, 5, 5, 2, 6, 4]) in last;
793
+ true
794
+ gap> r := NextIterator(iter);
795
+ <Green's R-class: Transformation( [ 3, 2, 5, 4, 4 ] )>
796
+ gap> Transformation([3, 2, 5, 4, 4]) in last;
797
+ true
798
+ gap> r := NextIterator(iter);
799
+ <Green's R-class: Transformation( [ 1, 3, 4, 3, 2, 1 ] )>
800
+ gap> Transformation([1, 3, 4, 3, 2, 1]) in last;
801
+ true
802
+ gap> d := DClassOfRClass(r);
803
+ <Green's D-class: Transformation( [ 1, 3, 4, 3, 2, 1 ] )>
804
+ gap> Transformation([1, 3, 4, 3, 2, 1]) in last;
805
+ true
806
+ gap> Size(d);
807
+ 23400
808
+ gap> Position(GreensDClasses(s), d);
809
+ 3
810
+ gap> List(GreensRClasses(s), x -> Position(GreensDClasses(s),
811
+ > DClassOfRClass(x)));
812
+ [ 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 2, 3, 3, 3, 2, 3, 4, 2, 3, 3, 3, 4, 2, 3,
813
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 4, 3, 3, 4, 3, 4, 4, 4, 4, 4, 4, 4,
814
+ 4, 4, 4, 5, 2, 3, 3, 3, 3, 3, 4, 4, 5, 3, 3, 4, 3, 3, 4, 4, 2, 3, 3, 4, 4,
815
+ 4, 4, 4, 4, 3, 3, 4, 4, 4, 3, 3, 3, 4, 4, 4, 4, 4, 2, 3, 3, 4, 3, 4, 4, 3,
816
+ 3, 4, 4, 3, 4, 3, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 4, 4, 4, 5,
817
+ 3, 4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4, 4, 4, 4, 5, 5, 5, 5, 4, 5, 5, 5, 4, 5,
818
+ 5, 5, 4, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 3, 4, 3, 3, 4, 5, 5, 5, 3,
819
+ 4, 3, 5, 5, 3, 3, 4, 5, 3, 3, 4, 5, 3, 4, 4, 5, 4, 4, 5, 5, 5, 6, 4, 4, 4 ]
820
+ gap> gens := [Transformation([1, 2, 6, 4, 7, 5, 7]),
821
+ > Transformation([2, 1, 6, 4, 5, 6, 7]),
822
+ > Transformation([1, 7, 4, 6, 3, 2, 6]),
823
+ > Transformation([5, 2, 4, 5, 6, 6, 3]),
824
+ > Transformation([1, 4, 5, 6, 7, 3, 7]),
825
+ > Transformation([1, 5, 2, 7, 3, 6, 6]),
826
+ > Transformation([7, 3, 5, 6, 2, 1, 2]),
827
+ > Transformation([3, 6, 2, 6, 7, 4, 1]),
828
+ > Transformation([2, 5, 3, 3, 1, 6, 7]),
829
+ > Transformation([3, 7, 6, 7, 4, 2, 5]),
830
+ > Transformation([2, 6, 2, 5, 4, 7, 3]),
831
+ > Transformation([2, 7, 6, 4, 5, 4, 3]),
832
+ > Transformation([3, 3, 2, 7, 5, 1, 3]),
833
+ > Transformation([7, 1, 1, 3, 1, 6, 2]),
834
+ > Transformation([5, 6, 3, 2, 1, 4, 6]),
835
+ > Transformation([2, 3, 1, 7, 2, 3, 4]),
836
+ > Transformation([5, 2, 2, 5, 7, 6, 1]),
837
+ > Transformation([2, 5, 7, 4, 5, 3, 1]),
838
+ > Transformation([5, 2, 4, 5, 7, 3, 4]),
839
+ > Transformation([7, 5, 1, 2, 2, 5, 3]),
840
+ > Transformation([7, 3, 3, 5, 1, 7, 4]),
841
+ > Transformation([1, 6, 6, 3, 3, 7, 1])];;
842
+ gap> s := Semigroup(gens);
843
+ <transformation semigroup of degree 7 with 22 generators>
844
+ gap> Size(s);
845
+ 677391
846
+ gap> f := Transformation([1, 5, 3, 2, 7, 6, 7]);;
847
+ gap> f in s;
848
+ true
849
+ gap> d := GreensDClassOfElement(s, f);
850
+ <Green's D-class: Transformation( [ 1, 5, 3, 2, 7, 6, 7 ] )>
851
+ gap> Transformation([1, 6, 4, 7, 5, 2, 5]) in last;
852
+ true
853
+ gap> reps := Set(RClassReps(d));
854
+ [ Transformation( [ 1, 4, 5, 2, 7, 6, 6 ] ),
855
+ Transformation( [ 1, 5, 7, 2, 4, 6, 2 ] ),
856
+ Transformation( [ 1, 6, 4, 7, 5, 2, 5 ] ),
857
+ Transformation( [ 4, 2, 6, 2, 5, 7, 1 ] ),
858
+ Transformation( [ 4, 5, 6, 7, 1, 6, 2 ] ),
859
+ Transformation( [ 4, 7, 6, 2, 7, 5, 1 ] ),
860
+ Transformation( [ 5, 2, 4, 6, 1, 7, 2 ] ),
861
+ Transformation( [ 5, 4, 7, 7, 1, 6, 2 ] ) ]
862
+ gap> Set(reps, x -> Position(GreensRClasses(s), GreensRClassOfElement(s, x)));
863
+ [ 1, 2, 3, 5, 6, 7, 13, 16 ]
864
+ gap> r := GreensRClasses(s)[63];;
865
+ gap> Idempotents(r);
866
+ [ Transformation( [ 1, 7, 3, 4, 5, 7, 7 ] ),
867
+ Transformation( [ 1, 2, 3, 4, 5, 2, 2 ] ),
868
+ Transformation( [ 1, 6, 3, 4, 5, 6, 6 ] ) ]
869
+ gap> last[2] in r;
870
+ true
871
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
872
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
873
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
874
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
875
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
876
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
877
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
878
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
879
+ gap> s := Semigroup(gens{[1 .. 4]});;
880
+ gap> gens[5] in s;
881
+ false
882
+ gap> gens := [Transformation([3, 4, 1, 2, 1]),
883
+ > Transformation([4, 2, 1, 5, 5]),
884
+ > Transformation([4, 2, 2, 2, 4])];;
885
+ gap> s := Semigroup(gens{[1, 2]});;
886
+ gap> gens[3] in s;
887
+ false
888
+ gap> gens := [Transformation([6, 7, 1, 2, 3, 4, 5]),
889
+ > Transformation([7, 6, 5, 4, 3, 2, 1]),
890
+ > Transformation([4, 5, 6, 7, 1, 2, 3]),
891
+ > Transformation([5, 6, 6, 5, 4, 3, 4]),
892
+ > Transformation([5, 4, 3, 2, 3, 3, 4]),
893
+ > Transformation([5, 4, 3, 3, 4, 4, 4]),
894
+ > Transformation([1, 7, 1, 1, 1, 1, 2]),
895
+ > Transformation([5, 6, 6, 5, 4, 4, 5])];;
896
+ gap> s := Semigroup(gens);;
897
+ gap> f := Transformation([7, 6, 5, 4, 3, 2, 1]);;
898
+ gap> f in s;
899
+ true
900
+ gap> r := RClass(s, f);;
901
+ gap> l := LClass(s, f);
902
+ <Green's L-class: Transformation( [ 7, 6, 5, 4, 3, 2, 1 ] )>
903
+ gap> Transformation([7, 6, 5, 4, 3, 2, 1]) in last;
904
+ true
905
+ gap> h := HClass(s, f);
906
+ <Green's H-class: Transformation( [ 7, 6, 5, 4, 3, 2, 1 ] )>
907
+ gap> Transformation([7, 6, 5, 4, 3, 2, 1]) in last;
908
+ true
909
+ gap> d := DClass(s, f);
910
+ <Green's D-class: Transformation( [ 7, 6, 5, 4, 3, 2, 1 ] )>
911
+ gap> Transformation([7, 6, 5, 4, 3, 2, 1]) in last;
912
+ true
913
+ gap> AsSSortedList(r) = AsSSortedList(l);
914
+ true
915
+ gap> AsSSortedList(r) = AsSSortedList(h);
916
+ true
917
+ gap> AsSSortedList(l) = AsSSortedList(r);
918
+ true
919
+ gap> AsSSortedList(h) = AsSSortedList(r);
920
+ true
921
+ gap> AsSSortedList(d) = AsSSortedList(r);
922
+ true
923
+ gap> AsSSortedList(r) = AsSSortedList(d);
924
+ true
925
+ gap> AsSSortedList(r) = AsSSortedList(r);
926
+ true
927
+ gap> r = l; r = h; l = r; h = r; d = r; r = d; r = r;
928
+ false
929
+ false
930
+ false
931
+ false
932
+ false
933
+ false
934
+ true
935
+ gap> f := Transformation([5, 4, 3, 3, 4, 4, 4]);;
936
+ gap> rr := RClass(s, f);; ll := LClass(s, f);;
937
+ gap> hh := HClass(s, f);; dd := DClass(s, f);;
938
+ gap> r = rr; r = ll; r = hh; r = dd; rr = ll; rr = hh; rr = dd;
939
+ false
940
+ false
941
+ false
942
+ false
943
+ false
944
+ false
945
+ false
946
+ gap> gens := [Transformation([5, 1, 4, 6, 2, 3]),
947
+ > Transformation([1, 2, 3, 4, 5, 6]),
948
+ > Transformation([4, 6, 3, 4, 2, 5]),
949
+ > Transformation([5, 4, 6, 3, 1, 3]),
950
+ > Transformation([2, 2, 6, 5, 4, 3]),
951
+ > Transformation([3, 5, 5, 1, 2, 4]),
952
+ > Transformation([6, 5, 1, 3, 3, 4]),
953
+ > Transformation([1, 3, 4, 3, 2, 1])];;
954
+ gap> s := Semigroup(gens);;
955
+ gap> f := Transformation([6, 1, 1, 2, 5, 3]);;
956
+ gap> r := RClass(s, f);
957
+ <Green's R-class: Transformation( [ 6, 1, 1, 2, 5, 3 ] )>
958
+ gap> Transformation([5, 4, 4, 6, 2, 3]) in last;
959
+ true
960
+ gap> List(gens, x -> x in r);
961
+ [ false, false, false, false, false, true, false, false ]
962
+ gap> rr := RClass(s, gens[6]);
963
+ <Green's R-class: Transformation( [ 3, 5, 5, 1, 2, 4 ] )>
964
+ gap> Transformation([3, 5, 5, 2, 6, 4]) in last;
965
+ true
966
+ gap> gens[6] in rr; r = rr; f in rr; f in r;
967
+ true
968
+ true
969
+ true
970
+ true
971
+ gap> Size(r); Number(s, x -> x in r);
972
+ 720
973
+ 720
974
+ gap> gens := [Transformation([5, 6, 7, 3, 1, 4, 2, 8]),
975
+ > Transformation([3, 6, 8, 5, 7, 4, 2, 8])];;
976
+ gap> s := Semigroup(gens);;
977
+ gap> f := Transformation([5, 2, 7, 4, 8, 6, 8, 8]);;
978
+ gap> r := RClass(s, f);;
979
+ gap> Size(r);
980
+ 1200
981
+ gap> ForAll(r, x -> x in r);
982
+ true
983
+ gap> g := Transformation([6, 8, 2, 5, 8, 4, 8, 8]);;
984
+ gap> rr := RClass(s, g);;
985
+ gap> ForAny(rr, x -> x in r);
986
+ false
987
+ gap> ForAny(r, x -> x in rr);
988
+ false
989
+ gap> gens := [Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
990
+ > Transformation([3, 8, 7, 4, 1, 4, 3, 3, 7, 2])];;
991
+ gap> s := Monoid(gens);;
992
+ gap> f := Transformation([3, 7, 7, 4, 3, 4, 3, 3, 3, 3]);;
993
+ gap> r := RClass(s, f);;
994
+ gap> ForAll(r, x -> x in r);
995
+ true
996
+ gap> gens := [Transformation([1, 3, 2, 3]),
997
+ > Transformation([1, 4, 1, 2]),
998
+ > Transformation([3, 4, 2, 2]),
999
+ > Transformation([4, 1, 2, 1])];;
1000
+ gap> s := Monoid(gens);;
1001
+ gap> f := Transformation([3, 1, 1, 1]);;
1002
+ gap> r := RClass(s, f);;
1003
+ gap> Set(Filtered(s, x -> x in r)) = Elements(r);
1004
+ true
1005
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
1006
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
1007
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
1008
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
1009
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
1010
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
1011
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
1012
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
1013
+ gap> s := Semigroup(gens);;
1014
+ gap> iter := IteratorOfRClasses(s);
1015
+ <iterator>
1016
+ gap> repeat r := NextIterator(iter); until Size(r) > 1;
1017
+ gap> repeat r := NextIterator(iter); until Size(r) > 1;
1018
+ gap> repeat r := NextIterator(iter); until Size(r) > 1;
1019
+ gap> r = RClass(s, Transformation([1, 5, 8, 8, 8, 1, 7, 2]));
1020
+ true
1021
+ gap> Size(r);
1022
+ 2640
1023
+ gap> enum := Enumerator(r);
1024
+ <enumerator of <Green's R-class: Transformation( [ 1, 5, 8, 8, 8, 1, 7, 2 ] )>
1025
+ >
1026
+ gap> Transformation([1, 5, 8, 8, 8, 1, 7, 2]) in last;
1027
+ true
1028
+ gap> enum[1];
1029
+ Transformation( [ 1, 5, 8, 8, 8, 1, 7, 2 ] )
1030
+ gap> enum[2];
1031
+ Transformation( [ 6, 1, 3, 3, 3, 6, 4, 2 ] )
1032
+ gap> enum[43];
1033
+ Transformation( [ 2, 6, 3, 3, 3, 2, 1, 7 ] )
1034
+ gap> enum[1368];
1035
+ Transformation( [ 2, 1, 8, 8, 8, 2, 3, 6 ] )
1036
+ gap> Position(enum, last);
1037
+ 1368
1038
+ gap> ForAll([1 .. 2640], x -> Position(enum, enum[x]) = x);
1039
+ true
1040
+ gap> for i in enum do od;
1041
+ gap> AsSet(enum) = AsSSortedList(r);
1042
+ true
1043
+ gap> Set(List(AsSSortedList(r), x -> Position(enum, x))) = [1 .. 2640];
1044
+ true
1045
+ gap> ForAll(AsSSortedList(r), x -> x in r);
1046
+ true
1047
+ gap> s := Semigroup(gens);
1048
+ <transformation semigroup of degree 8 with 8 generators>
1049
+ gap> r := RClass(s, Transformation([3, 5, 2, 2, 3, 5, 2, 3]));;
1050
+ gap> r = RClass(s, Transformation([8, 5, 1, 1, 8, 5, 1, 8]));
1051
+ true
1052
+ gap> enum := Enumerator(r);;
1053
+ gap> ForAll([1 .. Length(enum)], x -> Position(enum, enum[x]) = x);
1054
+ true
1055
+ gap> ForAll(enum, x -> x in enum);
1056
+ true
1057
+ gap> AsSet(enum) = AsSSortedList(r);
1058
+ true
1059
+ gap> AsList(enum) = AsSSortedList(r);
1060
+ false
1061
+ gap> Size(enum);
1062
+ 330
1063
+ gap> Size(r);
1064
+ 330
1065
+ gap> ForAll(r, x -> x in enum);
1066
+ true
1067
+ gap> rr := RClass(s, Random(r));;
1068
+ gap> ForAll(rr, x -> x in enum);
1069
+ true
1070
+ gap> Set(List(rr, x -> Position(enum, x))) = [1 .. Length(enum)];
1071
+ true
1072
+ gap> rr := RClass(s, Transformation([5, 1, 5, 3, 8, 1, 5, 7]));
1073
+ <Green's R-class: Transformation( [ 5, 1, 5, 3, 8, 1, 5, 7 ] )>
1074
+ gap> Transformation([5, 1, 5, 3, 8, 1, 5, 7]) in last;
1075
+ true
1076
+ gap> ForAny(rr, x -> x in enum);
1077
+ false
1078
+ gap> ForAny(rr, x -> not Position(enum, x) = fail);
1079
+ false
1080
+ gap> ForAll(rr, x -> Position(enum, x) = fail);
1081
+ true
1082
+ gap> f := Transformation([2, 2, 6, 4, 1, 6, 3, 2]);;
1083
+ gap> s := Semigroup(gens);
1084
+ <transformation semigroup of degree 8 with 8 generators>
1085
+ gap> r := GreensRClassOfElementNC(s, f);
1086
+ <Green's R-class: Transformation( [ 2, 2, 6, 4, 1, 6, 3, 2 ] )>
1087
+ gap> Transformation([2, 2, 6, 4, 1, 6, 3, 2]) in last;
1088
+ true
1089
+ gap> Size(r);
1090
+ 2640
1091
+ gap> enum := Enumerator(r);
1092
+ <enumerator of <Green's R-class: Transformation( [ 2, 2, 6, 4, 1, 6, 3, 2 ] )>
1093
+ >
1094
+ gap> Transformation([2, 2, 6, 4, 1, 6, 3, 2]) in last;
1095
+ true
1096
+ gap> enum[1];
1097
+ Transformation( [ 2, 2, 6, 4, 1, 6, 3, 2 ] )
1098
+ gap> enum[1000];
1099
+ Transformation( [ 6, 6, 1, 5, 4, 1, 2, 6 ] )
1100
+ gap> Position(enum, last);
1101
+ 1000
1102
+ gap> ForAll([1 .. 2640], x -> Position(enum, enum[x]) = x);
1103
+ true
1104
+ gap> AsSet(enum) = AsSSortedList(r);
1105
+ true
1106
+ gap> Set(List(AsSSortedList(r), x -> Position(enum, x))) = [1 .. 2640];
1107
+ true
1108
+ gap> ForAll(AsSSortedList(r), x -> x in enum);
1109
+ true
1110
+ gap> gens := [Transformation([1, 4, 11, 11, 7, 2, 6, 2, 5, 5, 10]),
1111
+ > Transformation([2, 4, 4, 2, 10, 5, 11, 11, 11, 6, 7])];;
1112
+ gap> s := Monoid(gens);;
1113
+ gap> f := Transformation([2, 2, 7, 7, 11, 4, 5, 4, 10, 10, 6]);;
1114
+ gap> r := RClass(s, f);
1115
+ <Green's R-class: Transformation( [ 2, 2, 7, 7, 11, 4, 5, 4, 10, 10, 6 ] )>
1116
+ gap> Transformation([2, 2, 7, 7, 11, 4, 5, 4, 10, 10, 6]) in last;
1117
+ true
1118
+ gap> AsList(r);;
1119
+ gap> Size(r);
1120
+ 2520
1121
+ gap> Length(AsList(r));
1122
+ 2520
1123
+ gap> ForAll(AsList(r), x -> x in r);
1124
+ true
1125
+ gap> gens := [Transformation([2, 6, 7, 2, 6, 9, 9, 1, 1, 5]),
1126
+ > Transformation([3, 1, 4, 2, 5, 2, 1, 6, 1, 7]),
1127
+ > Transformation([3, 8, 1, 9, 9, 4, 10, 5, 10, 6]),
1128
+ > Transformation([4, 7, 6, 9, 10, 1, 3, 6, 6, 2]),
1129
+ > Transformation([5, 9, 10, 9, 6, 3, 8, 4, 6, 5]),
1130
+ > Transformation([6, 2, 2, 7, 8, 8, 2, 10, 2, 4]),
1131
+ > Transformation([6, 2, 8, 4, 7, 5, 8, 3, 5, 8]),
1132
+ > Transformation([7, 1, 4, 3, 2, 7, 7, 6, 6, 5]),
1133
+ > Transformation([7, 10, 10, 1, 7, 9, 10, 4, 2, 10]),
1134
+ > Transformation([10, 7, 10, 8, 8, 7, 5, 9, 1, 9])];;
1135
+ gap> s := Semigroup(gens);;
1136
+ gap> iter := IteratorOfRClasses(s);;
1137
+ gap> repeat
1138
+ > r := NextIterator(iter);
1139
+ > until IsDoneIterator(iter) or Size(r) > 1000;
1140
+ gap> r;
1141
+ <Green's R-class: Transformation( [ 2, 6, 7, 2, 6, 9, 9, 1, 1, 5 ] )>
1142
+ gap> Transformation([2, 6, 7, 2, 6, 9, 9, 1, 1, 5]) in last;
1143
+ true
1144
+ gap> Size(r);
1145
+ 12960
1146
+ gap> AsList(r);;
1147
+ gap> ForAll(AsList(r), x -> x in r);
1148
+ true
1149
+ gap> gens := [Transformation([12, 10, 8, 5, 1, 5, 12, 12, 8, 2, 6, 2]),
1150
+ > Transformation([5, 6, 10, 11, 10, 4, 10, 12, 5, 7, 4, 10]),
1151
+ > Transformation([6, 8, 12, 5, 4, 8, 10, 7, 4, 1, 10, 11])];;
1152
+ gap> s := Monoid(gens);;
1153
+ gap> iter := IteratorOfRClasses(s);
1154
+ <iterator>
1155
+ gap> for r in iter do if Size(r) > 1000 then break; fi; od;
1156
+ gap> r;
1157
+ <Green's R-class: Transformation( [ 2, 2, 12, 1, 12, 1, 2, 2, 12, 10, 5,
1158
+ 10 ] )>
1159
+ gap> Size(r);
1160
+ 2760
1161
+ gap> AsList(r);;
1162
+ gap> Length(AsList(r));
1163
+ 2760
1164
+ gap> s := Monoid(gens);;
1165
+ gap> iter := IteratorOfRClasses(s);
1166
+ <iterator>
1167
+ gap> for r in iter do if Size(r) > 1000 then break; fi; od;
1168
+ gap> r;
1169
+ <Green's R-class: Transformation( [ 2, 2, 12, 1, 12, 1, 2, 2, 12, 10, 5,
1170
+ 10 ] )>
1171
+ gap> enum := Enumerator(r);
1172
+ <enumerator of <Green's R-class: Transformation( [ 2, 2, 12, 1, 12, 1, 2, 2,
1173
+ 12, 10, 5, 10 ] )>>
1174
+ gap> for i in enum do od;
1175
+ gap> s := Semigroup([
1176
+ > Transformation([12, 10, 8, 5, 1, 5, 12, 12, 8, 2, 6, 2]),
1177
+ > Transformation([5, 6, 10, 11, 10, 4, 10, 12, 5, 7, 4, 10]),
1178
+ > Transformation([6, 8, 12, 5, 4, 8, 10, 7, 4, 1, 10, 11])]);;
1179
+ gap> f := Transformation([4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8]);;
1180
+ gap> gens := [Transformation([2, 6, 7, 2, 6, 9, 9, 1, 1, 5]),
1181
+ > Transformation([3, 1, 4, 2, 5, 2, 1, 6, 1, 7]),
1182
+ > Transformation([3, 8, 1, 9, 9, 4, 10, 5, 10, 6]),
1183
+ > Transformation([4, 7, 6, 9, 10, 1, 3, 6, 6, 2]),
1184
+ > Transformation([5, 9, 10, 9, 6, 3, 8, 4, 6, 5]),
1185
+ > Transformation([6, 2, 2, 7, 8, 8, 2, 10, 2, 4]),
1186
+ > Transformation([6, 2, 8, 4, 7, 5, 8, 3, 5, 8]),
1187
+ > Transformation([7, 1, 4, 3, 2, 7, 7, 6, 6, 5]),
1188
+ > Transformation([7, 10, 10, 1, 7, 9, 10, 4, 2, 10]),
1189
+ > Transformation([10, 7, 10, 8, 8, 7, 5, 9, 1, 9])];;
1190
+ gap> s := Semigroup(gens);;
1191
+ gap> f := Transformation([2, 2, 4, 7, 4, 7, 2, 7, 2, 2]);;
1192
+ gap> r := RClass(s, f);
1193
+ <Green's R-class: Transformation( [ 2, 2, 4, 7, 4, 7, 2, 7, 2, 2 ] )>
1194
+ gap> Size(r);
1195
+ 702
1196
+ gap> Transformation([8, 8, 6, 2, 6, 2, 8, 2, 8, 8]) in r;
1197
+ true
1198
+ gap> Set(Idempotents(r));
1199
+ [ Transformation( [ 1, 1, 3, 4, 3, 4, 1, 4, 1, 1 ] ),
1200
+ Transformation( [ 1, 1, 3, 6, 3, 6, 1, 6, 1, 1 ] ),
1201
+ Transformation( [ 1, 1, 3, 8, 3, 8, 1, 8, 1, 1 ] ),
1202
+ Transformation( [ 1, 1, 5, 4, 5, 4, 1, 4, 1, 1 ] ),
1203
+ Transformation( [ 1, 1, 5, 6, 5, 6, 1, 6, 1, 1 ] ),
1204
+ Transformation( [ 1, 1, 5, 8, 5, 8, 1, 8, 1, 1 ] ),
1205
+ Transformation( [ 2, 2, 3, 4, 3, 4, 2, 4, 2, 2 ] ),
1206
+ Transformation( [ 2, 2, 3, 6, 3, 6, 2, 6, 2, 2 ] ),
1207
+ Transformation( [ 2, 2, 3, 8, 3, 8, 2, 8, 2, 2 ] ),
1208
+ Transformation( [ 2, 2, 5, 4, 5, 4, 2, 4, 2, 2 ] ),
1209
+ Transformation( [ 2, 2, 5, 6, 5, 6, 2, 6, 2, 2 ] ),
1210
+ Transformation( [ 2, 2, 5, 8, 5, 8, 2, 8, 2, 2 ] ),
1211
+ Transformation( [ 7, 7, 3, 4, 3, 4, 7, 4, 7, 7 ] ),
1212
+ Transformation( [ 7, 7, 3, 6, 3, 6, 7, 6, 7, 7 ] ),
1213
+ Transformation( [ 7, 7, 3, 8, 3, 8, 7, 8, 7, 7 ] ),
1214
+ Transformation( [ 7, 7, 5, 4, 5, 4, 7, 4, 7, 7 ] ),
1215
+ Transformation( [ 7, 7, 5, 6, 5, 6, 7, 6, 7, 7 ] ),
1216
+ Transformation( [ 7, 7, 5, 8, 5, 8, 7, 8, 7, 7 ] ),
1217
+ Transformation( [ 9, 9, 3, 4, 3, 4, 9, 4, 9, 9 ] ),
1218
+ Transformation( [ 9, 9, 3, 6, 3, 6, 9, 6, 9, 9 ] ),
1219
+ Transformation( [ 9, 9, 3, 8, 3, 8, 9, 8, 9, 9 ] ),
1220
+ Transformation( [ 9, 9, 5, 4, 5, 4, 9, 4, 9, 9 ] ),
1221
+ Transformation( [ 9, 9, 5, 6, 5, 6, 9, 6, 9, 9 ] ),
1222
+ Transformation( [ 9, 9, 5, 8, 5, 8, 9, 8, 9, 9 ] ),
1223
+ Transformation( [ 10, 10, 3, 4, 3, 4, 10, 4, 10, 10 ] ),
1224
+ Transformation( [ 10, 10, 3, 6, 3, 6, 10, 6, 10, 10 ] ),
1225
+ Transformation( [ 10, 10, 3, 8, 3, 8, 10, 8, 10, 10 ] ),
1226
+ Transformation( [ 10, 10, 5, 4, 5, 4, 10, 4, 10, 10 ] ),
1227
+ Transformation( [ 10, 10, 5, 6, 5, 6, 10, 6, 10, 10 ] ),
1228
+ Transformation( [ 10, 10, 5, 8, 5, 8, 10, 8, 10, 10 ] ) ]
1229
+ gap> gens := [Transformation([10, 8, 7, 4, 1, 4, 10, 10, 7, 2]),
1230
+ > Transformation([5, 2, 5, 5, 9, 10, 8, 3, 8, 10])];;
1231
+ gap> s := Monoid(gens);;
1232
+ gap> f := Transformation([1, 1, 10, 8, 8, 8, 1, 1, 10, 8]);;
1233
+ gap> r := RClass(s, f);;
1234
+ gap> IsRegularGreensClass(r);
1235
+ true
1236
+ gap> Set(Idempotents(r));
1237
+ [ Transformation( [ 2, 2, 3, 5, 5, 5, 2, 2, 3, 5 ] ),
1238
+ Transformation( [ 2, 2, 3, 10, 10, 10, 2, 2, 3, 10 ] ),
1239
+ Transformation( [ 2, 2, 9, 5, 5, 5, 2, 2, 9, 5 ] ),
1240
+ Transformation( [ 2, 2, 9, 10, 10, 10, 2, 2, 9, 10 ] ),
1241
+ Transformation( [ 8, 8, 3, 5, 5, 5, 8, 8, 3, 5 ] ),
1242
+ Transformation( [ 8, 8, 3, 10, 10, 10, 8, 8, 3, 10 ] ),
1243
+ Transformation( [ 8, 8, 9, 5, 5, 5, 8, 8, 9, 5 ] ),
1244
+ Transformation( [ 8, 8, 9, 10, 10, 10, 8, 8, 9, 10 ] ) ]
1245
+ gap> h := HClass(s, f);;
1246
+ gap> f := Transformation([5, 9, 8, 8, 8, 8, 5, 5, 8, 5]);;
1247
+ gap> r := RClass(s, f);;
1248
+ gap> NrIdempotents(r);
1249
+ 6
1250
+ gap> IsRegularGreensClass(r);
1251
+ true
1252
+ gap> f := Transformation([8, 9, 3, 3, 3, 3, 8, 8, 3, 10]);;
1253
+ gap> r := RClass(s, f);;
1254
+ gap> Idempotents(r);;
1255
+ gap> IsRegularGreensClass(r);
1256
+ true
1257
+ gap> gens := [Transformation([2, 3, 4, 5, 1, 8, 7, 6, 2, 7]),
1258
+ > Transformation([3, 8, 7, 4, 1, 4, 3, 3, 7, 2])];;
1259
+ gap> s := Monoid(gens);;
1260
+ gap> f := Transformation([3, 8, 7, 4, 1, 4, 3, 3, 7, 2]);;
1261
+ gap> r := RClass(s, f);;
1262
+ gap> IsRegularGreensClass(r);
1263
+ false
1264
+ gap> Idempotents(r);
1265
+ [ ]
1266
+ gap> NrIdempotents(r);
1267
+ 0
1268
+ gap> gens := [Transformation([5, 6, 7, 3, 1, 4, 2, 8]),
1269
+ > Transformation([3, 6, 8, 5, 7, 4, 2, 8])];;
1270
+ gap> s := Semigroup(gens);;
1271
+ gap> Iterator(s);
1272
+ <iterator>
1273
+ gap> iter := last;
1274
+ <iterator>
1275
+ gap> for i in [1 .. 10000] do NextIterator(iter); od;
1276
+ gap> iter := Iterator(s);
1277
+ <iterator>
1278
+ gap> j := 0; for i in iter do j := j + 1; od;
1279
+ 0
1280
+ gap> j;
1281
+ 52300
1282
+ gap> gens := [
1283
+ > Transformation([5, 23, 27, 8, 21, 49, 36, 33, 4, 44, 3, 49, 48, 18, 10,
1284
+ > 30, 47, 3, 41, 35, 33, 15, 39, 19, 37, 24, 26, 2, 16, 47, 9, 7, 28, 47,
1285
+ > 25, 21, 50, 23, 18, 42, 26, 40, 40, 4, 43, 27, 45, 35, 40, 14]),
1286
+ > Transformation([42, 50, 5, 37, 17, 35, 39, 35, 21, 9, 32, 15, 21, 17, 38,
1287
+ > 28, 40, 32, 45, 45, 32, 49, 25, 18, 50, 45, 36, 2, 35, 10, 1, 13, 6,
1288
+ > 20, 5, 4, 45, 45, 24, 45, 43, 4, 28, 21, 5, 31, 13, 49, 28, 20])];;
1289
+ gap> s := Semigroup(gens);
1290
+ <transformation semigroup of degree 50 with 2 generators>
1291
+ gap> f := Transformation([39, 6, 6, 17, 25, 17, 39, 28, 28, 5, 6, 17, 4, 25,
1292
+ > 32, 25, 32, 6, 4, 6, 28, 28, 32, 17, 17, 5, 17, 39, 17, 32, 5, 25, 6, 32,
1293
+ > 39, 25, 28, 6, 25, 39, 17, 17, 17, 28, 17, 6, 6, 6, 17, 39]);;
1294
+ gap> r := RClass(s, f);;
1295
+ gap> r = RClass(s, Transformation([5, 13, 13, 45, 20, 45, 5, 50, 50, 32, 13,
1296
+ > 45, 17, 20, 40, 20, 40, 13, 17, 13, 50, 50, 40, 45, 45, 32, 45, 5, 45, 40,
1297
+ > 32, 20, 13, 40, 5, 20, 50, 13, 20, 5, 45, 45, 45, 50, 45, 13, 13, 13, 45,
1298
+ > 5]));
1299
+ true
1300
+ gap> Size(r);
1301
+ 30683520
1302
+ gap> iter := Iterator(r);
1303
+ <iterator>
1304
+ gap> for i in [1 .. 100000] do NextIterator(iter); od;
1305
+ gap> gens := [Transformation([3, 12, 14, 4, 11, 18, 17, 2, 2, 9, 5, 15, 2, 18,
1306
+ > 17, 8, 20, 10, 19, 12]),
1307
+ > Transformation([13, 1, 8, 5, 4, 14, 13, 11, 12, 9, 13, 20, 20, 2, 14, 18,
1308
+ > 20, 7, 3, 19])];;
1309
+ gap> s := Semigroup(gens);;
1310
+ gap> f := Transformation([12, 14, 3, 11, 4, 18, 12, 14, 12, 14, 12, 18, 18, 3,
1311
+ > 18, 3, 18, 14, 18, 2]);;
1312
+ gap> r := RClass(s, f);;
1313
+ gap> r = RClass(s, Transformation([12, 14, 3, 11, 4, 18, 12, 14, 12, 14, 12,
1314
+ > 18, 18, 3, 18, 3, 18, 14, 18, 2]));
1315
+ true
1316
+ gap> NrHClasses(r);
1317
+ 177
1318
+ gap> GreensHClasses(r);;
1319
+ gap> Length(HClassReps(r)) = NrHClasses(r);
1320
+ true
1321
+ gap> ForAll([1 .. 177], i -> HClassReps(r)[i] in GreensHClasses(r)[i]);
1322
+ true
1323
+ gap> gens := [Transformation([2, 6, 1, 7, 5, 3, 4]),
1324
+ > Transformation([5, 3, 7, 2, 1, 6, 4]),
1325
+ > Transformation([2, 5, 5, 3, 4, 2, 3]),
1326
+ > Transformation([1, 5, 1, 6, 1, 5, 6]),
1327
+ > Transformation([6, 2, 2, 2, 5, 1, 2]),
1328
+ > Transformation([7, 5, 4, 4, 4, 5, 5]),
1329
+ > Transformation([5, 1, 6, 1, 1, 5, 1]),
1330
+ > Transformation([3, 5, 2, 3, 2, 2, 3])];;
1331
+ gap> s := Semigroup(gens);;
1332
+ gap> Size(s);
1333
+ 21343
1334
+ gap> f := Transformation([7, 3, 7, 7, 7, 7, 3]);;
1335
+ gap> r := RClass(s, f);
1336
+ <Green's R-class: Transformation( [ 7, 3, 7, 7, 7, 7, 3 ] )>
1337
+ gap> Transformation([2, 5, 2, 2, 2, 2, 5]) in last;
1338
+ true
1339
+ gap> NrHClasses(r);
1340
+ 21
1341
+ gap> gens := [Transformation([3, 6, 9, 1, 4, 7, 2, 5, 8]),
1342
+ > Transformation([3, 6, 9, 7, 1, 4, 5, 8, 2]),
1343
+ > Transformation([8, 2, 5, 5, 4, 5, 5, 2, 8]),
1344
+ > Transformation([1, 1, 9, 1, 1, 6, 1, 1, 3]),
1345
+ > Transformation([9, 2, 2, 8, 5, 8, 8, 8, 5])];;
1346
+ gap> s := Semigroup(gens);;
1347
+ gap> iter := IteratorOfRClasses(s);
1348
+ <iterator>
1349
+ gap> NextIterator(iter);;
1350
+ gap> NextIterator(iter);
1351
+ <Green's R-class: Transformation( [ 8, 2, 5, 5, 4, 5, 5, 2, 8 ] )>
1352
+ gap> Transformation([8, 2, 5, 5, 4, 5, 5, 2, 8]) in last;
1353
+ true
1354
+ gap> NextIterator(iter);
1355
+ <Green's R-class: Transformation( [ 4, 4, 5, 4, 4, 2, 4, 4, 8 ] )>
1356
+ gap> Transformation([4, 4, 5, 4, 4, 2, 4, 4, 8]) in last;
1357
+ true
1358
+ gap> NextIterator(iter);
1359
+ <Green's R-class: Transformation( [ 4, 8, 8, 5, 2, 5, 5, 5, 2 ] )>
1360
+ gap> Transformation([4, 8, 8, 5, 2, 5, 5, 5, 2]) in last;
1361
+ true
1362
+ gap> NextIterator(iter);
1363
+ <Green's R-class: Transformation( [ 5, 5, 8, 8, 5, 5, 2, 4, 2 ] )>
1364
+ gap> Transformation([5, 5, 8, 8, 5, 5, 2, 4, 2]) in last;
1365
+ true
1366
+ gap> NextIterator(iter);
1367
+ <Green's R-class: Transformation( [ 5, 5, 8, 5, 8, 5, 4, 2, 2 ] )>
1368
+ gap> Transformation([5, 5, 8, 5, 8, 5, 4, 2, 2]) in last;
1369
+ true
1370
+ gap> R := NextIterator(iter);;
1371
+ gap> R = RClass(s, Transformation([2, 2, 4, 4, 5, 4, 4, 2, 2]));
1372
+ true
1373
+ gap> NextIterator(iter);
1374
+ <Green's R-class: Transformation( [ 8, 8, 8, 8, 8, 5, 8, 8, 5 ] )>
1375
+ gap> Transformation([8, 8, 8, 8, 8, 5, 8, 8, 5]) in last;
1376
+ true
1377
+ gap> iter := IteratorOfRClasses(s);
1378
+ <iterator>
1379
+ gap> NextIterator(iter);;
1380
+ gap> Representative(last) in s;
1381
+ true
1382
+ gap> Size(s);
1383
+ 82953
1384
+ gap> NextIterator(iter);
1385
+ <Green's R-class: Transformation( [ 8, 2, 5, 5, 4, 5, 5, 2, 8 ] )>
1386
+ gap> Transformation([8, 2, 5, 5, 4, 5, 5, 2, 8]) in last;
1387
+ true
1388
+ gap> NextIterator(iter);
1389
+ <Green's R-class: Transformation( [ 4, 4, 5, 4, 4, 2, 4, 4, 8 ] )>
1390
+ gap> Transformation([4, 4, 5, 4, 4, 2, 4, 4, 8]) in last;
1391
+ true
1392
+ gap> NextIterator(iter);
1393
+ <Green's R-class: Transformation( [ 4, 8, 8, 5, 2, 5, 5, 5, 2 ] )>
1394
+ gap> Transformation([4, 8, 8, 5, 2, 5, 5, 5, 2]) in last;
1395
+ true
1396
+ gap> NextIterator(iter);
1397
+ <Green's R-class: Transformation( [ 5, 5, 8, 8, 5, 5, 2, 4, 2 ] )>
1398
+ gap> Transformation([5, 5, 8, 8, 5, 5, 2, 4, 2]) in last;
1399
+ true
1400
+ gap> GreensRClasses(s);;
1401
+ gap> iter := IteratorOfRClasses(s);
1402
+ <iterator>
1403
+ gap> for i in [1 .. 10] do NextIterator(iter); od;
1404
+ gap> iter2 := IteratorOfRClasses(s);
1405
+ <iterator>
1406
+ gap> NextIterator(iter);
1407
+ <Green's R-class: Transformation( [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] )>
1408
+ gap> Transformation([1, 1, 1, 1, 1, 1, 1, 1, 1]) in last;
1409
+ true
1410
+ gap> NextIterator(iter);
1411
+ <Green's R-class: Transformation( [ 8, 5, 5, 5, 5, 5, 5, 5, 5 ] )>
1412
+ gap> Transformation([8, 5, 5, 5, 5, 5, 5, 5, 5]) in last;
1413
+ true
1414
+ gap> NextIterator(iter);
1415
+ <Green's R-class: Transformation( [ 8, 5, 2, 4, 5, 5, 8, 2, 5 ] )>
1416
+ gap> Transformation([8, 5, 2, 4, 5, 5, 8, 2, 5]) in last;
1417
+ true
1418
+ gap> NextIterator(iter);
1419
+ <Green's R-class: Transformation( [ 8, 5, 2, 5, 4, 5, 2, 5, 8 ] )>
1420
+ gap> Transformation([8, 5, 2, 5, 4, 5, 2, 5, 8]) in last;
1421
+ true
1422
+ gap> NextIterator(iter);
1423
+ <Green's R-class: Transformation( [ 5, 8, 2, 2, 5, 2, 2, 8, 5 ] )>
1424
+ gap> Transformation([5, 8, 2, 2, 5, 2, 2, 8, 5]) in last;
1425
+ true
1426
+ gap> iter1 := IteratorOfRClasses(s);;
1427
+ gap> iter3 := IteratorOfRClasses(s);;
1428
+ gap> iter2 := IteratorOfRClasses(s);;
1429
+ gap> for i in [1 .. 100] do
1430
+ > r1 := NextIterator(iter1);
1431
+ > r2 := NextIterator(iter2);
1432
+ > r3 := NextIterator(iter3);
1433
+ > if r1 <> r2 or r2 <> r3 then
1434
+ > ErrorNoReturn("Problem in IteratorOfRClasses 1");
1435
+ > fi;
1436
+ > od;
1437
+ gap> for i in iter1 do od;
1438
+ gap> IsDoneIterator(iter1);
1439
+ true
1440
+ gap> IsDoneIterator(iter2);
1441
+ false
1442
+ gap> IsDoneIterator(iter3);
1443
+ false
1444
+ gap> GreensDClasses(s);;
1445
+ gap> for i in [1 .. 100] do
1446
+ > r2 := NextIterator(iter2);
1447
+ > r3 := NextIterator(iter3);
1448
+ > if r2 <> r3 then
1449
+ > ErrorNoReturn("Problem in IteratorOfRClasses 2");
1450
+ > fi;
1451
+ > od;
1452
+ gap> iter2;
1453
+ <iterator>
1454
+ gap> ShallowCopy(iter2);
1455
+ <iterator>
1456
+ gap> iter := last;
1457
+ <iterator>
1458
+ gap> NextIterator(iter);
1459
+ <Green's R-class: Transformation( [ 5, 2, 5, 8, 8, 4, 2, 5, 5 ] )>
1460
+ gap> Transformation([5, 2, 5, 8, 8, 4, 2, 5, 5]) in last;
1461
+ true
1462
+ gap> NextIterator(iter);
1463
+ <Green's R-class: Transformation( [ 2, 8, 8, 8, 8, 8, 5, 8, 8 ] )>
1464
+ gap> Transformation([2, 8, 8, 8, 8, 8, 5, 8, 8]) in last;
1465
+ true
1466
+ gap> NextIterator(iter);
1467
+ <Green's R-class: Transformation( [ 2, 8, 8, 8, 8, 8, 8, 8, 5 ] )>
1468
+ gap> Transformation([2, 8, 8, 8, 8, 8, 8, 8, 5]) in last;
1469
+ true
1470
+ gap> NextIterator(iter);
1471
+ <Green's R-class: Transformation( [ 2, 5, 8, 8, 8, 8, 8, 8, 8 ] )>
1472
+ gap> Transformation([2, 5, 8, 8, 8, 8, 8, 8, 8]) in last;
1473
+ true
1474
+ gap> NextIterator(iter);
1475
+ <Green's R-class: Transformation( [ 8, 8, 5, 5, 2, 2, 2, 5, 2 ] )>
1476
+ gap> Transformation([8, 8, 5, 5, 2, 2, 2, 5, 2]) in last;
1477
+ true
1478
+ gap> iter3 := IteratorOfRClasses(s);
1479
+ <iterator>
1480
+ gap> out := [];
1481
+ [ ]
1482
+ gap> for i in iter3 do Add(out, i); od;
1483
+ gap> Length(out);
1484
+ 503
1485
+ gap> NrRClasses(s);
1486
+ 503
1487
+ gap> s := Semigroup(gens);
1488
+ <transformation semigroup of degree 9 with 5 generators>
1489
+ gap> iter1 := IteratorOfRClasses(s);
1490
+ <iterator>
1491
+ gap> for i in iter1 do
1492
+ > od;
1493
+ gap> iter1 := IteratorOfRClasses(s);
1494
+ <iterator>
1495
+ gap> j := 0;
1496
+ 0
1497
+ gap> for i in iter1 do
1498
+ > j := j + 1;
1499
+ > if i <> out[j] then
1500
+ > ErrorNoReturn("Problems with IteratorOfRClasses 3");
1501
+ > fi;
1502
+ > od;
1503
+ gap> s := Semigroup(gens);;
1504
+ gap> GreensRClasses(s) = out;
1505
+ true
1506
+ gap> s := Semigroup(gens);;
1507
+ gap> f := Transformation([8, 8, 8, 8, 8, 8, 8, 8, 8]);;
1508
+ gap> r := RClass(s, f);
1509
+ <Green's R-class: Transformation( [ 8, 8, 8, 8, 8, 8, 8, 8, 8 ] )>
1510
+ gap> Transformation([1, 1, 1, 1, 1, 1, 1, 1, 1]) in last;
1511
+ true
1512
+ gap> GreensRClasses(s) = out;
1513
+ true
1514
+ gap> s := Semigroup(gens);;
1515
+ gap> f := Transformation([6, 6, 6, 4, 6, 4, 4, 4, 6]);;
1516
+ gap> f in s;
1517
+ true
1518
+ gap> GreensRClasses(s) = out;
1519
+ true
1520
+ gap> iter := IteratorOfRClasses(s);
1521
+ <iterator>
1522
+ gap> for i in [1 .. 500] do NextIterator(iter); od;
1523
+ gap> s := Semigroup(gens);;
1524
+ gap> iter := IteratorOfRClasses(s);;
1525
+ gap> for i in [1 .. 1000] do NextIterator(iter); od;
1526
+ gap> iter := ShallowCopy(iter);
1527
+ <iterator>
1528
+ gap> out := [];;
1529
+ gap> for i in iter do Add(out, i); od;
1530
+ gap> Set(out) = Set(GreensRClasses(s));
1531
+ true
1532
+ gap> gens := [Transformation([1, 2, 5, 4, 3, 8, 7, 6]),
1533
+ > Transformation([1, 6, 3, 4, 7, 2, 5, 8]),
1534
+ > Transformation([2, 1, 6, 7, 8, 3, 4, 5]),
1535
+ > Transformation([3, 2, 3, 6, 1, 6, 1, 2]),
1536
+ > Transformation([5, 2, 3, 6, 3, 4, 7, 4])];;
1537
+ gap> s := Semigroup(gens);
1538
+ <transformation semigroup of degree 8 with 5 generators>
1539
+ gap> f := Transformation([2, 5, 4, 7, 4, 3, 6, 3]);;
1540
+ gap> r := RClass(s, f);
1541
+ <Green's R-class: Transformation( [ 2, 5, 4, 7, 4, 3, 6, 3 ] )>
1542
+ gap> Transformation([2, 5, 4, 7, 4, 3, 6, 3]) in last;
1543
+ true
1544
+ gap> NrHClasses(r);
1545
+ 12
1546
+ gap> d := DClass(r);
1547
+ <Green's D-class: Transformation( [ 2, 5, 4, 7, 4, 3, 6, 3 ] )>
1548
+ gap> Transformation([2, 5, 4, 7, 4, 3, 6, 3]) in last;
1549
+ true
1550
+ gap> NrHClasses(d);
1551
+ 72
1552
+ gap> l := LClass(s, f);
1553
+ <Green's L-class: Transformation( [ 2, 5, 4, 7, 4, 3, 6, 3 ] )>
1554
+ gap> Transformation([2, 5, 4, 7, 4, 3, 6, 3]) in last;
1555
+ true
1556
+ gap> NrHClasses(l);
1557
+ 6
1558
+ gap> NrHClasses(s);
1559
+ 1555
1560
+ gap> gens := [Transformation([4, 6, 5, 2, 1, 3]),
1561
+ > Transformation([6, 3, 2, 5, 4, 1]),
1562
+ > Transformation([1, 2, 4, 3, 5, 6]),
1563
+ > Transformation([3, 5, 6, 1, 2, 3]),
1564
+ > Transformation([5, 3, 6, 6, 6, 2]),
1565
+ > Transformation([2, 3, 2, 6, 4, 6]),
1566
+ > Transformation([2, 1, 2, 2, 2, 4]),
1567
+ > Transformation([4, 4, 1, 2, 1, 2])];;
1568
+ gap> s := Semigroup(gens);;
1569
+ gap> NrRClasses(s);
1570
+ 150
1571
+ gap> Size(s);
1572
+ 6342
1573
+ gap> f := Transformation([1, 3, 3, 1, 3, 5]);;
1574
+ gap> d := DClass(s, f);
1575
+ <Green's D-class: Transformation( [ 1, 3, 3, 1, 3, 5 ] )>
1576
+ gap> Transformation([2, 4, 2, 2, 2, 1]) in last;
1577
+ true
1578
+ gap> NrRClasses(d);
1579
+ 87
1580
+ gap> s := Semigroup(Transformation([2, 1, 4, 5, 6, 3]),
1581
+ > Transformation([2, 3, 1, 5, 4, 1]));;
1582
+ gap> f := Transformation([2, 1, 4, 5, 6, 3]);;
1583
+ gap> GreensLClassOfElement(s, f);
1584
+ <Green's L-class: Transformation( [ 2, 1, 4, 5, 6, 3 ] )>
1585
+ gap> Transformation([2, 1, 4, 5, 6, 3]) in last;
1586
+ true
1587
+ gap> s := Semigroup(Transformation([4, 4, 3, 5, 3]),
1588
+ > Transformation([5, 1, 1, 4, 1]),
1589
+ > Transformation([5, 5, 4, 4, 5]));;
1590
+ gap> f := Transformation([4, 5, 5, 5, 5]);;
1591
+ gap> SchutzenbergerGroup(DClass(s, f));
1592
+ Group([ (4,5) ])
1593
+ gap> SchutzenbergerGroup(RClass(s, f));
1594
+ Group([ (4,5) ])
1595
+ gap> SchutzenbergerGroup(LClass(s, f));
1596
+ Group([ (4,5) ])
1597
+ gap> SchutzenbergerGroup(HClass(s, f));
1598
+ Group([ (4,5) ])
1599
+ gap> s := FullTransformationSemigroup(8);;
1600
+ gap> f := Transformation([1, 1, 2, 3, 4, 5, 6, 7]);;
1601
+ gap> Size(s);
1602
+ 16777216
1603
+ gap> iter := IteratorOfDClasses(s);
1604
+ <iterator>
1605
+ gap> d := NextIterator(iter);;
1606
+ gap> d := NextIterator(iter);
1607
+ <Green's D-class: Transformation( [ 1, 2, 3, 4, 5, 6, 7, 1 ] )>
1608
+ gap> Transformation([1, 2, 3, 4, 5, 6, 7, 1]) in last;
1609
+ true
1610
+ gap> r := GreensRClassOfElement(s, f);
1611
+ <Green's R-class: Transformation( [ 1, 1, 2, 3, 4, 5, 6, 7 ] )>
1612
+ gap> Transformation([1, 1, 2, 3, 4, 5, 6, 7]) in last;
1613
+ true
1614
+ gap> elts := Elements(r);;
1615
+ gap> for i in elts do if not i in d then Print("Error 1");fi; od;
1616
+ gap> rr := GreensRClassOfElement(s, Transformation([1, 1, 1, 2, 3, 4, 5, 6]));;
1617
+ gap> rr = RClass(s, Transformation([1, 1, 1, 3, 4, 5, 6, 7]));
1618
+ true
1619
+ gap> elts := Elements(rr);; d := DClassOfRClass(rr);;
1620
+ gap> for i in elts do if not i in d then Print("Error 2"); fi; od;
1621
+ gap> Sum(List(GreensDClasses(s), Size)); 8 ^ 8;
1622
+ 16777216
1623
+ 16777216
1624
+ gap> iter := IteratorOfDClassReps(s);
1625
+ <iterator>
1626
+ gap> for i in [1 .. 8] do NextIterator(iter); od;
1627
+ gap> IsDoneIterator(iter);
1628
+ true
1629
+ gap> s := FullTransformationSemigroup(10);;
1630
+ gap> f := Transformation([8, 10, 8, 5, 6, 10, 7, 2, 9, 9]);;
1631
+ gap> d := GreensDClassOfElementNC(s, f);; # 1s with NC check efficiency here!
1632
+ gap> Idempotents(d);; # 1.3s
1633
+ gap> NrIdempotents(d);
1634
+ 41160
1635
+ gap> ForAll(Idempotents(d), IsIdempotent);
1636
+ true
1637
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
1638
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
1639
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
1640
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
1641
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
1642
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
1643
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
1644
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
1645
+ gap> s := Semigroup(gens);;
1646
+ gap> f := Transformation([5, 2, 7, 2, 7, 2, 5, 8]);;
1647
+ gap> d := GreensDClassOfElementNC(s, f);;
1648
+ gap> d := GreensDClassOfElement(s, f);;
1649
+ gap> RClassReps(d);;
1650
+ gap> NrRClasses(d);
1651
+ 260
1652
+ gap> s := FullTransformationSemigroup(5);;
1653
+ gap> f := Transformation([5, 5, 1, 1, 3]);;
1654
+ gap> d := GreensDClassOfElement(s, f);;
1655
+ gap> ForAll(RClassReps(d), x -> x in d);
1656
+ true
1657
+ gap> Length(Set(RClassReps(d), x -> RClass(d, x))) = Length(RClassReps(d));
1658
+ true
1659
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
1660
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
1661
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
1662
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
1663
+ gap> s := Semigroup(gens);;
1664
+ gap> f := Transformation([1, 1, 7, 6, 6, 7, 2, 1]);;
1665
+ gap> d := GreensDClassOfElement(s, f);
1666
+ <Green's D-class: Transformation( [ 1, 1, 7, 6, 6, 7, 2, 1 ] )>
1667
+ gap> Transformation([1, 1, 7, 6, 6, 7, 2, 1]) in last;
1668
+ true
1669
+ gap> RClassReps(d);;
1670
+ gap> NrRClasses(d);
1671
+ 1728
1672
+ gap> gens := [Transformation([5, 6, 7, 3, 1, 4, 2, 8]),
1673
+ > Transformation([3, 6, 8, 5, 7, 4, 2, 8])];;
1674
+ gap> s := Semigroup(gens);;
1675
+ gap> f := Transformation([4, 8, 8, 7, 6, 2, 5, 8]);;
1676
+ gap> r := GreensRClassOfElement(s, f);;
1677
+ gap> r = RClass(s, Transformation([4, 8, 8, 7, 6, 2, 5, 8]));
1678
+ true
1679
+ gap> d := DClassOfRClass(r);;
1680
+ gap> d = DClass(s, Transformation([4, 8, 8, 7, 6, 2, 5, 8]));
1681
+ true
1682
+ gap> gens := [Transformation([5, 6, 7, 3, 1, 4, 2, 8]),
1683
+ > Transformation([3, 6, 8, 5, 7, 4, 2, 8])];;
1684
+ gap> s := Semigroup(gens);;
1685
+ gap> f := Transformation([3, 6, 8, 5, 7, 4, 2, 8]);;
1686
+ gap> r := GreensRClassOfElement(s, f);
1687
+ <Green's R-class: Transformation( [ 3, 6, 8, 5, 7, 4, 2, 8 ] )>
1688
+ gap> Transformation([3, 6, 8, 5, 7, 4, 2, 8]) in last;
1689
+ true
1690
+ gap> d := DClassOfRClass(r);
1691
+ <Green's D-class: Transformation( [ 3, 6, 8, 5, 7, 4, 2, 8 ] )>
1692
+ gap> Transformation([3, 6, 8, 5, 7, 4, 2, 8]) in last;
1693
+ true
1694
+ gap> R := GreensRClasses(d);
1695
+ [ <Green's R-class: Transformation( [ 3, 6, 8, 5, 7, 4, 2, 8 ] )>,
1696
+ <Green's R-class: Transformation( [ 7, 4, 2, 8, 3, 5, 6, 8 ] )>,
1697
+ <Green's R-class: Transformation( [ 3, 5, 6, 2, 7, 8, 4, 8 ] )>,
1698
+ <Green's R-class: Transformation( [ 7, 8, 4, 6, 3, 2, 5, 8 ] )>,
1699
+ <Green's R-class: Transformation( [ 3, 2, 5, 4, 7, 6, 8, 8 ] )>,
1700
+ <Green's R-class: Transformation( [ 7, 6, 8, 5, 3, 4, 2, 8 ] )>,
1701
+ <Green's R-class: Transformation( [ 3, 4, 2, 8, 7, 5, 6, 8 ] )>,
1702
+ <Green's R-class: Transformation( [ 7, 5, 6, 2, 3, 8, 4, 8 ] )>,
1703
+ <Green's R-class: Transformation( [ 3, 8, 4, 6, 7, 2, 5, 8 ] )>,
1704
+ <Green's R-class: Transformation( [ 7, 2, 5, 4, 3, 6, 8, 8 ] )> ]
1705
+ gap> Transformation([3, 6, 8, 5, 7, 4, 2, 8])
1706
+ > in RClass(s, Transformation([3, 6, 8, 5, 7, 4, 2, 8]));
1707
+ true
1708
+ gap> Transformation([7, 4, 2, 8, 3, 5, 6, 8])
1709
+ > in RClass(s, Transformation([7, 4, 2, 8, 3, 5, 6, 8]));
1710
+ true
1711
+ gap> Transformation([3, 5, 6, 2, 7, 8, 4, 8])
1712
+ > in RClass(s, Transformation([3, 5, 6, 2, 7, 8, 4, 8]));
1713
+ true
1714
+ gap> Transformation([7, 8, 4, 6, 3, 2, 5, 8])
1715
+ > in RClass(s, Transformation([7, 8, 4, 6, 3, 2, 5, 8]));
1716
+ true
1717
+ gap> Transformation([3, 2, 5, 4, 7, 6, 8, 8])
1718
+ > in RClass(s, Transformation([3, 2, 5, 4, 7, 6, 8, 8]));
1719
+ true
1720
+ gap> Transformation([7, 6, 8, 5, 3, 4, 2, 8])
1721
+ > in RClass(s, Transformation([7, 6, 8, 5, 3, 4, 2, 8]));
1722
+ true
1723
+ gap> Transformation([3, 4, 2, 8, 7, 5, 6, 8])
1724
+ > in RClass(s, Transformation([3, 4, 2, 8, 7, 5, 6, 8]));
1725
+ true
1726
+ gap> Transformation([7, 5, 6, 2, 3, 8, 4, 8])
1727
+ > in RClass(s, Transformation([7, 5, 6, 2, 3, 8, 4, 8]));
1728
+ true
1729
+ gap> Transformation([3, 8, 4, 6, 7, 2, 5, 8])
1730
+ > in RClass(s, Transformation([3, 8, 4, 6, 7, 2, 5, 8]));
1731
+ true
1732
+ gap> Transformation([7, 2, 5, 4, 3, 6, 8, 8])
1733
+ > in RClass(s, Transformation([7, 2, 5, 4, 3, 6, 8, 8]));
1734
+ true
1735
+ gap> r := R[10];;
1736
+ gap> HClassReps(r);
1737
+ [ Transformation( [ 7, 2, 5, 4, 3, 6, 8, 8 ] ),
1738
+ Transformation( [ 3, 7, 1, 6, 4, 2, 8, 8 ] ),
1739
+ Transformation( [ 4, 3, 5, 2, 6, 7, 8, 8 ] ),
1740
+ Transformation( [ 6, 4, 1, 7, 2, 3, 8, 8 ] ),
1741
+ Transformation( [ 2, 6, 5, 3, 7, 4, 8, 8 ] ),
1742
+ Transformation( [ 7, 2, 1, 4, 3, 6, 8, 8 ] ),
1743
+ Transformation( [ 3, 7, 5, 6, 4, 2, 8, 8 ] ),
1744
+ Transformation( [ 4, 3, 1, 2, 6, 7, 8, 8 ] ),
1745
+ Transformation( [ 6, 4, 5, 7, 2, 3, 8, 8 ] ),
1746
+ Transformation( [ 2, 6, 1, 3, 7, 4, 8, 8 ] ) ]
1747
+
1748
+ # GreensTest2
1749
+ gap> t := FullTransformationSemigroup(5);;
1750
+ gap> iter := Iterator(t);
1751
+ <iterator of semigroup>
1752
+ gap> for i in iter do od;
1753
+ gap> IsDoneIterator(iter);
1754
+ true
1755
+ gap> iter := ShallowCopy(iter);
1756
+ <iterator of semigroup>
1757
+ gap> NextIterator(iter);
1758
+ Transformation( [ 1, 1, 1, 1, 1 ] )
1759
+ gap> NextIterator(iter);
1760
+ Transformation( [ 1, 1, 1, 1, 2 ] )
1761
+ gap> NextIterator(iter);
1762
+ Transformation( [ 1, 1, 1, 1, 3 ] )
1763
+ gap> NextIterator(iter);
1764
+ Transformation( [ 1, 1, 1, 1, 4 ] )
1765
+ gap> NextIterator(iter);
1766
+ Transformation( [ 1, 1, 1, 1 ] )
1767
+ gap> NextIterator(iter);
1768
+ Transformation( [ 1, 1, 1, 2, 1 ] )
1769
+ gap> IsDoneIterator(iter);
1770
+ false
1771
+ gap> for i in iter do od;
1772
+ gap> IsDoneIterator(iter);
1773
+ true
1774
+
1775
+ # GreensTest3: GreensLClassOfElement(D-class, transformation);
1776
+ gap> gens := [Transformation([2, 8, 3, 7, 1, 5, 2, 6]),
1777
+ > Transformation([3, 5, 7, 2, 5, 6, 3, 8]),
1778
+ > Transformation([4, 1, 8, 3, 5, 7, 3, 5]),
1779
+ > Transformation([4, 3, 4, 5, 6, 4, 1, 2]),
1780
+ > Transformation([5, 4, 8, 8, 5, 6, 1, 5]),
1781
+ > Transformation([6, 7, 4, 1, 4, 1, 6, 2]),
1782
+ > Transformation([7, 1, 2, 2, 2, 7, 4, 5]),
1783
+ > Transformation([8, 8, 5, 1, 7, 5, 2, 8])];;
1784
+ gap> s := Semigroup(gens);;
1785
+ gap> f := Transformation([3, 2, 5, 3, 5, 3, 3, 3]);;
1786
+ gap> d := DClass(s, f);;
1787
+ gap> d = DClass(s, Transformation([8, 1, 5, 8, 5, 8, 8, 8]));
1788
+ true
1789
+ gap> f := Transformation([6, 4, 8, 8, 8, 4, 6, 4]);;
1790
+ gap> l := LClass(d, f);
1791
+ <Green's L-class: Transformation( [ 6, 4, 8, 8, 8, 4, 6, 4 ] )>
1792
+ gap> Transformation([6, 8, 4, 6, 4, 6, 6, 6]) in last;
1793
+ true
1794
+ gap> ll := LClass(s, f);
1795
+ <Green's L-class: Transformation( [ 6, 4, 8, 8, 8, 4, 6, 4 ] )>
1796
+ gap> Transformation([6, 8, 4, 6, 4, 6, 6, 6]) in last;
1797
+ true
1798
+ gap> l = ll;
1799
+ true
1800
+ gap> ll = l;
1801
+ true
1802
+ gap> ll < l;
1803
+ false
1804
+ gap> l < ll;
1805
+ false
1806
+ gap> Elements(l) = Elements(ll);
1807
+ true
1808
+ gap> Size(l); Size(ll);
1809
+ 2256
1810
+ 2256
1811
+ gap> DClassOfLClass(ll) = DClassOfLClass(l);
1812
+ true
1813
+ gap> DClassOfLClass(ll) = d;
1814
+ true
1815
+ gap> NrHClasses(l);
1816
+ 376
1817
+ gap> NrHClasses(ll);
1818
+ 376
1819
+ gap> HClassReps(l) = HClassReps(ll);
1820
+ true
1821
+ gap> NrIdempotents(ll);
1822
+ 109
1823
+ gap> NrIdempotents(l);
1824
+ 109
1825
+ gap> IsRegularDClass(d);
1826
+ true
1827
+ gap> Size(s);
1828
+ 597369
1829
+ gap> Set(HClasses(l)) = Set(HClasses(ll));
1830
+ true
1831
+
1832
+ # GreensTest4: GreensHClassOfElement(D-class, transformation);
1833
+ gap> gens := [Transformation([2, 1, 4, 5, 3, 7, 8, 9, 10, 6]),
1834
+ > Transformation([1, 2, 4, 3, 5, 6, 7, 8, 9, 10]),
1835
+ > Transformation([1, 2, 3, 4, 5, 6, 10, 9, 8, 7]),
1836
+ > Transformation([9, 1, 4, 3, 6, 9, 3, 4, 3, 9])];;
1837
+ gap> s := Monoid(gens);;
1838
+ gap> GreensDClasses(s);;
1839
+ gap> f := Transformation([8, 5, 10, 5, 8, 5, 5, 5, 5, 10]);;
1840
+ gap> d := DClass(s, f);;
1841
+ gap> d = DClass(s, Transformation([3, 9, 3, 4, 9, 3, 4, 3, 4, 3]));
1842
+ true
1843
+ gap> f := Transformation([6, 4, 5, 6, 4, 4, 6, 6, 4, 5]);;
1844
+ gap> h := GreensHClassOfElement(d, f);
1845
+ <Green's H-class: Transformation( [ 6, 4, 5, 6, 4, 4, 6, 6, 4, 5 ] )>
1846
+ gap> Transformation([6, 4, 5, 6, 4, 4, 6, 6, 4, 5]) in last;
1847
+ true
1848
+ gap> hh := HClass(s, f);
1849
+ <Green's H-class: Transformation( [ 6, 4, 5, 6, 4, 4, 6, 6, 4, 5 ] )>
1850
+ gap> Transformation([6, 4, 5, 6, 4, 4, 6, 6, 4, 5]) in last;
1851
+ true
1852
+ gap> hh = h;
1853
+ true
1854
+ gap> h = hh;
1855
+ true
1856
+ gap> Elements(h) = Elements(hh);
1857
+ true
1858
+ gap> f := Transformation([4, 8, 8, 8, 4, 4, 8, 4, 4, 8]);;
1859
+ gap> d := DClass(s, f);;
1860
+ gap> d = DClass(s, Transformation([3, 4, 3, 4, 4, 3, 4, 3, 4, 3]));
1861
+ true
1862
+ gap> f := Transformation([4, 3, 3, 4, 3, 3, 3, 3, 4, 4]);;
1863
+ gap> h := HClass(d, f);
1864
+ <Green's H-class: Transformation( [ 4, 3, 3, 4, 3, 3, 3, 3, 4, 4 ] )>
1865
+ gap> Transformation([4, 3, 3, 4, 3, 3, 3, 3, 4, 4]) in last;
1866
+ true
1867
+ gap> hh := HClass(s, f);;
1868
+ gap> hh = h;
1869
+ true
1870
+ gap> h = hh;
1871
+ true
1872
+ gap> Elements(h) = Elements(hh);
1873
+ true
1874
+
1875
+ # GreensTest5
1876
+ gap> S := Semigroup(Transformation([3, 4, 4, 4]),
1877
+ > Transformation([4, 3, 1, 2]));;
1878
+ gap> GreensDClasses(S);
1879
+ [ <Green's D-class: Transformation( [ 3, 4, 4, 4 ] )>,
1880
+ <Green's D-class: Transformation( [ 4, 3, 1, 2 ] )>,
1881
+ <Green's D-class: Transformation( [ 4, 4, 4, 4 ] )> ]
1882
+ gap> GreensHClasses(S);
1883
+ [ <Green's H-class: Transformation( [ 3, 4, 4, 4 ] )>,
1884
+ <Green's H-class: Transformation( [ 1, 2, 2, 2 ] )>,
1885
+ <Green's H-class: Transformation( [ 4, 4, 3, 4 ] )>,
1886
+ <Green's H-class: Transformation( [ 2, 2, 1, 2 ] )>,
1887
+ <Green's H-class: Transformation( [ 4, 3, 4, 4 ] )>,
1888
+ <Green's H-class: Transformation( [ 2, 1, 2, 2 ] )>,
1889
+ <Green's H-class: Transformation( [ 4, 4, 4, 3 ] )>,
1890
+ <Green's H-class: Transformation( [ 2, 2, 2, 1 ] )>,
1891
+ <Green's H-class: Transformation( [ 4, 3, 1, 2 ] )>,
1892
+ <Green's H-class: Transformation( [ 4, 4, 4, 4 ] )>,
1893
+ <Green's H-class: Transformation( [ 2, 2, 2, 2 ] )>,
1894
+ <Green's H-class: Transformation( [ 3, 3, 3, 3 ] )>,
1895
+ <Green's H-class: Transformation( [ 1, 1, 1, 1 ] )> ]
1896
+ gap> GreensLClasses(S);
1897
+ [ <Green's L-class: Transformation( [ 3, 4, 4, 4 ] )>,
1898
+ <Green's L-class: Transformation( [ 1, 2, 2, 2 ] )>,
1899
+ <Green's L-class: Transformation( [ 4, 3, 1, 2 ] )>,
1900
+ <Green's L-class: Transformation( [ 4, 4, 4, 4 ] )>,
1901
+ <Green's L-class: Transformation( [ 2, 2, 2, 2 ] )>,
1902
+ <Green's L-class: Transformation( [ 3, 3, 3, 3 ] )>,
1903
+ <Green's L-class: Transformation( [ 1, 1, 1, 1 ] )> ]
1904
+ gap> GreensRClasses(S);
1905
+ [ <Green's R-class: Transformation( [ 3, 4, 4, 4 ] )>,
1906
+ <Green's R-class: Transformation( [ 4, 3, 1, 2 ] )>,
1907
+ <Green's R-class: Transformation( [ 4, 4, 4, 4 ] )>,
1908
+ <Green's R-class: Transformation( [ 4, 4, 3, 4 ] )>,
1909
+ <Green's R-class: Transformation( [ 4, 3, 4, 4 ] )>,
1910
+ <Green's R-class: Transformation( [ 4, 4, 4, 3 ] )> ]
1911
+ gap> D := GreensDClasses(S)[1];
1912
+ <Green's D-class: Transformation( [ 3, 4, 4, 4 ] )>
1913
+ gap> Transformation([3, 4, 4, 4]) in D;
1914
+ true
1915
+ gap> GreensLClasses(D);
1916
+ [ <Green's L-class: Transformation( [ 3, 4, 4, 4 ] )>,
1917
+ <Green's L-class: Transformation( [ 1, 2, 2, 2 ] )> ]
1918
+ gap> GreensRClasses(D);
1919
+ [ <Green's R-class: Transformation( [ 3, 4, 4, 4 ] )>,
1920
+ <Green's R-class: Transformation( [ 4, 4, 3, 4 ] )>,
1921
+ <Green's R-class: Transformation( [ 4, 3, 4, 4 ] )>,
1922
+ <Green's R-class: Transformation( [ 4, 4, 4, 3 ] )> ]
1923
+ gap> GreensHClasses(D);
1924
+ [ <Green's H-class: Transformation( [ 3, 4, 4, 4 ] )>,
1925
+ <Green's H-class: Transformation( [ 1, 2, 2, 2 ] )>,
1926
+ <Green's H-class: Transformation( [ 4, 4, 3, 4 ] )>,
1927
+ <Green's H-class: Transformation( [ 2, 2, 1, 2 ] )>,
1928
+ <Green's H-class: Transformation( [ 4, 3, 4, 4 ] )>,
1929
+ <Green's H-class: Transformation( [ 2, 1, 2, 2 ] )>,
1930
+ <Green's H-class: Transformation( [ 4, 4, 4, 3 ] )>,
1931
+ <Green's H-class: Transformation( [ 2, 2, 2, 1 ] )> ]
1932
+ gap> R := GreensRClasses(D)[1];
1933
+ <Green's R-class: Transformation( [ 3, 4, 4, 4 ] )>
1934
+ gap> Transformation([3, 4, 4, 4]) in last;
1935
+ true
1936
+ gap> GreensHClasses(R);
1937
+ [ <Green's H-class: Transformation( [ 3, 4, 4, 4 ] )>,
1938
+ <Green's H-class: Transformation( [ 1, 2, 2, 2 ] )> ]
1939
+ gap> Transformation([1, 2, 2, 2])
1940
+ > in HClass(R, Transformation([1, 2, 2, 2]));
1941
+ true
1942
+ gap> L := GreensLClasses(D)[1];
1943
+ <Green's L-class: Transformation( [ 3, 4, 4, 4 ] )>
1944
+ gap> Transformation([3, 4, 4, 4]) in L;
1945
+ true
1946
+ gap> GreensHClasses(L);
1947
+ [ <Green's H-class: Transformation( [ 3, 4, 4, 4 ] )>,
1948
+ <Green's H-class: Transformation( [ 4, 4, 3, 4 ] )>,
1949
+ <Green's H-class: Transformation( [ 4, 3, 4, 4 ] )>,
1950
+ <Green's H-class: Transformation( [ 4, 4, 4, 3 ] )> ]
1951
+
1952
+ # GreensTest6
1953
+ gap> S := Semigroup(Transformation([3, 4, 4, 4]),
1954
+ > Transformation([4, 3, 1, 2]));;
1955
+ gap> DClassReps(S);
1956
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 4, 3, 1, 2 ] ),
1957
+ Transformation( [ 4, 4, 4, 4 ] ) ]
1958
+ gap> HClassReps(S);
1959
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 1, 2, 2, 2 ] ),
1960
+ Transformation( [ 4, 3, 1, 2 ] ), Transformation( [ 4, 4, 4, 4 ] ),
1961
+ Transformation( [ 2, 2, 2, 2 ] ), Transformation( [ 3, 3, 3, 3 ] ),
1962
+ Transformation( [ 1, 1, 1, 1 ] ), Transformation( [ 4, 4, 3, 4 ] ),
1963
+ Transformation( [ 2, 2, 1, 2 ] ), Transformation( [ 4, 3, 4, 4 ] ),
1964
+ Transformation( [ 2, 1, 2, 2 ] ), Transformation( [ 4, 4, 4, 3 ] ),
1965
+ Transformation( [ 2, 2, 2, 1 ] ) ]
1966
+ gap> LClassReps(S);
1967
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 1, 2, 2, 2 ] ),
1968
+ Transformation( [ 4, 3, 1, 2 ] ), Transformation( [ 4, 4, 4, 4 ] ),
1969
+ Transformation( [ 2, 2, 2, 2 ] ), Transformation( [ 3, 3, 3, 3 ] ),
1970
+ Transformation( [ 1, 1, 1, 1 ] ) ]
1971
+ gap> RClassReps(S);
1972
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 4, 3, 1, 2 ] ),
1973
+ Transformation( [ 4, 4, 4, 4 ] ), Transformation( [ 4, 4, 3, 4 ] ),
1974
+ Transformation( [ 4, 3, 4, 4 ] ), Transformation( [ 4, 4, 4, 3 ] ) ]
1975
+ gap> D := GreensDClasses(S)[1];
1976
+ <Green's D-class: Transformation( [ 3, 4, 4, 4 ] )>
1977
+ gap> Transformation([3, 4, 4, 4]) in last;
1978
+ true
1979
+ gap> LClassReps(D);
1980
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 1, 2, 2, 2 ] ) ]
1981
+ gap> HClassReps(D);
1982
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 1, 2, 2, 2 ] ),
1983
+ Transformation( [ 4, 4, 3, 4 ] ), Transformation( [ 2, 2, 1, 2 ] ),
1984
+ Transformation( [ 4, 3, 4, 4 ] ), Transformation( [ 2, 1, 2, 2 ] ),
1985
+ Transformation( [ 4, 4, 4, 3 ] ), Transformation( [ 2, 2, 2, 1 ] ) ]
1986
+ gap> RClassReps(D);
1987
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 4, 4, 3, 4 ] ),
1988
+ Transformation( [ 4, 3, 4, 4 ] ), Transformation( [ 4, 4, 4, 3 ] ) ]
1989
+ gap> R := GreensRClasses(D)[1];;
1990
+ gap> HClassReps(R);
1991
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 1, 2, 2, 2 ] ) ]
1992
+ gap> L := GreensLClasses(D)[1];;
1993
+ gap> HClassReps(L);
1994
+ [ Transformation( [ 3, 4, 4, 4 ] ), Transformation( [ 4, 4, 3, 4 ] ),
1995
+ Transformation( [ 4, 3, 4, 4 ] ), Transformation( [ 4, 4, 4, 3 ] ) ]
1996
+
1997
+ #
1998
+ gap> SEMIGROUPS.StopTest();
1999
+ gap> STOP_TEST("Semigroups package: extreme/greens-acting.tst");