passagemath-gap-pkg-semigroups 10.6.30__cp312-abi3-macosx_13_0_arm64.whl

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

Potentially problematic release.


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

Files changed (354) hide show
  1. gap/pkg/semigroups/CHANGELOG.md +1699 -0
  2. gap/pkg/semigroups/CONTRIBUTING.md +91 -0
  3. gap/pkg/semigroups/GNUmakefile +110 -0
  4. gap/pkg/semigroups/GNUmakefile.in +110 -0
  5. gap/pkg/semigroups/GPL +674 -0
  6. gap/pkg/semigroups/LICENSE +16 -0
  7. gap/pkg/semigroups/Makefile +26 -0
  8. gap/pkg/semigroups/Makefile.gappkg +225 -0
  9. gap/pkg/semigroups/PackageInfo.g +529 -0
  10. gap/pkg/semigroups/README.md +102 -0
  11. gap/pkg/semigroups/VERSIONS +112 -0
  12. gap/pkg/semigroups/aclocal.m4 +375 -0
  13. gap/pkg/semigroups/autogen.sh +25 -0
  14. gap/pkg/semigroups/bin/aarch64-apple-darwin23-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1158 -0
  17. gap/pkg/semigroups/config.status +1131 -0
  18. gap/pkg/semigroups/config.sub +1960 -0
  19. gap/pkg/semigroups/configure +9742 -0
  20. gap/pkg/semigroups/configure.ac +71 -0
  21. gap/pkg/semigroups/data/doc/greens.pickle +1 -0
  22. gap/pkg/semigroups/data/gens/fullbool-8.pickle.gz +0 -0
  23. gap/pkg/semigroups/data/gens/fullbool.pickle.gz +0 -0
  24. gap/pkg/semigroups/data/gens/hall.pickle.gz +0 -0
  25. gap/pkg/semigroups/data/gens/reflex-6.pickle.gz +0 -0
  26. gap/pkg/semigroups/data/gens/reflex.pickle.gz +0 -0
  27. gap/pkg/semigroups/data/tst/bipart4 +10 -0
  28. gap/pkg/semigroups/data/tst/pperm10 +1 -0
  29. gap/pkg/semigroups/data/tst/tables.gz +0 -0
  30. gap/pkg/semigroups/data/tst/testdata +1 -0
  31. gap/pkg/semigroups/data/tst/testinstall.pickle +1 -0
  32. gap/pkg/semigroups/data/tst/trans3 +7 -0
  33. gap/pkg/semigroups/data/tst/trans3-old +7 -0
  34. gap/pkg/semigroups/environment.yml +7 -0
  35. gap/pkg/semigroups/gap/attributes/acting.gd +15 -0
  36. gap/pkg/semigroups/gap/attributes/acting.gi +297 -0
  37. gap/pkg/semigroups/gap/attributes/attr.gd +91 -0
  38. gap/pkg/semigroups/gap/attributes/attr.gi +1214 -0
  39. gap/pkg/semigroups/gap/attributes/dual.gd +25 -0
  40. gap/pkg/semigroups/gap/attributes/dual.gi +209 -0
  41. gap/pkg/semigroups/gap/attributes/factor.gd +17 -0
  42. gap/pkg/semigroups/gap/attributes/factor.gi +453 -0
  43. gap/pkg/semigroups/gap/attributes/homomorph.gd +84 -0
  44. gap/pkg/semigroups/gap/attributes/homomorph.gi +591 -0
  45. gap/pkg/semigroups/gap/attributes/inverse.gd +38 -0
  46. gap/pkg/semigroups/gap/attributes/inverse.gi +708 -0
  47. gap/pkg/semigroups/gap/attributes/isomorph.gd +16 -0
  48. gap/pkg/semigroups/gap/attributes/isomorph.gi +377 -0
  49. gap/pkg/semigroups/gap/attributes/isorms.gd +49 -0
  50. gap/pkg/semigroups/gap/attributes/isorms.gi +1383 -0
  51. gap/pkg/semigroups/gap/attributes/maximal.gd +16 -0
  52. gap/pkg/semigroups/gap/attributes/maximal.gi +1876 -0
  53. gap/pkg/semigroups/gap/attributes/properties.gd +109 -0
  54. gap/pkg/semigroups/gap/attributes/properties.gi +1658 -0
  55. gap/pkg/semigroups/gap/attributes/rms-translat.gd +39 -0
  56. gap/pkg/semigroups/gap/attributes/rms-translat.gi +1078 -0
  57. gap/pkg/semigroups/gap/attributes/semifp.gd +12 -0
  58. gap/pkg/semigroups/gap/attributes/semifp.gi +84 -0
  59. gap/pkg/semigroups/gap/attributes/translat.gd +474 -0
  60. gap/pkg/semigroups/gap/attributes/translat.gi +1779 -0
  61. gap/pkg/semigroups/gap/congruences/cong.gd +154 -0
  62. gap/pkg/semigroups/gap/congruences/cong.gi +351 -0
  63. gap/pkg/semigroups/gap/congruences/conginv.gd +38 -0
  64. gap/pkg/semigroups/gap/congruences/conginv.gi +589 -0
  65. gap/pkg/semigroups/gap/congruences/conglatt.gd +101 -0
  66. gap/pkg/semigroups/gap/congruences/conglatt.gi +886 -0
  67. gap/pkg/semigroups/gap/congruences/congpairs.gd +21 -0
  68. gap/pkg/semigroups/gap/congruences/congpairs.gi +272 -0
  69. gap/pkg/semigroups/gap/congruences/congpart.gd +90 -0
  70. gap/pkg/semigroups/gap/congruences/congpart.gi +449 -0
  71. gap/pkg/semigroups/gap/congruences/congrees.gd +20 -0
  72. gap/pkg/semigroups/gap/congruences/congrees.gi +313 -0
  73. gap/pkg/semigroups/gap/congruences/congrms.gd +54 -0
  74. gap/pkg/semigroups/gap/congruences/congrms.gi +1467 -0
  75. gap/pkg/semigroups/gap/congruences/congsemigraph.gd +28 -0
  76. gap/pkg/semigroups/gap/congruences/congsemigraph.gi +289 -0
  77. gap/pkg/semigroups/gap/congruences/congsimple.gd +27 -0
  78. gap/pkg/semigroups/gap/congruences/congsimple.gi +236 -0
  79. gap/pkg/semigroups/gap/congruences/conguniv.gd +20 -0
  80. gap/pkg/semigroups/gap/congruences/conguniv.gi +271 -0
  81. gap/pkg/semigroups/gap/congruences/congwordgraph.gd +21 -0
  82. gap/pkg/semigroups/gap/congruences/congwordgraph.gi +250 -0
  83. gap/pkg/semigroups/gap/elements/bipart.gd +71 -0
  84. gap/pkg/semigroups/gap/elements/bipart.gi +995 -0
  85. gap/pkg/semigroups/gap/elements/blocks.gd +31 -0
  86. gap/pkg/semigroups/gap/elements/blocks.gi +134 -0
  87. gap/pkg/semigroups/gap/elements/boolmat.gd +74 -0
  88. gap/pkg/semigroups/gap/elements/boolmat.gi +726 -0
  89. gap/pkg/semigroups/gap/elements/elements.gd +11 -0
  90. gap/pkg/semigroups/gap/elements/elements.gi +121 -0
  91. gap/pkg/semigroups/gap/elements/ffmat.gd +71 -0
  92. gap/pkg/semigroups/gap/elements/ffmat.gi +311 -0
  93. gap/pkg/semigroups/gap/elements/maxplusmat.gd +131 -0
  94. gap/pkg/semigroups/gap/elements/maxplusmat.gi +782 -0
  95. gap/pkg/semigroups/gap/elements/pbr.gd +51 -0
  96. gap/pkg/semigroups/gap/elements/pbr.gi +740 -0
  97. gap/pkg/semigroups/gap/elements/pperm.gd +11 -0
  98. gap/pkg/semigroups/gap/elements/pperm.gi +14 -0
  99. gap/pkg/semigroups/gap/elements/semiringmat.gd +136 -0
  100. gap/pkg/semigroups/gap/elements/semiringmat.gi +717 -0
  101. gap/pkg/semigroups/gap/elements/star.gd +21 -0
  102. gap/pkg/semigroups/gap/elements/star.gi +21 -0
  103. gap/pkg/semigroups/gap/elements/trans.gd +13 -0
  104. gap/pkg/semigroups/gap/elements/trans.gi +50 -0
  105. gap/pkg/semigroups/gap/fp/freeband.gd +22 -0
  106. gap/pkg/semigroups/gap/fp/freeband.gi +502 -0
  107. gap/pkg/semigroups/gap/fp/freeinverse.gd +30 -0
  108. gap/pkg/semigroups/gap/fp/freeinverse.gi +465 -0
  109. gap/pkg/semigroups/gap/fp/tietze.gd +89 -0
  110. gap/pkg/semigroups/gap/fp/tietze.gi +1578 -0
  111. gap/pkg/semigroups/gap/fp/word.gd +15 -0
  112. gap/pkg/semigroups/gap/fp/word.gi +67 -0
  113. gap/pkg/semigroups/gap/greens/acting-inverse.gi +774 -0
  114. gap/pkg/semigroups/gap/greens/acting-regular.gi +553 -0
  115. gap/pkg/semigroups/gap/greens/acting.gd +81 -0
  116. gap/pkg/semigroups/gap/greens/acting.gi +2433 -0
  117. gap/pkg/semigroups/gap/greens/froidure-pin.gd +25 -0
  118. gap/pkg/semigroups/gap/greens/froidure-pin.gi +741 -0
  119. gap/pkg/semigroups/gap/greens/generic.gd +117 -0
  120. gap/pkg/semigroups/gap/greens/generic.gi +630 -0
  121. gap/pkg/semigroups/gap/ideals/acting.gd +17 -0
  122. gap/pkg/semigroups/gap/ideals/acting.gi +1155 -0
  123. gap/pkg/semigroups/gap/ideals/froidure-pin.gd +11 -0
  124. gap/pkg/semigroups/gap/ideals/froidure-pin.gi +105 -0
  125. gap/pkg/semigroups/gap/ideals/ideals.gd +45 -0
  126. gap/pkg/semigroups/gap/ideals/ideals.gi +442 -0
  127. gap/pkg/semigroups/gap/ideals/lambda-rho.gd +16 -0
  128. gap/pkg/semigroups/gap/ideals/lambda-rho.gi +614 -0
  129. gap/pkg/semigroups/gap/libsemigroups/cong.gd +24 -0
  130. gap/pkg/semigroups/gap/libsemigroups/cong.gi +431 -0
  131. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gd +16 -0
  132. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gi +53 -0
  133. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gd +17 -0
  134. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gi +945 -0
  135. gap/pkg/semigroups/gap/libsemigroups/sims1.gd +38 -0
  136. gap/pkg/semigroups/gap/libsemigroups/sims1.gi +308 -0
  137. gap/pkg/semigroups/gap/main/acting.gd +36 -0
  138. gap/pkg/semigroups/gap/main/acting.gi +779 -0
  139. gap/pkg/semigroups/gap/main/froidure-pin.gd +72 -0
  140. gap/pkg/semigroups/gap/main/froidure-pin.gi +655 -0
  141. gap/pkg/semigroups/gap/main/graded.gd +26 -0
  142. gap/pkg/semigroups/gap/main/graded.gi +355 -0
  143. gap/pkg/semigroups/gap/main/lambda-rho.gd +29 -0
  144. gap/pkg/semigroups/gap/main/lambda-rho.gi +514 -0
  145. gap/pkg/semigroups/gap/main/orbits.gd +24 -0
  146. gap/pkg/semigroups/gap/main/orbits.gi +512 -0
  147. gap/pkg/semigroups/gap/main/semiact.gd +20 -0
  148. gap/pkg/semigroups/gap/main/semiact.gi +821 -0
  149. gap/pkg/semigroups/gap/main/setup.gd +61 -0
  150. gap/pkg/semigroups/gap/main/setup.gi +1094 -0
  151. gap/pkg/semigroups/gap/obsolete.gd +9 -0
  152. gap/pkg/semigroups/gap/obsolete.gi +14 -0
  153. gap/pkg/semigroups/gap/options.g +55 -0
  154. gap/pkg/semigroups/gap/semigroups/grpperm.gd +12 -0
  155. gap/pkg/semigroups/gap/semigroups/grpperm.gi +177 -0
  156. gap/pkg/semigroups/gap/semigroups/semibipart.gd +28 -0
  157. gap/pkg/semigroups/gap/semigroups/semibipart.gi +570 -0
  158. gap/pkg/semigroups/gap/semigroups/semiboolmat.gd +20 -0
  159. gap/pkg/semigroups/gap/semigroups/semiboolmat.gi +104 -0
  160. gap/pkg/semigroups/gap/semigroups/semicons.gd +52 -0
  161. gap/pkg/semigroups/gap/semigroups/semicons.gi +1194 -0
  162. gap/pkg/semigroups/gap/semigroups/semidp.gd +13 -0
  163. gap/pkg/semigroups/gap/semigroups/semidp.gi +509 -0
  164. gap/pkg/semigroups/gap/semigroups/semieunit.gd +126 -0
  165. gap/pkg/semigroups/gap/semigroups/semieunit.gi +889 -0
  166. gap/pkg/semigroups/gap/semigroups/semiex.gd +104 -0
  167. gap/pkg/semigroups/gap/semigroups/semiex.gi +1590 -0
  168. gap/pkg/semigroups/gap/semigroups/semiffmat.gd +37 -0
  169. gap/pkg/semigroups/gap/semigroups/semiffmat.gi +565 -0
  170. gap/pkg/semigroups/gap/semigroups/semifp.gd +28 -0
  171. gap/pkg/semigroups/gap/semigroups/semifp.gi +1364 -0
  172. gap/pkg/semigroups/gap/semigroups/semigraph.gd +40 -0
  173. gap/pkg/semigroups/gap/semigroups/semigraph.gi +292 -0
  174. gap/pkg/semigroups/gap/semigroups/semigrp.gd +165 -0
  175. gap/pkg/semigroups/gap/semigroups/semigrp.gi +1225 -0
  176. gap/pkg/semigroups/gap/semigroups/semimaxplus.gd +72 -0
  177. gap/pkg/semigroups/gap/semigroups/semimaxplus.gi +710 -0
  178. gap/pkg/semigroups/gap/semigroups/semintmat.gd +13 -0
  179. gap/pkg/semigroups/gap/semigroups/semintmat.gi +74 -0
  180. gap/pkg/semigroups/gap/semigroups/semipbr.gd +19 -0
  181. gap/pkg/semigroups/gap/semigroups/semipbr.gi +139 -0
  182. gap/pkg/semigroups/gap/semigroups/semipperm.gd +27 -0
  183. gap/pkg/semigroups/gap/semigroups/semipperm.gi +711 -0
  184. gap/pkg/semigroups/gap/semigroups/semiquo.gd +14 -0
  185. gap/pkg/semigroups/gap/semigroups/semiquo.gi +97 -0
  186. gap/pkg/semigroups/gap/semigroups/semiringmat.gd +16 -0
  187. gap/pkg/semigroups/gap/semigroups/semiringmat.gi +21 -0
  188. gap/pkg/semigroups/gap/semigroups/semirms.gd +19 -0
  189. gap/pkg/semigroups/gap/semigroups/semirms.gi +977 -0
  190. gap/pkg/semigroups/gap/semigroups/semitrans.gd +49 -0
  191. gap/pkg/semigroups/gap/semigroups/semitrans.gi +909 -0
  192. gap/pkg/semigroups/gap/tools/display.gd +24 -0
  193. gap/pkg/semigroups/gap/tools/display.gi +749 -0
  194. gap/pkg/semigroups/gap/tools/io.gd +17 -0
  195. gap/pkg/semigroups/gap/tools/io.gi +543 -0
  196. gap/pkg/semigroups/gap/tools/iterators.gd +16 -0
  197. gap/pkg/semigroups/gap/tools/iterators.gi +253 -0
  198. gap/pkg/semigroups/gap/tools/utils.gd +19 -0
  199. gap/pkg/semigroups/gap/tools/utils.gi +756 -0
  200. gap/pkg/semigroups/gapbind14/.ccls +18 -0
  201. gap/pkg/semigroups/gapbind14/.clang-format +104 -0
  202. gap/pkg/semigroups/gapbind14/CPPLINT.cfg +5 -0
  203. gap/pkg/semigroups/gapbind14/LICENSE +674 -0
  204. gap/pkg/semigroups/gapbind14/README.md +76 -0
  205. gap/pkg/semigroups/gapbind14/demo/.gitignore +4 -0
  206. gap/pkg/semigroups/gapbind14/demo/LICENSE +293 -0
  207. gap/pkg/semigroups/gapbind14/demo/Makefile.gappkg +220 -0
  208. gap/pkg/semigroups/gapbind14/demo/Makefile.in +19 -0
  209. gap/pkg/semigroups/gapbind14/demo/PackageInfo.g +87 -0
  210. gap/pkg/semigroups/gapbind14/demo/README.md +17 -0
  211. gap/pkg/semigroups/gapbind14/demo/configure +34 -0
  212. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gd +19 -0
  213. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gi +10 -0
  214. gap/pkg/semigroups/gapbind14/demo/init.g +16 -0
  215. gap/pkg/semigroups/gapbind14/demo/makedoc.g +10 -0
  216. gap/pkg/semigroups/gapbind14/demo/read.g +6 -0
  217. gap/pkg/semigroups/gapbind14/demo/src/gapbind_demo.cc +142 -0
  218. gap/pkg/semigroups/gapbind14/demo/tst/testall.g +12 -0
  219. gap/pkg/semigroups/gapbind14/include/gapbind14/cpp_fn.hpp +223 -0
  220. gap/pkg/semigroups/gapbind14/include/gapbind14/gap_include.hpp +26 -0
  221. gap/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp +445 -0
  222. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_free_fn.hpp +420 -0
  223. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_mem_fn.hpp +556 -0
  224. gap/pkg/semigroups/gapbind14/include/gapbind14/to_cpp.hpp +162 -0
  225. gap/pkg/semigroups/gapbind14/include/gapbind14/to_gap.hpp +158 -0
  226. gap/pkg/semigroups/gapbind14/src/.clang-format +108 -0
  227. gap/pkg/semigroups/gapbind14/src/gapbind14.cpp +334 -0
  228. gap/pkg/semigroups/init.g +150 -0
  229. gap/pkg/semigroups/m4/ax_append_flag.m4 +50 -0
  230. gap/pkg/semigroups/m4/ax_check_compile_flag.m4 +53 -0
  231. gap/pkg/semigroups/m4/ax_check_hpcombi.m4 +121 -0
  232. gap/pkg/semigroups/m4/ax_check_libsemigroup.m4 +68 -0
  233. gap/pkg/semigroups/m4/ax_compare_version.m4 +177 -0
  234. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx.m4 +1009 -0
  235. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx_14.m4 +34 -0
  236. gap/pkg/semigroups/m4/ax_prefix_config_h.m4 +203 -0
  237. gap/pkg/semigroups/m4/ax_pthread.m4 +522 -0
  238. gap/pkg/semigroups/m4/find_gap.m4 +94 -0
  239. gap/pkg/semigroups/makedoc.g +153 -0
  240. gap/pkg/semigroups/prerequisites.sh +62 -0
  241. gap/pkg/semigroups/read.g +105 -0
  242. gap/pkg/semigroups/release.toml +6 -0
  243. gap/pkg/semigroups/tst/extreme/README +2 -0
  244. gap/pkg/semigroups/tst/extreme/attrinv.tst +703 -0
  245. gap/pkg/semigroups/tst/extreme/bipart.tst +2803 -0
  246. gap/pkg/semigroups/tst/extreme/closure.tst +652 -0
  247. gap/pkg/semigroups/tst/extreme/cong.tst +286 -0
  248. gap/pkg/semigroups/tst/extreme/conginv.tst +43 -0
  249. gap/pkg/semigroups/tst/extreme/examples.tst +2449 -0
  250. gap/pkg/semigroups/tst/extreme/freeband.tst +37 -0
  251. gap/pkg/semigroups/tst/extreme/greens-acting-regular.tst +27 -0
  252. gap/pkg/semigroups/tst/extreme/greens-acting.tst +1999 -0
  253. gap/pkg/semigroups/tst/extreme/ideals.tst +858 -0
  254. gap/pkg/semigroups/tst/extreme/inverse.tst +1025 -0
  255. gap/pkg/semigroups/tst/extreme/maximal.tst +856 -0
  256. gap/pkg/semigroups/tst/extreme/misc.tst +4236 -0
  257. gap/pkg/semigroups/tst/extreme/monoid_pkg.tst +1488 -0
  258. gap/pkg/semigroups/tst/extreme/properties.tst +914 -0
  259. gap/pkg/semigroups/tst/extreme/semibipart.tst +2837 -0
  260. gap/pkg/semigroups/tst/extreme/semieunit.tst +49 -0
  261. gap/pkg/semigroups/tst/extreme/semiffmat.tst +353 -0
  262. gap/pkg/semigroups/tst/extreme/semigroups.tst +245 -0
  263. gap/pkg/semigroups/tst/extreme/semiiter.tst +58 -0
  264. gap/pkg/semigroups/tst/extreme/semirms.tst +1091 -0
  265. gap/pkg/semigroups/tst/extreme/transform.tst +305 -0
  266. gap/pkg/semigroups/tst/extreme/translat.tst +44 -0
  267. gap/pkg/semigroups/tst/standard/README +2 -0
  268. gap/pkg/semigroups/tst/standard/attributes/acting.tst +388 -0
  269. gap/pkg/semigroups/tst/standard/attributes/attr.tst +2404 -0
  270. gap/pkg/semigroups/tst/standard/attributes/dual.tst +308 -0
  271. gap/pkg/semigroups/tst/standard/attributes/factor.tst +629 -0
  272. gap/pkg/semigroups/tst/standard/attributes/homomorph.tst +1134 -0
  273. gap/pkg/semigroups/tst/standard/attributes/inverse.tst +1521 -0
  274. gap/pkg/semigroups/tst/standard/attributes/isomorph.tst +435 -0
  275. gap/pkg/semigroups/tst/standard/attributes/isorms.tst +1147 -0
  276. gap/pkg/semigroups/tst/standard/attributes/maximal.tst +853 -0
  277. gap/pkg/semigroups/tst/standard/attributes/properties.tst +2028 -0
  278. gap/pkg/semigroups/tst/standard/attributes/semifp.tst +53 -0
  279. gap/pkg/semigroups/tst/standard/attributes/translat.tst +796 -0
  280. gap/pkg/semigroups/tst/standard/congruences/cong.tst +1044 -0
  281. gap/pkg/semigroups/tst/standard/congruences/conginv.tst +292 -0
  282. gap/pkg/semigroups/tst/standard/congruences/conglatt.tst +421 -0
  283. gap/pkg/semigroups/tst/standard/congruences/congpairs.tst +1011 -0
  284. gap/pkg/semigroups/tst/standard/congruences/congrees.tst +288 -0
  285. gap/pkg/semigroups/tst/standard/congruences/congrms.tst +701 -0
  286. gap/pkg/semigroups/tst/standard/congruences/congsemigraph.tst +422 -0
  287. gap/pkg/semigroups/tst/standard/congruences/congsimple.tst +311 -0
  288. gap/pkg/semigroups/tst/standard/congruences/conguniv.tst +259 -0
  289. gap/pkg/semigroups/tst/standard/congruences/congwordgraph.tst +330 -0
  290. gap/pkg/semigroups/tst/standard/elements/bipart.tst +783 -0
  291. gap/pkg/semigroups/tst/standard/elements/blocks.tst +166 -0
  292. gap/pkg/semigroups/tst/standard/elements/boolmat.tst +608 -0
  293. gap/pkg/semigroups/tst/standard/elements/elements.tst +117 -0
  294. gap/pkg/semigroups/tst/standard/elements/ffmat.tst +349 -0
  295. gap/pkg/semigroups/tst/standard/elements/maxplusmat.tst +613 -0
  296. gap/pkg/semigroups/tst/standard/elements/pbr.tst +506 -0
  297. gap/pkg/semigroups/tst/standard/elements/pperm.tst +32 -0
  298. gap/pkg/semigroups/tst/standard/elements/semiringmat.tst +601 -0
  299. gap/pkg/semigroups/tst/standard/elements/trans.tst +58 -0
  300. gap/pkg/semigroups/tst/standard/fp/freeband.tst +311 -0
  301. gap/pkg/semigroups/tst/standard/fp/freeinverse.tst +147 -0
  302. gap/pkg/semigroups/tst/standard/fp/tietze.tst +780 -0
  303. gap/pkg/semigroups/tst/standard/fp/word.tst +106 -0
  304. gap/pkg/semigroups/tst/standard/greens/acting-inverse.tst +545 -0
  305. gap/pkg/semigroups/tst/standard/greens/acting-regular.tst +396 -0
  306. gap/pkg/semigroups/tst/standard/greens/acting.tst +2033 -0
  307. gap/pkg/semigroups/tst/standard/greens/froidure-pin.tst +1831 -0
  308. gap/pkg/semigroups/tst/standard/greens/generic.tst +1436 -0
  309. gap/pkg/semigroups/tst/standard/ideals/acting.tst +279 -0
  310. gap/pkg/semigroups/tst/standard/ideals/froidure-pin.tst +178 -0
  311. gap/pkg/semigroups/tst/standard/ideals/ideals.tst +380 -0
  312. gap/pkg/semigroups/tst/standard/libsemigroups/cong.tst +310 -0
  313. gap/pkg/semigroups/tst/standard/libsemigroups/froidure-pin.tst +778 -0
  314. gap/pkg/semigroups/tst/standard/libsemigroups/sims1.tst +379 -0
  315. gap/pkg/semigroups/tst/standard/main/acting.tst +411 -0
  316. gap/pkg/semigroups/tst/standard/main/froidure-pin.tst +392 -0
  317. gap/pkg/semigroups/tst/standard/main/semiact.tst +203 -0
  318. gap/pkg/semigroups/tst/standard/main/setup.tst +1144 -0
  319. gap/pkg/semigroups/tst/standard/obsolete.tst +19 -0
  320. gap/pkg/semigroups/tst/standard/options.tst +54 -0
  321. gap/pkg/semigroups/tst/standard/semigroups/grpperm.tst +581 -0
  322. gap/pkg/semigroups/tst/standard/semigroups/semibipart.tst +2635 -0
  323. gap/pkg/semigroups/tst/standard/semigroups/semiboolmat.tst +1871 -0
  324. gap/pkg/semigroups/tst/standard/semigroups/semicons.tst +1173 -0
  325. gap/pkg/semigroups/tst/standard/semigroups/semidp.tst +739 -0
  326. gap/pkg/semigroups/tst/standard/semigroups/semieunit.tst +339 -0
  327. gap/pkg/semigroups/tst/standard/semigroups/semiex.tst +2055 -0
  328. gap/pkg/semigroups/tst/standard/semigroups/semiffmat.tst +746 -0
  329. gap/pkg/semigroups/tst/standard/semigroups/semifp.tst +2702 -0
  330. gap/pkg/semigroups/tst/standard/semigroups/semigraph.tst +133 -0
  331. gap/pkg/semigroups/tst/standard/semigroups/semigrp.tst +1112 -0
  332. gap/pkg/semigroups/tst/standard/semigroups/semimaxplus.tst +654 -0
  333. gap/pkg/semigroups/tst/standard/semigroups/semipbr.tst +2142 -0
  334. gap/pkg/semigroups/tst/standard/semigroups/semipperm.tst +2169 -0
  335. gap/pkg/semigroups/tst/standard/semigroups/semiquo.tst +278 -0
  336. gap/pkg/semigroups/tst/standard/semigroups/semirms.tst +3010 -0
  337. gap/pkg/semigroups/tst/standard/semigroups/semitrans.tst +2758 -0
  338. gap/pkg/semigroups/tst/standard/tools/display.tst +1040 -0
  339. gap/pkg/semigroups/tst/standard/tools/io.tst +363 -0
  340. gap/pkg/semigroups/tst/testinstall.tst +1815 -0
  341. gap/pkg/semigroups/tst/teststandard.g +22 -0
  342. gap/pkg/semigroups/tst/workspaces/load-workspace.tst +142 -0
  343. gap/pkg/semigroups/tst/workspaces/load.g +11 -0
  344. gap/pkg/semigroups/tst/workspaces/save-workspace.tst +166 -0
  345. gap/pkg/semigroups/tst/workspaces/save.g +14 -0
  346. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA +93 -0
  347. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA.bak +94 -0
  348. passagemath_gap_pkg_semigroups-10.6.30.dist-info/RECORD +354 -0
  349. passagemath_gap_pkg_semigroups-10.6.30.dist-info/WHEEL +6 -0
  350. passagemath_gap_pkg_semigroups-10.6.30.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.dylibs/libsemigroups.2.dylib +0 -0
  352. sage/all__sagemath_gap_pkg_semigroups.py +1 -0
  353. sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
  354. sage/libs/gap_pkg_semigroups.abi3.so +0 -0
@@ -0,0 +1,106 @@
1
+ #############################################################################
2
+ ##
3
+ ## standard/fp/word.tst
4
+ #Y Copyright (C) 2020-2022 Murray T. Whyte
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+
11
+ #@local A, w
12
+ gap> START_TEST("Semigroups package: standard/fp/word.tst");
13
+ gap> LoadPackage("semigroups", false);;
14
+
15
+ #
16
+ gap> SEMIGROUPS.StartTest();
17
+
18
+ # Test WordToString
19
+ gap> WordToString("abc", [1, 1, 2, 1, 3]);
20
+ "aabac"
21
+ gap> WordToString("e3a", [3, 3, 3, 1]);
22
+ "aaae"
23
+ gap> WordToString("abc", []);
24
+ ""
25
+ gap> WordToString("", []);
26
+ ""
27
+ gap> WordToString("abc", [1]);
28
+ "a"
29
+ gap> WordToString("abc", [4]);
30
+ Error, the 1st argument (a string) is too short, expected at least
31
+ 4 but found 3
32
+ gap> WordToString("ab", [1, -1]);
33
+ Error, expected list of positive integers as 2nd argument
34
+
35
+ # Test RandomWord
36
+ gap> Length(RandomWord(4, 4)) = 4;
37
+ true
38
+ gap> Length(RandomWord(3, 10)) = 3;
39
+ true
40
+ gap> IsEmpty(RandomWord(0, 100));
41
+ true
42
+ gap> Length(DuplicateFreeList(RandomWord(100, 20))) <= 20;
43
+ true
44
+ gap> RandomWord(0, 0);
45
+ [ ]
46
+ gap> RandomWord(1, 0);
47
+ Error, the 1st argument (an integer) cannot be non-zero if the 2nd argument is\
48
+ 0
49
+ gap> RandomWord(-1, 2);
50
+ Error, expected non-negative integer as 1st argument
51
+ gap> RandomWord(2, -1);
52
+ Error, expected non-negative integer as 2nd argument
53
+
54
+ # Test StandardiseWord
55
+ gap> A := [3, 100, 2, 100, 3];
56
+ [ 3, 100, 2, 100, 3 ]
57
+ gap> StandardiseWord(A);
58
+ [ 1, 2, 3, 2, 1 ]
59
+ gap> A;
60
+ [ 1, 2, 3, 2, 1 ]
61
+ gap> A := [];
62
+ [ ]
63
+ gap> StandardiseWord(A);
64
+ [ ]
65
+ gap> StandardiseWord([10]);
66
+ [ 1 ]
67
+ gap> A := [1, 2, 3, 4, 5];
68
+ [ 1, 2, 3, 4, 5 ]
69
+ gap> StandardiseWord(A);
70
+ [ 1, 2, 3, 4, 5 ]
71
+ gap> A := [1, 1, 1, 1, 1, 1, 1, 1, 3];
72
+ [ 1, 1, 1, 1, 1, 1, 1, 1, 3 ]
73
+ gap> StandardizeWord(A);
74
+ [ 1, 1, 1, 1, 1, 1, 1, 1, 2 ]
75
+ gap> A := [2, 1, 2, 3, 2];
76
+ [ 2, 1, 2, 3, 2 ]
77
+ gap> StandardiseWord(A);
78
+ [ 1, 2, 1, 3, 1 ]
79
+ gap> StandardiseWord([0, 1, 2, 1]);
80
+ Error, expected a list of positive integers as 2nd argument
81
+ gap> StandardiseWord([[1, 2], [0]]);
82
+ Error, expected a list of positive integers as 2nd argument
83
+
84
+ # Test StringToWord
85
+ gap> w := "aabaacaad";
86
+ "aabaacaad"
87
+ gap> StringToWord(w);
88
+ [ 1, 1, 2, 1, 1, 3, 1, 1, 4 ]
89
+ gap> w;
90
+ "aabaacaad"
91
+ gap> w := "3a5bz!";
92
+ "3a5bz!"
93
+ gap> StringToWord(w);
94
+ [ 1, 2, 3, 4, 5, 6 ]
95
+ gap> w := "xyab77x";
96
+ "xyab77x"
97
+ gap> StringToWord(w);
98
+ [ 1, 2, 3, 4, 5, 5, 1 ]
99
+ gap> StringToWord("");
100
+ [ ]
101
+ gap> StringToWord("a");
102
+ [ 1 ]
103
+
104
+ #
105
+ gap> SEMIGROUPS.StopTest();
106
+ gap> STOP_TEST("Semigroups package: standard/fp/word.tst");
@@ -0,0 +1,545 @@
1
+ #############################################################################
2
+ ##
3
+ #W standard/greens/acting-inverse.tst
4
+ #Y Copyright (C) 2015-2022 Wilf A. Wilson
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+
11
+ #@local D, L, R, S, acting, an, en, it, x, y
12
+ gap> START_TEST("Semigroups package: standard/greens/acting-inverse.tst");
13
+ gap> LoadPackage("semigroups", false);;
14
+
15
+ #
16
+ gap> SEMIGROUPS.StartTest();
17
+
18
+ # SchutzenbergerGroup, for an L-class of an inverse op sgp
19
+ gap> S := InverseSemigroup([
20
+ > Bipartition([[1, -4], [2, -2], [3, -3], [4, 5, -1, -5]]),
21
+ > Bipartition([[1, -1], [2, -3], [3, 5, -4, -5], [4, -2]]),
22
+ > Bipartition([[1, -4], [2, -1], [3, 5, -3, -5], [4, -2]])],
23
+ > rec(acting := true));;
24
+ gap> x := Bipartition([[1, -2], [2, -4], [3, 4, 5, -1, -3, -5]]);;
25
+ gap> L := LClass(S, x);
26
+ <Green's L-class: <block bijection: [ 1, -2 ], [ 2, -4 ],
27
+ [ 3, 4, 5, -1, -3, -5 ]>>
28
+ gap> x in L;
29
+ true
30
+ gap> SchutzenbergerGroup(L);
31
+ Group([ (2,3) ])
32
+ gap> L := GreensLClassOfElementNC(S, x, true);;
33
+ gap> x in L;
34
+ true
35
+ gap> SchutzenbergerGroup(L);
36
+ Group([ (2,3) ])
37
+
38
+ # DClassOfXClass, for an X=R/L/H-class
39
+ gap> S := InverseSemigroup([
40
+ > Bipartition([[1, -4], [2, -2], [3, -3], [4, 5, -1, -5]]),
41
+ > Bipartition([[1, -1], [2, -3], [3, 5, -4, -5], [4, -2]]),
42
+ > Bipartition([[1, -4], [2, -1], [3, 5, -3, -5], [4, -2]])],
43
+ > rec(acting := true));;
44
+ gap> x := Bipartition([[1, -1], [2, -4], [3, -2], [4, 5, -3, -5]]);;
45
+ gap> D := DClassOfLClass(LClass(S, x));
46
+ <Green's D-class: <block bijection: [ 1, 5, -3, -5 ], [ 2, -4 ], [ 3, -2 ],
47
+ [ 4, -1 ]>>
48
+ gap> x in D;
49
+ true
50
+ gap> D = DClass(S, x);
51
+ true
52
+ gap> DClassOfRClass(RClass(S, x));
53
+ <Green's D-class: <block bijection: [ 1, -4 ], [ 2, -2 ], [ 3, -3 ],
54
+ [ 4, 5, -1, -5 ]>>
55
+ gap> x in D;
56
+ true
57
+ gap> D = DClass(S, x);
58
+ true
59
+ gap> DClassOfHClass(HClass(S, x));
60
+ <Green's D-class: <block bijection: [ 1, -1 ], [ 2, -4 ], [ 3, -2 ],
61
+ [ 4, 5, -3, -5 ]>>
62
+ gap> x in D;
63
+ true
64
+ gap> D = DClass(S, x);
65
+ true
66
+
67
+ # LClassOfHClass, for an H-class
68
+ gap> S := InverseSemigroup([
69
+ > Bipartition([[1, -4], [2, -2], [3, -3], [4, 5, -1, -5]]),
70
+ > Bipartition([[1, -1], [2, -3], [3, 5, -4, -5], [4, -2]]),
71
+ > Bipartition([[1, -4], [2, -1], [3, 5, -3, -5], [4, -2]])],
72
+ > rec(acting := true));;
73
+ gap> x := Bipartition([[1, -4], [2, 3, 5, -2, -3, -5], [4, -1]]);;
74
+ gap> L := LClassOfHClass(HClass(S, x));
75
+ <Green's L-class: <block bijection: [ 1, -4 ], [ 2, 3, 5, -2, -3, -5 ],
76
+ [ 4, -1 ]>>
77
+ gap> L = LClass(S, x);
78
+ true
79
+
80
+ # GreensHClassOfElement, for a Green's class and an element
81
+ gap> S := InverseSemigroup([
82
+ > PartialPerm([1, 2, 3, 4], [4, 1, 2, 6]),
83
+ > PartialPerm([1, 2, 4], [4, 6, 3]),
84
+ > PartialPerm([1, 2, 3, 5], [6, 4, 5, 1])],
85
+ > rec(acting := true));;
86
+ gap> x := PartialPerm([4, 1, 2, 0]);;
87
+ gap> GreensHClassOfElement(DClass(S, x), x);
88
+ <Green's H-class: [3,2,1,4]>
89
+ gap> GreensHClassOfElement(RClass(S, x), x);
90
+ <Green's H-class: [3,2,1,4]>
91
+ gap> GreensHClassOfElement(LClass(S, x), x);
92
+ <Green's H-class: [3,2,1,4]>
93
+
94
+ # Size, for an inverse op acting D/L-class
95
+ gap> S := InverseSemigroup([
96
+ > PartialPerm([1, 2, 3, 4], [4, 1, 2, 6]),
97
+ > PartialPerm([1, 2, 4], [4, 6, 3]),
98
+ > PartialPerm([1, 2, 3, 5], [6, 4, 5, 1])],
99
+ > rec(acting := true));;
100
+ gap> x := PartialPerm([4, 1, 2, 0]);;
101
+ gap> Size(DClass(S, x));
102
+ 36
103
+ gap> Size(LClass(S, x));
104
+ 6
105
+
106
+ # \in, for a D-class and an element, 1
107
+ gap> S := InverseSemigroup([
108
+ > Bipartition([[1, -4], [2, -2], [3, -3], [4, 5, -1, -5]]),
109
+ > Bipartition([[1, -1], [2, -3], [3, 5, -4, -5], [4, -2]]),
110
+ > Bipartition([[1, -4], [2, -1], [3, 5, -3, -5], [4, -2]])],
111
+ > rec(acting := true));;
112
+ gap> x := Bipartition([[1, -4], [2, 3, 5, -2, -3, -5], [4, -1]]);;
113
+ gap> D := DClass(S, x);;
114
+ gap> PartialPerm([]) in D;
115
+ false
116
+ gap> Bipartition([[1, -4], [2, 3, 5, -2, -3, -5], [4, -1], [6, -6]]) in D;
117
+ false
118
+ gap> Bipartition([[1, -4], [2, 3, 5, -2, -3, -5, 4, -1]]) in D;
119
+ false
120
+ gap> Bipartition([[1, -4], [2, 3, 5, -2], [-3, -5, 4, -1]]) in D;
121
+ false
122
+ gap> Bipartition([[1], [2, -3], [3, -4], [4, -5], [5], [-1], [-2]]) in D;
123
+ false
124
+ gap> Bipartition([[1, 2, 5, -1, -2, -3], [3, -4], [4, -5]]) in D;
125
+ false
126
+
127
+ # \in, for a D-class and an element, 2
128
+ gap> S := InverseSemigroup([
129
+ > PartialPerm([1, 2, 3, 5, 6, 7], [5, 7, 1, 9, 4, 2]),
130
+ > PartialPerm([1, 2, 3, 6, 8], [2, 6, 7, 9, 1]),
131
+ > PartialPerm([1, 2, 3, 4, 5, 8], [7, 1, 4, 3, 2, 6]),
132
+ > PartialPerm([1, 2, 3, 4, 5, 7, 9], [5, 3, 8, 1, 9, 4, 6])]);;
133
+ gap> x := PartialPerm([2, 4, 5, 7], [4, 1, 6, 7]);;
134
+ gap> D := DClass(S, x);;
135
+ gap> PartialPerm([2, 4, 5, 7], [2, 4, 7, 5]) in D;
136
+ false
137
+
138
+ # \in, for a D-class and an element, 3
139
+ gap> S := SymmetricInverseMonoid(5);
140
+ <symmetric inverse monoid of degree 5>
141
+ gap> x := S.1 * S.2 * S.1;
142
+ (1,2,4)(3,5)
143
+ gap> x := S.1 * S.2 * S.3 ;
144
+ [5,1](2)(3)(4)
145
+ gap> D := DClass(S, x);;
146
+ gap> x in D;
147
+ true
148
+
149
+ # \in, for an L-class and an element, 1
150
+ gap> S := InverseSemigroup([
151
+ > Bipartition([[1, -4], [2, -2], [3, -3], [4, 5, -1, -5]]),
152
+ > Bipartition([[1, -1], [2, -3], [3, 5, -4, -5], [4, -2]]),
153
+ > Bipartition([[1, -4], [2, -1], [3, 5, -3, -5], [4, -2]])],
154
+ > rec(acting := true));;
155
+ gap> x := Bipartition([[1, -4], [2, 3, 5, -2, -3, -5], [4, -1]]);;
156
+ gap> L := LClass(S, x);;
157
+ gap> PartialPerm([]) in L;
158
+ false
159
+ gap> Bipartition([[1, -4], [2, 3, 5, -2, -3, -5], [4, -1], [6, -6]]) in L;
160
+ false
161
+ gap> Bipartition([[1, -4], [2, 3, 5, -2, -3, -5, 4, -1]]) in L;
162
+ false
163
+ gap> Bipartition([[1, -4], [2, 3, 5, -2], [-3, -5, 4, -1]]) in L;
164
+ false
165
+ gap> Bipartition([[1], [2, -3], [3, -4], [4, -5], [5], [-1], [-2]]) in L;
166
+ false
167
+ gap> Bipartition([[1, 2, 5, -1, -2, -3], [3, -4], [4, -5]]) in L;
168
+ false
169
+
170
+ # \in, for an L-class and an element, 2
171
+ gap> S := InverseSemigroup([PartialPerm([1, 3], [4, 3]),
172
+ > PartialPerm([1, 2, 3], [4, 1, 2]),
173
+ > PartialPerm([1, 2, 4], [4, 5, 1]),
174
+ > PartialPerm([1, 3, 4], [5, 2, 1])],
175
+ > rec(acting := true));;
176
+ gap> x := PartialPerm([1, 2, 4], [1, 2, 4]);;
177
+ gap> L := LClass(S, x);;
178
+ gap> PartialPerm([4, 5, 6], [4, 2, 1]) in L;
179
+ false
180
+ gap> PartialPerm([1, 4, 5], [4, 2, 1]) in L;
181
+ false
182
+
183
+ # \in, for an L-class and an element, 3
184
+ gap> S := SymmetricInverseMonoid(5);
185
+ <symmetric inverse monoid of degree 5>
186
+ gap> x := S.1 * S.2 * S.1;
187
+ (1,2,4)(3,5)
188
+ gap> x := S.1 * S.2 * S.3 ^ 6;
189
+ <empty partial perm>
190
+ gap> x := S.1 * S.2 * S.3 ;
191
+ [5,1](2)(3)(4)
192
+ gap> L := LClass(S, x);;
193
+ gap> x in L;
194
+ true
195
+
196
+ # \in, for an L-class and an element, 4
197
+ gap> S := InverseSemigroup(PartialPerm([1, 3, 4, 8], [2, 7, 8, 4]),
198
+ > PartialPerm([1, 2, 3, 4, 5, 8], [7, 6, 9, 1, 3, 2]),
199
+ > PartialPerm([1, 2, 3, 4, 5, 6, 7, 9], [2, 8, 3, 7, 1, 5, 9, 6]),
200
+ > PartialPerm([1, 2, 3, 4, 6, 7, 9], [3, 5, 7, 2, 6, 9, 8]),
201
+ > PartialPerm([1, 2, 3, 4, 6, 9], [8, 4, 7, 5, 3, 6]));;
202
+ gap> x := PartialPerm([1, 2, 3, 4, 6, 7, 9], [3, 5, 7, 2, 6, 9, 8]);;
203
+ gap> y := PartialPermNC([2, 3, 5, 6, 7, 8, 9], [2, 3, 5, 6, 7, 8, 9]);;
204
+ gap> x in LClass(S, y);
205
+ true
206
+
207
+ # XClassReps: for an inverse op acting semigroup
208
+ gap> S := InverseSemigroup([
209
+ > PartialPerm([1, 2, 3, 4], [7, 6, 2, 1]),
210
+ > PartialPerm([1, 2, 3, 5, 6], [1, 3, 6, 2, 7]),
211
+ > PartialPerm([1, 3, 4, 6, 7], [1, 6, 3, 5, 4]),
212
+ > PartialPerm([1, 2, 5, 6, 7], [6, 7, 3, 2, 1])],
213
+ > rec(acting := true));;
214
+ gap> DClassReps(S);
215
+ [ <identity partial perm on [ 1, 2, 6, 7 ]>,
216
+ <identity partial perm on [ 1, 2, 3, 6, 7 ]>,
217
+ <identity partial perm on [ 1, 3, 4, 5, 6 ]>,
218
+ <identity partial perm on [ 6, 7 ]>, <identity partial perm on [ 1, 3, 6 ]>,
219
+ <identity partial perm on [ 2, 3, 6, 7 ]>,
220
+ <identity partial perm on [ 1, 2, 3, 5 ]>, <empty partial perm>,
221
+ <identity partial perm on [ 7 ]>, <identity partial perm on [ 2, 3, 7 ]> ]
222
+ gap> RClassReps(S);
223
+ [ <identity partial perm on [ 1, 2, 6, 7 ]>, [3,2,6][4,1,7], [3,6,7][5,2](1),
224
+ [3,7][4,6,2](1), [3,2][4,7,6](1),
225
+ <identity partial perm on [ 1, 2, 3, 6, 7 ]>, [5,2,3,6,7](1),
226
+ [5,3](1,6,2,7), <identity partial perm on [ 1, 3, 4, 5, 6 ]>,
227
+ [7,4,3,6,5](1), <identity partial perm on [ 6, 7 ]>, [4,7][5,6],
228
+ [1,7][2,6], [1,7][3,6], [2,6](7), [1,6](7), [1,7](6), [2,6][4,7], [2,7](6),
229
+ [3,6](7), [2,7][5,6], [2,6][3,7], [3,6,7], [3,6][4,7], [4,6](7), [5,7](6),
230
+ [1,7][5,6], [4,7](6), [3,6][5,7], [1,7][4,6], [5,6](7),
231
+ <identity partial perm on [ 1, 3, 6 ]>, [4,3,6](1), [2,6][7,1,3],
232
+ [2,6,3][7,1], [2,3,6](1), [2,6][5,3](1), [7,6,1](3), [2,3,6,1], [5,6,3](1),
233
+ [2,6][5,3,1], [4,6,3][5,1], [5,6,3][7,1], [2,3](1,6), [7,1,6](3),
234
+ [4,1,6,3], [5,3,1,6], [2,1][5,3][7,6], [2,1][4,6](3), [7,6,3](1),
235
+ [4,6][5,3](1), [2,3][4,1,6], [5,6,1](3), [4,3,1](6), [4,1][7,3,6],
236
+ [4,6][7,3](1), [5,3][7,1,6], <identity partial perm on [ 2, 3, 6, 7 ]>,
237
+ [5,2,3,6,7], [1,6,2,7][5,3], [1,6](2,3,7), [5,7,6,3](2),
238
+ <identity partial perm on [ 1, 2, 3, 5 ]>, [6,3,2,5](1), [6,2][7,3,5](1),
239
+ [4,3][6,5,2](1), [7,1,2,3](5), [6,5,2][7,1,3], <empty partial perm>,
240
+ <identity partial perm on [ 7 ]>, [4,7], [3,7], [6,7], [1,7], [5,7], [2,7],
241
+ <identity partial perm on [ 2, 3, 7 ]>, [5,2,3][6,7] ]
242
+
243
+ # XClassReps: for an inverse op acting Greens class
244
+ gap> S := InverseSemigroup([
245
+ > PartialPerm([1, 2, 3, 4], [7, 6, 2, 1]),
246
+ > PartialPerm([1, 2, 3, 5, 6], [1, 3, 6, 2, 7]),
247
+ > PartialPerm([1, 3, 4, 6, 7], [1, 6, 3, 5, 4]),
248
+ > PartialPerm([1, 2, 5, 6, 7], [6, 7, 3, 2, 1])],
249
+ > rec(acting := true));;
250
+ gap> x := PartialPerm([1, 3, 4, 5, 6], [1, 3, 4, 5, 6]);;
251
+ gap> D := DClass(S, x);;
252
+ gap> RClassReps(D);
253
+ [ <identity partial perm on [ 1, 3, 4, 5, 6 ]>, [7,4,3,6,5](1) ]
254
+ gap> HClassReps(D);
255
+ [ <identity partial perm on [ 1, 3, 4, 5, 6 ]>, [5,6,3,4,7](1),
256
+ [7,4,3,6,5](1), <identity partial perm on [ 1, 3, 4, 6, 7 ]> ]
257
+ gap> L := LClass(S, x);;
258
+ gap> HClassReps(L);
259
+ [ <identity partial perm on [ 1, 3, 4, 5, 6 ]>, [7,4,3,6,5](1) ]
260
+
261
+ # Greens(H/L)Classes, for an inverse op acting D-class
262
+ gap> S := InverseSemigroup([
263
+ > PartialPerm([1, 2], [3, 2]),
264
+ > PartialPerm([1, 4], [1, 3]),
265
+ > PartialPerm([1, 3, 5], [4, 3, 1])],
266
+ > rec(acting := true));;
267
+ gap> GreensLClasses(S);
268
+ [ <Green's L-class: <identity partial perm on [ 2, 3 ]>>,
269
+ <Green's L-class: [3,1](2)>,
270
+ <Green's L-class: <identity partial perm on [ 1, 3 ]>>,
271
+ <Green's L-class: [3,4](1)>, <Green's L-class: [3,1,5]>,
272
+ <Green's L-class: [1,4](3)>, <Green's L-class: [1,5](3)>,
273
+ <Green's L-class: <identity partial perm on [ 1, 3, 4 ]>>,
274
+ <Green's L-class: [4,1,5](3)>,
275
+ <Green's L-class: <identity partial perm on [ 2 ]>>,
276
+ <Green's L-class: <empty partial perm>>,
277
+ <Green's L-class: <identity partial perm on [ 4 ]>>,
278
+ <Green's L-class: [4,3]>, <Green's L-class: [4,1]>,
279
+ <Green's L-class: [4,5]> ]
280
+ gap> x := PartialPerm([1, 4], [5, 1]);;
281
+ gap> GreensHClasses(DClass(S, x));
282
+ [ <Green's H-class: <identity partial perm on [ 1, 3 ]>>,
283
+ <Green's H-class: [3,4](1)>, <Green's H-class: [3,1,5]>,
284
+ <Green's H-class: [1,4](3)>, <Green's H-class: [1,5](3)>,
285
+ <Green's H-class: [4,3](1)>,
286
+ <Green's H-class: <identity partial perm on [ 1, 4 ]>>,
287
+ <Green's H-class: [4,1,5]>, <Green's H-class: [1,4,3]>,
288
+ <Green's H-class: [1,5][4,3]>, <Green's H-class: [5,1,3]>,
289
+ <Green's H-class: [5,1,4]>,
290
+ <Green's H-class: <identity partial perm on [ 1, 5 ]>>,
291
+ <Green's H-class: [1,3][5,4]>, <Green's H-class: [1,3](5)>,
292
+ <Green's H-class: [4,1](3)>, <Green's H-class: [3,4,1]>,
293
+ <Green's H-class: [3,1][4,5]>,
294
+ <Green's H-class: <identity partial perm on [ 3, 4 ]>>,
295
+ <Green's H-class: [4,5](3)>, <Green's H-class: [5,1](3)>,
296
+ <Green's H-class: [3,4][5,1]>, <Green's H-class: [3,1](5)>,
297
+ <Green's H-class: [5,4](3)>,
298
+ <Green's H-class: <identity partial perm on [ 3, 5 ]>> ]
299
+ gap> GreensHClasses(RClass(S, x));
300
+ [ <Green's H-class: [4,3](1)>,
301
+ <Green's H-class: <identity partial perm on [ 1, 4 ]>>,
302
+ <Green's H-class: [4,1,5]>, <Green's H-class: [1,4,3]>,
303
+ <Green's H-class: [1,5][4,3]> ]
304
+ gap> GreensHClasses(LClass(S, x));
305
+ [ <Green's H-class: [3,1,5]>, <Green's H-class: [4,1,5]>,
306
+ <Green's H-class: <identity partial perm on [ 1, 5 ]>>,
307
+ <Green's H-class: [3,1][4,5]>, <Green's H-class: [3,1](5)> ]
308
+ gap> GreensHClasses(HClass(S, x));
309
+ Error, the argument is not a Green's L-, R-, or D-class
310
+
311
+ # Nr(H/R/L)Classes, for an inverse op acting semigroup
312
+ gap> S := InverseSemigroup([
313
+ > PartialPerm([1, 2], [3, 2]),
314
+ > PartialPerm([1, 4], [1, 3]),
315
+ > PartialPerm([1, 3, 5], [4, 3, 1])],
316
+ > rec(acting := true));;
317
+ gap> NrRClasses(S);
318
+ 15
319
+ gap> NrLClasses(S);
320
+ 15
321
+ gap> NrHClasses(S);
322
+ 51
323
+
324
+ # Nr(R/L)Classes, for an inverse op acting Greens class
325
+ gap> S := InverseSemigroup([
326
+ > PartialPerm([1, 2], [3, 2]),
327
+ > PartialPerm([1, 4], [1, 3]),
328
+ > PartialPerm([1, 3, 5], [4, 3, 1])],
329
+ > rec(acting := true));;
330
+ gap> x := PartialPerm([1, 3, 4], [5, 3, 1]);;
331
+ gap> D := DClass(S, x);;
332
+ gap> NrRClasses(D);
333
+ 2
334
+ gap> NrLClasses(D);
335
+ 2
336
+ gap> NrHClasses(D);
337
+ 4
338
+ gap> L := LClass(S, x);;
339
+ gap> NrHClasses(L);
340
+ 2
341
+ gap> R := LClass(S, x);;
342
+ gap> NrHClasses(R);
343
+ 2
344
+
345
+ # GroupHClassOfGreensDClass, for an inverse op acting D-class
346
+ gap> S := InverseSemigroup([
347
+ > PartialPerm([1, 2], [3, 2]),
348
+ > PartialPerm([1, 4], [1, 3]),
349
+ > PartialPerm([1, 3, 5], [4, 3, 1])],
350
+ > rec(acting := true));;
351
+ gap> GroupHClassOfGreensDClass(DClass(S, PartialPerm([])));
352
+ <Green's H-class: <empty partial perm>>
353
+ gap> GroupHClassOfGreensDClass(DClass(S, PartialPerm([3, 5], [4, 1])));
354
+ <Green's H-class: <identity partial perm on [ 1, 3 ]>>
355
+
356
+ # PartialOrderOfDClasses, for an inverse op acting semigroup
357
+ gap> S := SymmetricInverseSemigroup(5);;
358
+ gap> S := InverseSemigroup(S, rec(acting := true));;
359
+ gap> OutNeighbours(DigraphReflexiveTransitiveReduction(
360
+ > PartialOrderOfDClasses(S)));
361
+ [ [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ ] ]
362
+
363
+ # (Nr)Idempotents, for an inv op acting R/L/D-class
364
+ gap> S := InverseSemigroup([
365
+ > Bipartition([[1, -4], [2, 4, 5, 6, -1, -2, -5, -6], [3, -3]]),
366
+ > Bipartition([[1, -4], [2, -1], [3, -2], [4, 5, 6, -3, -5, -6]]),
367
+ > Bipartition([[1, -4], [2, -5], [3, 5, 6, -2, -3, -6], [4, -1]]),
368
+ > Bipartition([[1, -5], [2, 5, 6, -3, -4, -6], [3, -2], [4, -1]])],
369
+ > rec(acting := true));;
370
+ gap> x := Bipartition([[1, 2, 5, 6, -2, -4, -5, -6], [3, -3], [4, -1]]);;
371
+ gap> NrIdempotents(HClass(S, x));
372
+ 0
373
+ gap> Idempotents(HClass(S, x));
374
+ [ ]
375
+ gap> NrIdempotents(RClass(S, x));
376
+ 1
377
+ gap> Idempotents(RClass(S, x));
378
+ [ <block bijection: [ 1, 2, 5, 6, -1, -2, -5, -6 ], [ 3, -3 ], [ 4, -4 ]> ]
379
+ gap> NrIdempotents(LClass(S, x));
380
+ 1
381
+ gap> Idempotents(LClass(S, x));
382
+ [ <block bijection: [ 1, -1 ], [ 2, 4, 5, 6, -2, -4, -5, -6 ], [ 3, -3 ]> ]
383
+ gap> NrIdempotents(DClass(S, x));
384
+ 9
385
+ gap> Idempotents(DClass(S, x));
386
+ [ <block bijection: [ 1, 2, 5, 6, -1, -2, -5, -6 ], [ 3, -3 ], [ 4, -4 ]>,
387
+ <block bijection: [ 1, -1 ], [ 2, 4, 5, 6, -2, -4, -5, -6 ], [ 3, -3 ]>,
388
+ <block bijection: [ 1, 3, 5, 6, -1, -3, -5, -6 ], [ 2, -2 ], [ 4, -4 ]>,
389
+ <block bijection: [ 1, -1 ], [ 2, 3, 4, 6, -2, -3, -4, -6 ], [ 5, -5 ]>,
390
+ <block bijection: [ 1, -1 ], [ 2, 3, 5, 6, -2, -3, -5, -6 ], [ 4, -4 ]>,
391
+ <block bijection: [ 1, -1 ], [ 2, -2 ], [ 3, 4, 5, 6, -3, -4, -5, -6 ]>,
392
+ <block bijection: [ 1, 2, 3, 6, -1, -2, -3, -6 ], [ 4, -4 ], [ 5, -5 ]>,
393
+ <block bijection: [ 1, 4, 5, 6, -1, -4, -5, -6 ], [ 2, -2 ], [ 3, -3 ]>,
394
+ <block bijection: [ 1, 3, 4, 6, -1, -3, -4, -6 ], [ 2, -2 ], [ 5, -5 ]> ]
395
+
396
+ # (Nr)Idempotents, for an inverse op acting semigroup
397
+ gap> S := InverseSemigroup(SymmetricInverseSemigroup(5),
398
+ > rec(acting := true));;
399
+ gap> Idempotents(S, 3);
400
+ [ <identity partial perm on [ 1, 2, 3 ]>,
401
+ <identity partial perm on [ 3, 4, 5 ]>,
402
+ <identity partial perm on [ 2, 3, 4 ]>,
403
+ <identity partial perm on [ 2, 4, 5 ]>,
404
+ <identity partial perm on [ 1, 4, 5 ]>,
405
+ <identity partial perm on [ 1, 3, 4 ]>,
406
+ <identity partial perm on [ 2, 3, 5 ]>,
407
+ <identity partial perm on [ 1, 3, 5 ]>,
408
+ <identity partial perm on [ 1, 2, 5 ]>,
409
+ <identity partial perm on [ 1, 2, 4 ]> ]
410
+ gap> Length(last) = Binomial(5, 3);
411
+ true
412
+ gap> S := InverseSemigroup([
413
+ > PartialPerm([1, 2, 3], [1, 3, 4]),
414
+ > PartialPerm([1, 2, 3], [2, 5, 3]),
415
+ > PartialPerm([1, 2, 3, 4], [2, 4, 1, 5]),
416
+ > PartialPerm([1, 3, 5], [5, 1, 3])],
417
+ > rec(acting := true));;
418
+ gap> NrIdempotents(S);
419
+ 25
420
+ gap> Idempotents(S);
421
+ [ <identity partial perm on [ 1, 3, 4 ]>,
422
+ <identity partial perm on [ 2, 3, 5 ]>,
423
+ <identity partial perm on [ 1, 2, 4, 5 ]>,
424
+ <identity partial perm on [ 1, 3, 5 ]>,
425
+ <identity partial perm on [ 1, 2, 3 ]>,
426
+ <identity partial perm on [ 1, 2, 3, 4 ]>,
427
+ <identity partial perm on [ 1, 4 ]>, <identity partial perm on [ 2, 3 ]>,
428
+ <identity partial perm on [ 1, 2, 5 ]>, <identity partial perm on [ 1, 5 ]>,
429
+ <identity partial perm on [ 3 ]>, <identity partial perm on [ 3, 4 ]>,
430
+ <identity partial perm on [ 3, 5 ]>, <identity partial perm on [ 1, 3 ]>,
431
+ <identity partial perm on [ 2 ]>, <identity partial perm on [ 2, 5 ]>,
432
+ <identity partial perm on [ 2, 4, 5 ]>, <identity partial perm on [ 1, 2 ]>,
433
+ <identity partial perm on [ 1, 2, 4 ]>, <identity partial perm on [ 1 ]>,
434
+ <identity partial perm on [ 5 ]>, <empty partial perm>,
435
+ <identity partial perm on [ 2, 4 ]>, <identity partial perm on [ 4 ]>,
436
+ <identity partial perm on [ 4, 5 ]> ]
437
+ gap> Length(Idempotents(S)) = NrIdempotents(S);
438
+ true
439
+ gap> Idempotents(S, 4);
440
+ [ <identity partial perm on [ 1, 2, 4, 5 ]>,
441
+ <identity partial perm on [ 1, 2, 3, 4 ]> ]
442
+ gap> Idempotents(S, -1);
443
+ Error, the 2nd argument (an int) is not non-negative
444
+
445
+ # IteratorOfRClassReps
446
+ gap> S := InverseSemigroup(SymmetricInverseSemigroup(5),
447
+ > rec(acting := true));;
448
+ gap> it := IteratorOfRClassReps(S);
449
+ <iterator>
450
+ gap> NextIterator(it);
451
+ <identity partial perm on [ 1, 2, 3, 4, 5 ]>
452
+ gap> NextIterator(it);
453
+ <identity partial perm on [ 1, 2, 3, 4 ]>
454
+ gap> for x in it do od;
455
+ gap> IsDoneIterator(it);
456
+ true
457
+ gap> RClassReps(S);;
458
+ gap> it := IteratorOfRClassReps(S);
459
+ <iterator>
460
+ gap> NextIterator(it);
461
+ <identity partial perm on [ 1, 2, 3, 4, 5 ]>
462
+ gap> NextIterator(it);
463
+ <identity partial perm on [ 1, 2, 3, 4 ]>
464
+ gap> for x in it do od;
465
+ gap> IsDoneIterator(it);
466
+ true
467
+
468
+ # Enumerator for an L-class
469
+ gap> S := InverseSemigroup(SymmetricInverseSemigroup(5),
470
+ > rec(acting := true));;
471
+ gap> x := PartialPerm([1, 2, 3, 5], [2, 4, 3, 5]);
472
+ [1,2,4](3)(5)
473
+ gap> L := LClass(S, x);
474
+ <Green's L-class: [1,2,4](3)(5)>
475
+ gap> en := Enumerator(L);
476
+ <enumerator of <Green's L-class: [1,2,4](3)(5)>>
477
+ gap> ForAll(en, x -> en[Position(en, x)] = x);
478
+ true
479
+ gap> ForAll([1 .. Length(en)], i -> Position(en, en[i]) = i);
480
+ true
481
+ gap> Position(en, PartialPerm([1, 2, 3], [5, 2, 3]));
482
+ fail
483
+ gap> S := InverseSemigroup(PartialPerm([1, 2, 3], [2, 3, 1]),
484
+ > rec(acting := true));
485
+ <partial perm group of rank 3 with 1 generator>
486
+ gap> x := PartialPerm([1, 2, 3]);
487
+ <identity partial perm on [ 1, 2, 3 ]>
488
+ gap> y := PartialPerm([1, 2, 4], [1, 2, 3]);
489
+ [4,3](1)(2)
490
+ gap> en := Enumerator(LClass(S, x));;
491
+ gap> Position(en, y);
492
+ fail
493
+ gap> en[10000];
494
+ fail
495
+
496
+ # Enumerator for a D-class
497
+ gap> S := InverseSemigroup(SymmetricInverseSemigroup(5),
498
+ > rec(acting := true));;
499
+ gap> x := PartialPerm([1, 2, 3, 5], [2, 4, 3, 5]);
500
+ [1,2,4](3)(5)
501
+ gap> D := DClass(S, x);
502
+ <Green's D-class: [1,2,4](3)(5)>
503
+ gap> en := Enumerator(D);
504
+ <enumerator of <Green's D-class: [1,2,4](3)(5)>>
505
+ gap> ForAll(en, x -> en[Position(en, x)] = x);
506
+ true
507
+ gap> ForAll([1 .. Length(en)], i -> Position(en, en[i]) = i);
508
+ true
509
+ gap> Position(en, PartialPerm([1, 2, 3], [5, 2, 3]));
510
+ fail
511
+ gap> S := InverseSemigroup(PartialPerm([1, 2, 3], [2, 3, 1]),
512
+ > rec(acting := true));
513
+ <partial perm group of rank 3 with 1 generator>
514
+ gap> x := PartialPerm([1, 2, 3]);
515
+ <identity partial perm on [ 1, 2, 3 ]>
516
+ gap> y := PartialPerm([1, 2, 4], [1, 2, 3]);
517
+ [4,3](1)(2)
518
+ gap> en := Enumerator(DClass(S, x));
519
+ <enumerator of <Green's D-class: <identity partial perm on [ 1, 2, 3 ]>>>
520
+ gap> Position(en, y ^ -1);
521
+ fail
522
+ gap> Position(en, y);
523
+ fail
524
+ gap> en[10000];
525
+ fail
526
+
527
+ # Iterator for an L-class
528
+ gap> S := InverseSemigroup(SymmetricInverseSemigroup(5),
529
+ > rec(acting := true));;
530
+ gap> x := PartialPerm([1, 2, 3, 5], [2, 4, 3, 5]);
531
+ [1,2,4](3)(5)
532
+ gap> L := LClass(S, x);
533
+ <Green's L-class: [1,2,4](3)(5)>
534
+ gap> it := Iterator(L);
535
+ <iterator>
536
+ gap> for x in it do Assert(0, x in L); od;
537
+ gap> L := LClass(S, x);
538
+ <Green's L-class: [1,5,2,3,4]>
539
+ gap> AsSSortedList(L);;
540
+ gap> Iterator(L);
541
+ <iterator>
542
+
543
+ #
544
+ gap> SEMIGROUPS.StopTest();
545
+ gap> STOP_TEST("Semigroups package: standard/greens/acting-inverse.tst");