passagemath-gap-pkg-semigroups 10.6.30__cp311-cp311-macosx_13_0_arm64.whl

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

Potentially problematic release.


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

Files changed (354) hide show
  1. gap/pkg/semigroups/CHANGELOG.md +1699 -0
  2. gap/pkg/semigroups/CONTRIBUTING.md +91 -0
  3. gap/pkg/semigroups/GNUmakefile +110 -0
  4. gap/pkg/semigroups/GNUmakefile.in +110 -0
  5. gap/pkg/semigroups/GPL +674 -0
  6. gap/pkg/semigroups/LICENSE +16 -0
  7. gap/pkg/semigroups/Makefile +26 -0
  8. gap/pkg/semigroups/Makefile.gappkg +225 -0
  9. gap/pkg/semigroups/PackageInfo.g +529 -0
  10. gap/pkg/semigroups/README.md +102 -0
  11. gap/pkg/semigroups/VERSIONS +112 -0
  12. gap/pkg/semigroups/aclocal.m4 +375 -0
  13. gap/pkg/semigroups/autogen.sh +25 -0
  14. gap/pkg/semigroups/bin/aarch64-apple-darwin23-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1158 -0
  17. gap/pkg/semigroups/config.status +1131 -0
  18. gap/pkg/semigroups/config.sub +1960 -0
  19. gap/pkg/semigroups/configure +9742 -0
  20. gap/pkg/semigroups/configure.ac +71 -0
  21. gap/pkg/semigroups/data/doc/greens.pickle +1 -0
  22. gap/pkg/semigroups/data/gens/fullbool-8.pickle.gz +0 -0
  23. gap/pkg/semigroups/data/gens/fullbool.pickle.gz +0 -0
  24. gap/pkg/semigroups/data/gens/hall.pickle.gz +0 -0
  25. gap/pkg/semigroups/data/gens/reflex-6.pickle.gz +0 -0
  26. gap/pkg/semigroups/data/gens/reflex.pickle.gz +0 -0
  27. gap/pkg/semigroups/data/tst/bipart4 +10 -0
  28. gap/pkg/semigroups/data/tst/pperm10 +1 -0
  29. gap/pkg/semigroups/data/tst/tables.gz +0 -0
  30. gap/pkg/semigroups/data/tst/testdata +1 -0
  31. gap/pkg/semigroups/data/tst/testinstall.pickle +1 -0
  32. gap/pkg/semigroups/data/tst/trans3 +7 -0
  33. gap/pkg/semigroups/data/tst/trans3-old +7 -0
  34. gap/pkg/semigroups/environment.yml +7 -0
  35. gap/pkg/semigroups/gap/attributes/acting.gd +15 -0
  36. gap/pkg/semigroups/gap/attributes/acting.gi +297 -0
  37. gap/pkg/semigroups/gap/attributes/attr.gd +91 -0
  38. gap/pkg/semigroups/gap/attributes/attr.gi +1214 -0
  39. gap/pkg/semigroups/gap/attributes/dual.gd +25 -0
  40. gap/pkg/semigroups/gap/attributes/dual.gi +209 -0
  41. gap/pkg/semigroups/gap/attributes/factor.gd +17 -0
  42. gap/pkg/semigroups/gap/attributes/factor.gi +453 -0
  43. gap/pkg/semigroups/gap/attributes/homomorph.gd +84 -0
  44. gap/pkg/semigroups/gap/attributes/homomorph.gi +591 -0
  45. gap/pkg/semigroups/gap/attributes/inverse.gd +38 -0
  46. gap/pkg/semigroups/gap/attributes/inverse.gi +708 -0
  47. gap/pkg/semigroups/gap/attributes/isomorph.gd +16 -0
  48. gap/pkg/semigroups/gap/attributes/isomorph.gi +377 -0
  49. gap/pkg/semigroups/gap/attributes/isorms.gd +49 -0
  50. gap/pkg/semigroups/gap/attributes/isorms.gi +1383 -0
  51. gap/pkg/semigroups/gap/attributes/maximal.gd +16 -0
  52. gap/pkg/semigroups/gap/attributes/maximal.gi +1876 -0
  53. gap/pkg/semigroups/gap/attributes/properties.gd +109 -0
  54. gap/pkg/semigroups/gap/attributes/properties.gi +1658 -0
  55. gap/pkg/semigroups/gap/attributes/rms-translat.gd +39 -0
  56. gap/pkg/semigroups/gap/attributes/rms-translat.gi +1078 -0
  57. gap/pkg/semigroups/gap/attributes/semifp.gd +12 -0
  58. gap/pkg/semigroups/gap/attributes/semifp.gi +84 -0
  59. gap/pkg/semigroups/gap/attributes/translat.gd +474 -0
  60. gap/pkg/semigroups/gap/attributes/translat.gi +1779 -0
  61. gap/pkg/semigroups/gap/congruences/cong.gd +154 -0
  62. gap/pkg/semigroups/gap/congruences/cong.gi +351 -0
  63. gap/pkg/semigroups/gap/congruences/conginv.gd +38 -0
  64. gap/pkg/semigroups/gap/congruences/conginv.gi +589 -0
  65. gap/pkg/semigroups/gap/congruences/conglatt.gd +101 -0
  66. gap/pkg/semigroups/gap/congruences/conglatt.gi +886 -0
  67. gap/pkg/semigroups/gap/congruences/congpairs.gd +21 -0
  68. gap/pkg/semigroups/gap/congruences/congpairs.gi +272 -0
  69. gap/pkg/semigroups/gap/congruences/congpart.gd +90 -0
  70. gap/pkg/semigroups/gap/congruences/congpart.gi +449 -0
  71. gap/pkg/semigroups/gap/congruences/congrees.gd +20 -0
  72. gap/pkg/semigroups/gap/congruences/congrees.gi +313 -0
  73. gap/pkg/semigroups/gap/congruences/congrms.gd +54 -0
  74. gap/pkg/semigroups/gap/congruences/congrms.gi +1467 -0
  75. gap/pkg/semigroups/gap/congruences/congsemigraph.gd +28 -0
  76. gap/pkg/semigroups/gap/congruences/congsemigraph.gi +289 -0
  77. gap/pkg/semigroups/gap/congruences/congsimple.gd +27 -0
  78. gap/pkg/semigroups/gap/congruences/congsimple.gi +236 -0
  79. gap/pkg/semigroups/gap/congruences/conguniv.gd +20 -0
  80. gap/pkg/semigroups/gap/congruences/conguniv.gi +271 -0
  81. gap/pkg/semigroups/gap/congruences/congwordgraph.gd +21 -0
  82. gap/pkg/semigroups/gap/congruences/congwordgraph.gi +250 -0
  83. gap/pkg/semigroups/gap/elements/bipart.gd +71 -0
  84. gap/pkg/semigroups/gap/elements/bipart.gi +995 -0
  85. gap/pkg/semigroups/gap/elements/blocks.gd +31 -0
  86. gap/pkg/semigroups/gap/elements/blocks.gi +134 -0
  87. gap/pkg/semigroups/gap/elements/boolmat.gd +74 -0
  88. gap/pkg/semigroups/gap/elements/boolmat.gi +726 -0
  89. gap/pkg/semigroups/gap/elements/elements.gd +11 -0
  90. gap/pkg/semigroups/gap/elements/elements.gi +121 -0
  91. gap/pkg/semigroups/gap/elements/ffmat.gd +71 -0
  92. gap/pkg/semigroups/gap/elements/ffmat.gi +311 -0
  93. gap/pkg/semigroups/gap/elements/maxplusmat.gd +131 -0
  94. gap/pkg/semigroups/gap/elements/maxplusmat.gi +782 -0
  95. gap/pkg/semigroups/gap/elements/pbr.gd +51 -0
  96. gap/pkg/semigroups/gap/elements/pbr.gi +740 -0
  97. gap/pkg/semigroups/gap/elements/pperm.gd +11 -0
  98. gap/pkg/semigroups/gap/elements/pperm.gi +14 -0
  99. gap/pkg/semigroups/gap/elements/semiringmat.gd +136 -0
  100. gap/pkg/semigroups/gap/elements/semiringmat.gi +717 -0
  101. gap/pkg/semigroups/gap/elements/star.gd +21 -0
  102. gap/pkg/semigroups/gap/elements/star.gi +21 -0
  103. gap/pkg/semigroups/gap/elements/trans.gd +13 -0
  104. gap/pkg/semigroups/gap/elements/trans.gi +50 -0
  105. gap/pkg/semigroups/gap/fp/freeband.gd +22 -0
  106. gap/pkg/semigroups/gap/fp/freeband.gi +502 -0
  107. gap/pkg/semigroups/gap/fp/freeinverse.gd +30 -0
  108. gap/pkg/semigroups/gap/fp/freeinverse.gi +465 -0
  109. gap/pkg/semigroups/gap/fp/tietze.gd +89 -0
  110. gap/pkg/semigroups/gap/fp/tietze.gi +1578 -0
  111. gap/pkg/semigroups/gap/fp/word.gd +15 -0
  112. gap/pkg/semigroups/gap/fp/word.gi +67 -0
  113. gap/pkg/semigroups/gap/greens/acting-inverse.gi +774 -0
  114. gap/pkg/semigroups/gap/greens/acting-regular.gi +553 -0
  115. gap/pkg/semigroups/gap/greens/acting.gd +81 -0
  116. gap/pkg/semigroups/gap/greens/acting.gi +2433 -0
  117. gap/pkg/semigroups/gap/greens/froidure-pin.gd +25 -0
  118. gap/pkg/semigroups/gap/greens/froidure-pin.gi +741 -0
  119. gap/pkg/semigroups/gap/greens/generic.gd +117 -0
  120. gap/pkg/semigroups/gap/greens/generic.gi +630 -0
  121. gap/pkg/semigroups/gap/ideals/acting.gd +17 -0
  122. gap/pkg/semigroups/gap/ideals/acting.gi +1155 -0
  123. gap/pkg/semigroups/gap/ideals/froidure-pin.gd +11 -0
  124. gap/pkg/semigroups/gap/ideals/froidure-pin.gi +105 -0
  125. gap/pkg/semigroups/gap/ideals/ideals.gd +45 -0
  126. gap/pkg/semigroups/gap/ideals/ideals.gi +442 -0
  127. gap/pkg/semigroups/gap/ideals/lambda-rho.gd +16 -0
  128. gap/pkg/semigroups/gap/ideals/lambda-rho.gi +614 -0
  129. gap/pkg/semigroups/gap/libsemigroups/cong.gd +24 -0
  130. gap/pkg/semigroups/gap/libsemigroups/cong.gi +431 -0
  131. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gd +16 -0
  132. gap/pkg/semigroups/gap/libsemigroups/fpsemi.gi +53 -0
  133. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gd +17 -0
  134. gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gi +945 -0
  135. gap/pkg/semigroups/gap/libsemigroups/sims1.gd +38 -0
  136. gap/pkg/semigroups/gap/libsemigroups/sims1.gi +308 -0
  137. gap/pkg/semigroups/gap/main/acting.gd +36 -0
  138. gap/pkg/semigroups/gap/main/acting.gi +779 -0
  139. gap/pkg/semigroups/gap/main/froidure-pin.gd +72 -0
  140. gap/pkg/semigroups/gap/main/froidure-pin.gi +655 -0
  141. gap/pkg/semigroups/gap/main/graded.gd +26 -0
  142. gap/pkg/semigroups/gap/main/graded.gi +355 -0
  143. gap/pkg/semigroups/gap/main/lambda-rho.gd +29 -0
  144. gap/pkg/semigroups/gap/main/lambda-rho.gi +514 -0
  145. gap/pkg/semigroups/gap/main/orbits.gd +24 -0
  146. gap/pkg/semigroups/gap/main/orbits.gi +512 -0
  147. gap/pkg/semigroups/gap/main/semiact.gd +20 -0
  148. gap/pkg/semigroups/gap/main/semiact.gi +821 -0
  149. gap/pkg/semigroups/gap/main/setup.gd +61 -0
  150. gap/pkg/semigroups/gap/main/setup.gi +1094 -0
  151. gap/pkg/semigroups/gap/obsolete.gd +9 -0
  152. gap/pkg/semigroups/gap/obsolete.gi +14 -0
  153. gap/pkg/semigroups/gap/options.g +55 -0
  154. gap/pkg/semigroups/gap/semigroups/grpperm.gd +12 -0
  155. gap/pkg/semigroups/gap/semigroups/grpperm.gi +177 -0
  156. gap/pkg/semigroups/gap/semigroups/semibipart.gd +28 -0
  157. gap/pkg/semigroups/gap/semigroups/semibipart.gi +570 -0
  158. gap/pkg/semigroups/gap/semigroups/semiboolmat.gd +20 -0
  159. gap/pkg/semigroups/gap/semigroups/semiboolmat.gi +104 -0
  160. gap/pkg/semigroups/gap/semigroups/semicons.gd +52 -0
  161. gap/pkg/semigroups/gap/semigroups/semicons.gi +1194 -0
  162. gap/pkg/semigroups/gap/semigroups/semidp.gd +13 -0
  163. gap/pkg/semigroups/gap/semigroups/semidp.gi +509 -0
  164. gap/pkg/semigroups/gap/semigroups/semieunit.gd +126 -0
  165. gap/pkg/semigroups/gap/semigroups/semieunit.gi +889 -0
  166. gap/pkg/semigroups/gap/semigroups/semiex.gd +104 -0
  167. gap/pkg/semigroups/gap/semigroups/semiex.gi +1590 -0
  168. gap/pkg/semigroups/gap/semigroups/semiffmat.gd +37 -0
  169. gap/pkg/semigroups/gap/semigroups/semiffmat.gi +565 -0
  170. gap/pkg/semigroups/gap/semigroups/semifp.gd +28 -0
  171. gap/pkg/semigroups/gap/semigroups/semifp.gi +1364 -0
  172. gap/pkg/semigroups/gap/semigroups/semigraph.gd +40 -0
  173. gap/pkg/semigroups/gap/semigroups/semigraph.gi +292 -0
  174. gap/pkg/semigroups/gap/semigroups/semigrp.gd +165 -0
  175. gap/pkg/semigroups/gap/semigroups/semigrp.gi +1225 -0
  176. gap/pkg/semigroups/gap/semigroups/semimaxplus.gd +72 -0
  177. gap/pkg/semigroups/gap/semigroups/semimaxplus.gi +710 -0
  178. gap/pkg/semigroups/gap/semigroups/semintmat.gd +13 -0
  179. gap/pkg/semigroups/gap/semigroups/semintmat.gi +74 -0
  180. gap/pkg/semigroups/gap/semigroups/semipbr.gd +19 -0
  181. gap/pkg/semigroups/gap/semigroups/semipbr.gi +139 -0
  182. gap/pkg/semigroups/gap/semigroups/semipperm.gd +27 -0
  183. gap/pkg/semigroups/gap/semigroups/semipperm.gi +711 -0
  184. gap/pkg/semigroups/gap/semigroups/semiquo.gd +14 -0
  185. gap/pkg/semigroups/gap/semigroups/semiquo.gi +97 -0
  186. gap/pkg/semigroups/gap/semigroups/semiringmat.gd +16 -0
  187. gap/pkg/semigroups/gap/semigroups/semiringmat.gi +21 -0
  188. gap/pkg/semigroups/gap/semigroups/semirms.gd +19 -0
  189. gap/pkg/semigroups/gap/semigroups/semirms.gi +977 -0
  190. gap/pkg/semigroups/gap/semigroups/semitrans.gd +49 -0
  191. gap/pkg/semigroups/gap/semigroups/semitrans.gi +909 -0
  192. gap/pkg/semigroups/gap/tools/display.gd +24 -0
  193. gap/pkg/semigroups/gap/tools/display.gi +749 -0
  194. gap/pkg/semigroups/gap/tools/io.gd +17 -0
  195. gap/pkg/semigroups/gap/tools/io.gi +543 -0
  196. gap/pkg/semigroups/gap/tools/iterators.gd +16 -0
  197. gap/pkg/semigroups/gap/tools/iterators.gi +253 -0
  198. gap/pkg/semigroups/gap/tools/utils.gd +19 -0
  199. gap/pkg/semigroups/gap/tools/utils.gi +756 -0
  200. gap/pkg/semigroups/gapbind14/.ccls +18 -0
  201. gap/pkg/semigroups/gapbind14/.clang-format +104 -0
  202. gap/pkg/semigroups/gapbind14/CPPLINT.cfg +5 -0
  203. gap/pkg/semigroups/gapbind14/LICENSE +674 -0
  204. gap/pkg/semigroups/gapbind14/README.md +76 -0
  205. gap/pkg/semigroups/gapbind14/demo/.gitignore +4 -0
  206. gap/pkg/semigroups/gapbind14/demo/LICENSE +293 -0
  207. gap/pkg/semigroups/gapbind14/demo/Makefile.gappkg +220 -0
  208. gap/pkg/semigroups/gapbind14/demo/Makefile.in +19 -0
  209. gap/pkg/semigroups/gapbind14/demo/PackageInfo.g +87 -0
  210. gap/pkg/semigroups/gapbind14/demo/README.md +17 -0
  211. gap/pkg/semigroups/gapbind14/demo/configure +34 -0
  212. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gd +19 -0
  213. gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gi +10 -0
  214. gap/pkg/semigroups/gapbind14/demo/init.g +16 -0
  215. gap/pkg/semigroups/gapbind14/demo/makedoc.g +10 -0
  216. gap/pkg/semigroups/gapbind14/demo/read.g +6 -0
  217. gap/pkg/semigroups/gapbind14/demo/src/gapbind_demo.cc +142 -0
  218. gap/pkg/semigroups/gapbind14/demo/tst/testall.g +12 -0
  219. gap/pkg/semigroups/gapbind14/include/gapbind14/cpp_fn.hpp +223 -0
  220. gap/pkg/semigroups/gapbind14/include/gapbind14/gap_include.hpp +26 -0
  221. gap/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp +445 -0
  222. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_free_fn.hpp +420 -0
  223. gap/pkg/semigroups/gapbind14/include/gapbind14/tame_mem_fn.hpp +556 -0
  224. gap/pkg/semigroups/gapbind14/include/gapbind14/to_cpp.hpp +162 -0
  225. gap/pkg/semigroups/gapbind14/include/gapbind14/to_gap.hpp +158 -0
  226. gap/pkg/semigroups/gapbind14/src/.clang-format +108 -0
  227. gap/pkg/semigroups/gapbind14/src/gapbind14.cpp +334 -0
  228. gap/pkg/semigroups/init.g +150 -0
  229. gap/pkg/semigroups/m4/ax_append_flag.m4 +50 -0
  230. gap/pkg/semigroups/m4/ax_check_compile_flag.m4 +53 -0
  231. gap/pkg/semigroups/m4/ax_check_hpcombi.m4 +121 -0
  232. gap/pkg/semigroups/m4/ax_check_libsemigroup.m4 +68 -0
  233. gap/pkg/semigroups/m4/ax_compare_version.m4 +177 -0
  234. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx.m4 +1009 -0
  235. gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx_14.m4 +34 -0
  236. gap/pkg/semigroups/m4/ax_prefix_config_h.m4 +203 -0
  237. gap/pkg/semigroups/m4/ax_pthread.m4 +522 -0
  238. gap/pkg/semigroups/m4/find_gap.m4 +94 -0
  239. gap/pkg/semigroups/makedoc.g +153 -0
  240. gap/pkg/semigroups/prerequisites.sh +62 -0
  241. gap/pkg/semigroups/read.g +105 -0
  242. gap/pkg/semigroups/release.toml +6 -0
  243. gap/pkg/semigroups/tst/extreme/README +2 -0
  244. gap/pkg/semigroups/tst/extreme/attrinv.tst +703 -0
  245. gap/pkg/semigroups/tst/extreme/bipart.tst +2803 -0
  246. gap/pkg/semigroups/tst/extreme/closure.tst +652 -0
  247. gap/pkg/semigroups/tst/extreme/cong.tst +286 -0
  248. gap/pkg/semigroups/tst/extreme/conginv.tst +43 -0
  249. gap/pkg/semigroups/tst/extreme/examples.tst +2449 -0
  250. gap/pkg/semigroups/tst/extreme/freeband.tst +37 -0
  251. gap/pkg/semigroups/tst/extreme/greens-acting-regular.tst +27 -0
  252. gap/pkg/semigroups/tst/extreme/greens-acting.tst +1999 -0
  253. gap/pkg/semigroups/tst/extreme/ideals.tst +858 -0
  254. gap/pkg/semigroups/tst/extreme/inverse.tst +1025 -0
  255. gap/pkg/semigroups/tst/extreme/maximal.tst +856 -0
  256. gap/pkg/semigroups/tst/extreme/misc.tst +4236 -0
  257. gap/pkg/semigroups/tst/extreme/monoid_pkg.tst +1488 -0
  258. gap/pkg/semigroups/tst/extreme/properties.tst +914 -0
  259. gap/pkg/semigroups/tst/extreme/semibipart.tst +2837 -0
  260. gap/pkg/semigroups/tst/extreme/semieunit.tst +49 -0
  261. gap/pkg/semigroups/tst/extreme/semiffmat.tst +353 -0
  262. gap/pkg/semigroups/tst/extreme/semigroups.tst +245 -0
  263. gap/pkg/semigroups/tst/extreme/semiiter.tst +58 -0
  264. gap/pkg/semigroups/tst/extreme/semirms.tst +1091 -0
  265. gap/pkg/semigroups/tst/extreme/transform.tst +305 -0
  266. gap/pkg/semigroups/tst/extreme/translat.tst +44 -0
  267. gap/pkg/semigroups/tst/standard/README +2 -0
  268. gap/pkg/semigroups/tst/standard/attributes/acting.tst +388 -0
  269. gap/pkg/semigroups/tst/standard/attributes/attr.tst +2404 -0
  270. gap/pkg/semigroups/tst/standard/attributes/dual.tst +308 -0
  271. gap/pkg/semigroups/tst/standard/attributes/factor.tst +629 -0
  272. gap/pkg/semigroups/tst/standard/attributes/homomorph.tst +1134 -0
  273. gap/pkg/semigroups/tst/standard/attributes/inverse.tst +1521 -0
  274. gap/pkg/semigroups/tst/standard/attributes/isomorph.tst +435 -0
  275. gap/pkg/semigroups/tst/standard/attributes/isorms.tst +1147 -0
  276. gap/pkg/semigroups/tst/standard/attributes/maximal.tst +853 -0
  277. gap/pkg/semigroups/tst/standard/attributes/properties.tst +2028 -0
  278. gap/pkg/semigroups/tst/standard/attributes/semifp.tst +53 -0
  279. gap/pkg/semigroups/tst/standard/attributes/translat.tst +796 -0
  280. gap/pkg/semigroups/tst/standard/congruences/cong.tst +1044 -0
  281. gap/pkg/semigroups/tst/standard/congruences/conginv.tst +292 -0
  282. gap/pkg/semigroups/tst/standard/congruences/conglatt.tst +421 -0
  283. gap/pkg/semigroups/tst/standard/congruences/congpairs.tst +1011 -0
  284. gap/pkg/semigroups/tst/standard/congruences/congrees.tst +288 -0
  285. gap/pkg/semigroups/tst/standard/congruences/congrms.tst +701 -0
  286. gap/pkg/semigroups/tst/standard/congruences/congsemigraph.tst +422 -0
  287. gap/pkg/semigroups/tst/standard/congruences/congsimple.tst +311 -0
  288. gap/pkg/semigroups/tst/standard/congruences/conguniv.tst +259 -0
  289. gap/pkg/semigroups/tst/standard/congruences/congwordgraph.tst +330 -0
  290. gap/pkg/semigroups/tst/standard/elements/bipart.tst +783 -0
  291. gap/pkg/semigroups/tst/standard/elements/blocks.tst +166 -0
  292. gap/pkg/semigroups/tst/standard/elements/boolmat.tst +608 -0
  293. gap/pkg/semigroups/tst/standard/elements/elements.tst +117 -0
  294. gap/pkg/semigroups/tst/standard/elements/ffmat.tst +349 -0
  295. gap/pkg/semigroups/tst/standard/elements/maxplusmat.tst +613 -0
  296. gap/pkg/semigroups/tst/standard/elements/pbr.tst +506 -0
  297. gap/pkg/semigroups/tst/standard/elements/pperm.tst +32 -0
  298. gap/pkg/semigroups/tst/standard/elements/semiringmat.tst +601 -0
  299. gap/pkg/semigroups/tst/standard/elements/trans.tst +58 -0
  300. gap/pkg/semigroups/tst/standard/fp/freeband.tst +311 -0
  301. gap/pkg/semigroups/tst/standard/fp/freeinverse.tst +147 -0
  302. gap/pkg/semigroups/tst/standard/fp/tietze.tst +780 -0
  303. gap/pkg/semigroups/tst/standard/fp/word.tst +106 -0
  304. gap/pkg/semigroups/tst/standard/greens/acting-inverse.tst +545 -0
  305. gap/pkg/semigroups/tst/standard/greens/acting-regular.tst +396 -0
  306. gap/pkg/semigroups/tst/standard/greens/acting.tst +2033 -0
  307. gap/pkg/semigroups/tst/standard/greens/froidure-pin.tst +1831 -0
  308. gap/pkg/semigroups/tst/standard/greens/generic.tst +1436 -0
  309. gap/pkg/semigroups/tst/standard/ideals/acting.tst +279 -0
  310. gap/pkg/semigroups/tst/standard/ideals/froidure-pin.tst +178 -0
  311. gap/pkg/semigroups/tst/standard/ideals/ideals.tst +380 -0
  312. gap/pkg/semigroups/tst/standard/libsemigroups/cong.tst +310 -0
  313. gap/pkg/semigroups/tst/standard/libsemigroups/froidure-pin.tst +778 -0
  314. gap/pkg/semigroups/tst/standard/libsemigroups/sims1.tst +379 -0
  315. gap/pkg/semigroups/tst/standard/main/acting.tst +411 -0
  316. gap/pkg/semigroups/tst/standard/main/froidure-pin.tst +392 -0
  317. gap/pkg/semigroups/tst/standard/main/semiact.tst +203 -0
  318. gap/pkg/semigroups/tst/standard/main/setup.tst +1144 -0
  319. gap/pkg/semigroups/tst/standard/obsolete.tst +19 -0
  320. gap/pkg/semigroups/tst/standard/options.tst +54 -0
  321. gap/pkg/semigroups/tst/standard/semigroups/grpperm.tst +581 -0
  322. gap/pkg/semigroups/tst/standard/semigroups/semibipart.tst +2635 -0
  323. gap/pkg/semigroups/tst/standard/semigroups/semiboolmat.tst +1871 -0
  324. gap/pkg/semigroups/tst/standard/semigroups/semicons.tst +1173 -0
  325. gap/pkg/semigroups/tst/standard/semigroups/semidp.tst +739 -0
  326. gap/pkg/semigroups/tst/standard/semigroups/semieunit.tst +339 -0
  327. gap/pkg/semigroups/tst/standard/semigroups/semiex.tst +2055 -0
  328. gap/pkg/semigroups/tst/standard/semigroups/semiffmat.tst +746 -0
  329. gap/pkg/semigroups/tst/standard/semigroups/semifp.tst +2702 -0
  330. gap/pkg/semigroups/tst/standard/semigroups/semigraph.tst +133 -0
  331. gap/pkg/semigroups/tst/standard/semigroups/semigrp.tst +1112 -0
  332. gap/pkg/semigroups/tst/standard/semigroups/semimaxplus.tst +654 -0
  333. gap/pkg/semigroups/tst/standard/semigroups/semipbr.tst +2142 -0
  334. gap/pkg/semigroups/tst/standard/semigroups/semipperm.tst +2169 -0
  335. gap/pkg/semigroups/tst/standard/semigroups/semiquo.tst +278 -0
  336. gap/pkg/semigroups/tst/standard/semigroups/semirms.tst +3010 -0
  337. gap/pkg/semigroups/tst/standard/semigroups/semitrans.tst +2758 -0
  338. gap/pkg/semigroups/tst/standard/tools/display.tst +1040 -0
  339. gap/pkg/semigroups/tst/standard/tools/io.tst +363 -0
  340. gap/pkg/semigroups/tst/testinstall.tst +1815 -0
  341. gap/pkg/semigroups/tst/teststandard.g +22 -0
  342. gap/pkg/semigroups/tst/workspaces/load-workspace.tst +142 -0
  343. gap/pkg/semigroups/tst/workspaces/load.g +11 -0
  344. gap/pkg/semigroups/tst/workspaces/save-workspace.tst +166 -0
  345. gap/pkg/semigroups/tst/workspaces/save.g +14 -0
  346. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA +93 -0
  347. passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA.bak +94 -0
  348. passagemath_gap_pkg_semigroups-10.6.30.dist-info/RECORD +354 -0
  349. passagemath_gap_pkg_semigroups-10.6.30.dist-info/WHEEL +6 -0
  350. passagemath_gap_pkg_semigroups-10.6.30.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.dylibs/libsemigroups.2.dylib +0 -0
  352. sage/all__sagemath_gap_pkg_semigroups.py +1 -0
  353. sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
  354. sage/libs/gap_pkg_semigroups.cpython-311-darwin.so +0 -0
@@ -0,0 +1,313 @@
1
+ ############################################################################
2
+ ##
3
+ ## congruences/congrees.gi
4
+ ## Copyright (C) 2015-2022 Michael C. Young
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+ ## This file contains methods for Rees congruences; i.e. semigroup congruences
11
+ ## defined by a two-sided ideal. See Howie 1.7
12
+ ##
13
+
14
+ #############################################################################
15
+ # Testers + fundamental representation specific attributes
16
+ #############################################################################
17
+
18
+ # The following requires CanComputeEquivalenceRelationPartition, because
19
+ # otherwise, it applies to other congruences, which don't have a method for
20
+ # NrEquivalenceClasses.
21
+
22
+ InstallMethod(IsReesCongruence, "for a semigroup congruence",
23
+ [CanComputeEquivalenceRelationPartition],
24
+ 9, # to beat the library method
25
+ function(C)
26
+ local S, classes, nontrivial, i, class, I;
27
+ if not IsSemigroupCongruence(C) then
28
+ return false;
29
+ fi;
30
+ # This function is adapted from code in the library
31
+ S := Range(C);
32
+ if NrEquivalenceClasses(C) = Size(S) then
33
+ # Trivial congruence - only possible I is zero
34
+ if MultiplicativeZero(S) <> fail then
35
+ SetSemigroupIdealOfReesCongruence(C, MinimalIdeal(S));
36
+ return true;
37
+ else
38
+ return false;
39
+ fi;
40
+ else
41
+ # Search for non-trivial classes
42
+ classes := EquivalenceClasses(C);
43
+ nontrivial := 0;
44
+ for i in [1 .. Length(classes)] do
45
+ if Size(classes[i]) > 1 then
46
+ if nontrivial = 0 then
47
+ nontrivial := i;
48
+ else
49
+ # Two non-trivial classes
50
+ return false;
51
+ fi;
52
+ fi;
53
+ od;
54
+
55
+ # Only one non-trivial class - check it is an I
56
+ class := classes[nontrivial];
57
+ I := SemigroupIdeal(S, AsList(class));
58
+ if Size(class) = Size(I) then
59
+ SetSemigroupIdealOfReesCongruence(C, I);
60
+ return true;
61
+ else
62
+ return false;
63
+ fi;
64
+ fi;
65
+ end);
66
+
67
+ InstallMethod(ReesCongruenceOfSemigroupIdeal, "for a semigroup ideal",
68
+ [IsSemigroupIdeal],
69
+ function(I)
70
+ local S, fam, type, C;
71
+ S := Parent(I);
72
+ # Construct the object
73
+ fam := GeneralMappingsFamily(ElementsFamily(FamilyObj(S)),
74
+ ElementsFamily(FamilyObj(S)));
75
+ type := NewType(fam,
76
+ IsSemigroupCongruence
77
+ and IsMagmaCongruence
78
+ and IsAttributeStoringRep
79
+ and CanComputeEquivalenceRelationPartition);
80
+ C := Objectify(type, rec());
81
+ # Set some attributes
82
+ SetSource(C, S);
83
+ SetRange(C, S);
84
+ SetSemigroupIdealOfReesCongruence(C, I);
85
+ SetIsReesCongruence(C, true);
86
+ return C;
87
+ end);
88
+
89
+ InstallMethod(AsSemigroupCongruenceByGeneratingPairs, "for a Rees congruence",
90
+ [IsReesCongruence],
91
+ function(C)
92
+ local S, gens, min, pairs, y, x;
93
+ S := Range(C);
94
+ gens := MinimalIdealGeneratingSet(SemigroupIdealOfReesCongruence(C));
95
+ min := MinimalIdeal(S);
96
+ pairs := [];
97
+ C := SemigroupCongruence(S, pairs);
98
+ for y in min do
99
+ for x in gens do
100
+ if not [x, y] in C then
101
+ Add(pairs, [x, y]);
102
+ C := SemigroupCongruence(S, pairs);
103
+ fi;
104
+ od;
105
+ od;
106
+ return C;
107
+ end);
108
+
109
+ InstallMethod(GeneratingPairsOfMagmaCongruence, "for a Rees congruence",
110
+ [IsReesCongruence],
111
+ function(C)
112
+ C := AsSemigroupCongruenceByGeneratingPairs(C);
113
+ return GeneratingPairsOfSemigroupCongruence(C);
114
+ end);
115
+
116
+ InstallMethod(ViewObj, "for a Rees congruence",
117
+ [IsReesCongruence],
118
+ function(C)
119
+ Print("<Rees congruence of ");
120
+ ViewObj(SemigroupIdealOfReesCongruence(C));
121
+ Print(" over ");
122
+ ViewObj(Range(C));
123
+ Print(">");
124
+ end);
125
+
126
+ InstallMethod(PrintObj, "for a Rees congruence",
127
+ [IsReesCongruence],
128
+ function(C)
129
+ Print("ReesCongruenceOfSemigroupIdeal( ");
130
+ Print(SemigroupIdealOfReesCongruence(C));
131
+ Print(" )");
132
+ end);
133
+
134
+ #############################################################################
135
+ # The mandatory things that must be implemented for
136
+ # congruences belonging to CanComputeEquivalenceRelationPartition
137
+ #############################################################################
138
+
139
+ InstallMethod(EquivalenceRelationPartition, "for a Rees congruence",
140
+ [IsReesCongruence], C -> [AsList(SemigroupIdealOfReesCongruence(C))]);
141
+
142
+ InstallMethod(ImagesElm,
143
+ "for a Rees congruence and a multiplicative element",
144
+ [IsReesCongruence, IsMultiplicativeElement],
145
+ function(C, x)
146
+ if not x in Range(C) then
147
+ ErrorNoReturn("the 2nd argument (a mult. elt.) does not belong to ",
148
+ "the range of the 1st argument (a Rees congruence)");
149
+ elif x in SemigroupIdealOfReesCongruence(C) then
150
+ return Elements(SemigroupIdealOfReesCongruence(C));
151
+ else
152
+ return [x];
153
+ fi;
154
+ end);
155
+
156
+ InstallMethod(CongruenceTestMembershipNC,
157
+ "for Rees congruence and two multiplicative elements",
158
+ [IsReesCongruence, IsMultiplicativeElement, IsMultiplicativeElement],
159
+ function(C, lhop, rhop)
160
+ local I;
161
+ I := SemigroupIdealOfReesCongruence(C);
162
+ return (lhop = rhop) or (lhop in I and rhop in I);
163
+ end);
164
+
165
+ ########################################################################
166
+ # The non-mandatory things where we have a superior method for this particular
167
+ # representation.
168
+ ########################################################################
169
+
170
+ ########################################################################
171
+ # Operators
172
+ ########################################################################
173
+
174
+ InstallMethod(\=, "for two Rees congruences",
175
+ [IsReesCongruence, IsReesCongruence],
176
+ function(lhop, rhop)
177
+ return SemigroupIdealOfReesCongruence(lhop) =
178
+ SemigroupIdealOfReesCongruence(rhop);
179
+ end);
180
+
181
+ InstallMethod(IsSubrelation, "for two Rees congruences",
182
+ [IsReesCongruence, IsReesCongruence],
183
+ function(lhop, rhop)
184
+ local I1, I2;
185
+ # Tests whether rhop is a subcongruence of lhop
186
+ if Range(lhop) <> Range(rhop) then
187
+ Error("the 1st and 2nd arguments are congruences over different",
188
+ " semigroups");
189
+ fi;
190
+ I1 := SemigroupIdealOfReesCongruence(lhop);
191
+ I2 := SemigroupIdealOfReesCongruence(rhop);
192
+ return ForAll(GeneratorsOfSemigroupIdeal(I2), gen -> gen in I1);
193
+ end);
194
+
195
+ InstallMethod(JoinSemigroupCongruences, "for two Rees congruences",
196
+ [IsReesCongruence, IsReesCongruence],
197
+ function(lhop, rhop)
198
+ local gens1, gens2, I;
199
+ if Range(lhop) <> Range(rhop) then
200
+ Error("cannot form the join of congruences over different semigroups");
201
+ fi;
202
+ gens1 := GeneratorsOfSemigroupIdeal(SemigroupIdealOfReesCongruence(lhop));
203
+ gens2 := GeneratorsOfSemigroupIdeal(SemigroupIdealOfReesCongruence(rhop));
204
+ I := SemigroupIdeal(Range(lhop), Concatenation(gens1, gens2));
205
+ I := SemigroupIdeal(Range(lhop), MinimalIdealGeneratingSet(I));
206
+ return ReesCongruenceOfSemigroupIdeal(I);
207
+ end);
208
+
209
+ ########################################################################
210
+ # Equivalence classes
211
+ ########################################################################
212
+
213
+ InstallMethod(NrEquivalenceClasses, "for a Rees congruence",
214
+ [IsReesCongruence],
215
+ C -> Size(Range(C)) - Size(SemigroupIdealOfReesCongruence(C)) + 1);
216
+
217
+ InstallMethod(EquivalenceClasses, "for a Rees congruence", [IsReesCongruence],
218
+ function(C)
219
+ local classes, I, next, x;
220
+ classes := EmptyPlist(NrEquivalenceClasses(C));
221
+ I := SemigroupIdealOfReesCongruence(C);
222
+ classes[1] := EquivalenceClassOfElementNC(C, I.1);
223
+ next := 2;
224
+ for x in Range(C) do
225
+ if not (x in I) then
226
+ classes[next] := EquivalenceClassOfElementNC(C, x);
227
+ next := next + 1;
228
+ fi;
229
+ od;
230
+ return classes;
231
+ end);
232
+
233
+ InstallMethod(NonTrivialEquivalenceClasses, "for a Rees congruence",
234
+ [IsReesCongruence],
235
+ function(C)
236
+ local I;
237
+ I := SemigroupIdealOfReesCongruence(C);
238
+ if Size(I) = 1 then
239
+ return [];
240
+ fi;
241
+ return [EquivalenceClassOfElementNC(C, I.1)];
242
+ end);
243
+
244
+ InstallMethod(EquivalenceClassOfElementNC,
245
+ "for a Rees congruence and a multiplicative element",
246
+ [IsReesCongruence, IsMultiplicativeElement],
247
+ function(C, x)
248
+ local is_ideal_class, fam, class;
249
+ # Ensure consistency of representatives
250
+ if x in SemigroupIdealOfReesCongruence(C) then
251
+ is_ideal_class := true;
252
+ x := SemigroupIdealOfReesCongruence(C).1;
253
+ else
254
+ is_ideal_class := false;
255
+ fi;
256
+
257
+ # Construct the object
258
+ fam := CollectionsFamily(FamilyObj(x));
259
+ class := Objectify(NewType(fam,
260
+ IsReesCongruenceClass
261
+ and IsLeftRightOrTwoSidedCongruenceClass),
262
+ rec());
263
+ if is_ideal_class then
264
+ SetSize(class, Size(SemigroupIdealOfReesCongruence(C)));
265
+ else
266
+ SetSize(class, 1);
267
+ fi;
268
+ SetParentAttr(class, Range(C));
269
+ SetEquivalenceClassRelation(class, C);
270
+ SetRepresentative(class, x);
271
+ return class;
272
+ end);
273
+
274
+ ########################################################################
275
+ # Operators for classes
276
+ ########################################################################
277
+
278
+ InstallMethod(\*, "for two Rees congruence classes",
279
+ [IsReesCongruenceClass, IsReesCongruenceClass],
280
+ function(lhop, rhop)
281
+ if EquivalenceClassRelation(lhop) <> EquivalenceClassRelation(rhop) then
282
+ ErrorNoReturn("the arguments (cong. classes) are not classes of the same ",
283
+ "congruence");
284
+ elif Size(lhop) > 1 then
285
+ return lhop;
286
+ elif Size(rhop) > 1 then
287
+ return rhop;
288
+ fi;
289
+ return EquivalenceClassOfElementNC(EquivalenceClassRelation(lhop),
290
+ Representative(lhop) *
291
+ Representative(rhop));
292
+ end);
293
+
294
+ InstallMethod(\=, "for two Rees congruence classes",
295
+ [IsReesCongruenceClass, IsReesCongruenceClass],
296
+ function(lhop, rhop)
297
+ return EquivalenceClassRelation(lhop) = EquivalenceClassRelation(rhop)
298
+ and (Representative(lhop) = Representative(rhop))
299
+ or (Size(lhop) > 1 and Size(rhop) > 1);
300
+ end);
301
+
302
+ InstallMethod(\in,
303
+ "for a multiplicative element and a Rees congruence class",
304
+ [IsMultiplicativeElement, IsReesCongruenceClass],
305
+ function(x, class)
306
+ local rel;
307
+ if Size(class) > 1 then
308
+ rel := EquivalenceClassRelation(class);
309
+ return x in SemigroupIdealOfReesCongruence(rel);
310
+ else
311
+ return x = Representative(class);
312
+ fi;
313
+ end);
@@ -0,0 +1,54 @@
1
+ ############################################################################
2
+ ##
3
+ ## congruences/congrms.gd
4
+ ## Copyright (C) 2015-2022 Michael C. Young
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ #############################################################################
9
+ ##
10
+ ## This file contains methods for congruences on finite (0-)simple Rees
11
+ ## (0-)matrix semigroups, using linked triples. See Howie 3.5-6, and see
12
+ ## MT's reports "Computing with Congruences on Finite 0-Simple Semigroups"
13
+ ## and MSc thesis "Computing with Semigroup Congruences" chapter 3.
14
+ ##
15
+
16
+ DeclareCategory("IsRMSOrRZMSCongruenceByLinkedTriple",
17
+ IsSemigroupCongruence
18
+ and IsMagmaCongruence
19
+ and CanComputeEquivalenceRelationPartition
20
+ and IsAttributeStoringRep
21
+ and IsFinite);
22
+
23
+ # Congruences by linked triple
24
+ DeclareCategory("IsRMSCongruenceByLinkedTriple",
25
+ IsRMSOrRZMSCongruenceByLinkedTriple);
26
+ DeclareCategory("IsRZMSCongruenceByLinkedTriple",
27
+ IsRMSOrRZMSCongruenceByLinkedTriple);
28
+
29
+ DeclareOperation("IsLinkedTriple",
30
+ [IsSemigroup, IsGroup, IsDenseList, IsDenseList]);
31
+ DeclareGlobalFunction("RMSCongruenceByLinkedTriple");
32
+ DeclareGlobalFunction("RMSCongruenceByLinkedTripleNC");
33
+ DeclareGlobalFunction("RZMSCongruenceByLinkedTriple");
34
+ DeclareGlobalFunction("RZMSCongruenceByLinkedTripleNC");
35
+
36
+ # Congruence Classes
37
+ DeclareCategory("IsRMSCongruenceClassByLinkedTriple",
38
+ IsLeftRightOrTwoSidedCongruenceClass and IsCongruenceClass and
39
+ IsAttributeStoringRep and IsAssociativeElement);
40
+ DeclareCategory("IsRZMSCongruenceClassByLinkedTriple",
41
+ IsLeftRightOrTwoSidedCongruenceClass and IsCongruenceClass and
42
+ IsAttributeStoringRep and IsAssociativeElement);
43
+ DeclareOperation("RMSCongruenceClassByLinkedTriple",
44
+ [IsRMSCongruenceByLinkedTriple,
45
+ IsRightCoset, IsPosInt, IsPosInt]);
46
+ DeclareOperation("RZMSCongruenceClassByLinkedTriple",
47
+ [IsRZMSCongruenceByLinkedTriple,
48
+ IsRightCoset, IsPosInt, IsPosInt]);
49
+ DeclareOperation("RMSCongruenceClassByLinkedTripleNC",
50
+ [IsRMSCongruenceByLinkedTriple,
51
+ IsRightCoset, IsPosInt, IsPosInt]);
52
+ DeclareOperation("RZMSCongruenceClassByLinkedTripleNC",
53
+ [IsRZMSCongruenceByLinkedTriple,
54
+ IsRightCoset, IsPosInt, IsPosInt]);