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