passagemath-gap-pkg-semigroups 10.6.29__cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_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 (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/x86_64-pc-linux-gnu-default64-kv10/semigroups.so +0 -0
  15. gap/pkg/semigroups/config.guess +1807 -0
  16. gap/pkg/semigroups/config.log +1069 -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 +354 -0
  349. passagemath_gap_pkg_semigroups-10.6.29.dist-info/WHEEL +6 -0
  350. passagemath_gap_pkg_semigroups-10.6.29.dist-info/top_level.txt +1 -0
  351. passagemath_gap_pkg_semigroups.libs/libsemigroups-6be12ad2.so.2.0.0 +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,21 @@
1
+ ############################################################################
2
+ ##
3
+ ## congruences/congpairs.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 functions for any semigroup congruence with generating
11
+ ## pairs; regardless of representation.
12
+
13
+ DeclareAttribute("GeneratingPairsOfLeftRightOrTwoSidedCongruence",
14
+ IsLeftRightOrTwoSidedCongruence);
15
+
16
+ DeclareOperation("AsSemigroupCongruenceByGeneratingPairs",
17
+ [IsSemigroupCongruence]);
18
+ DeclareOperation("AsRightSemigroupCongruenceByGeneratingPairs",
19
+ [IsRightSemigroupCongruence]);
20
+ DeclareOperation("AsLeftSemigroupCongruenceByGeneratingPairs",
21
+ [IsLeftSemigroupCongruence]);
@@ -0,0 +1,272 @@
1
+ ############################################################################
2
+ ##
3
+ ## congruences/congpairs.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
+ #############################################################################
11
+ ## This file contains functions for any congruence of a semigroup with
12
+ ## generating pairs, regardless of representation.
13
+ #############################################################################
14
+
15
+ InstallImmediateMethod(GeneratingPairsOfLeftRightOrTwoSidedCongruence,
16
+ IsMagmaCongruence and IsSemigroupCongruence
17
+ and HasGeneratingPairsOfMagmaCongruence,
18
+ 0,
19
+ GeneratingPairsOfMagmaCongruence);
20
+
21
+ InstallImmediateMethod(GeneratingPairsOfLeftRightOrTwoSidedCongruence,
22
+ IsLeftMagmaCongruence and IsLeftSemigroupCongruence
23
+ and HasGeneratingPairsOfLeftMagmaCongruence,
24
+ 0,
25
+ GeneratingPairsOfLeftMagmaCongruence);
26
+
27
+ InstallImmediateMethod(GeneratingPairsOfLeftRightOrTwoSidedCongruence,
28
+ IsRightMagmaCongruence and IsRightSemigroupCongruence
29
+ and HasGeneratingPairsOfRightMagmaCongruence,
30
+ 0,
31
+ GeneratingPairsOfRightMagmaCongruence);
32
+
33
+ BindGlobal("SEMIGROUPS_ImmediateNoGeneratingPairs",
34
+ function(C)
35
+ if IsEmpty(GeneratingPairsOfMagmaCongruence(C)) then
36
+ return [];
37
+ fi;
38
+ TryNextMethod();
39
+ end);
40
+
41
+ InstallImmediateMethod(GeneratingPairsOfLeftMagmaCongruence,
42
+ IsMagmaCongruence and IsSemigroupCongruence
43
+ and HasGeneratingPairsOfMagmaCongruence,
44
+ 0,
45
+ SEMIGROUPS_ImmediateNoGeneratingPairs);
46
+
47
+ InstallImmediateMethod(GeneratingPairsOfRightMagmaCongruence,
48
+ IsMagmaCongruence and IsSemigroupCongruence
49
+ and HasGeneratingPairsOfMagmaCongruence,
50
+ 0,
51
+ SEMIGROUPS_ImmediateNoGeneratingPairs);
52
+
53
+ # Some types of congruences (such as CongruenceByKernelAndTrace) do not know
54
+ # their generating pairs by default, and hence we require the following methods
55
+ # in addition to the immediate methods above.
56
+
57
+ InstallMethod(GeneratingPairsOfLeftRightOrTwoSidedCongruence,
58
+ "for a right semigroup congruence",
59
+ [IsRightSemigroupCongruence],
60
+ GeneratingPairsOfRightMagmaCongruence);
61
+
62
+ InstallMethod(GeneratingPairsOfLeftRightOrTwoSidedCongruence,
63
+ "for a left semigroup congruence",
64
+ [IsLeftSemigroupCongruence],
65
+ GeneratingPairsOfLeftMagmaCongruence);
66
+
67
+ InstallMethod(GeneratingPairsOfLeftRightOrTwoSidedCongruence,
68
+ "for a semigroup congruence",
69
+ [IsSemigroupCongruence],
70
+ GeneratingPairsOfMagmaCongruence);
71
+
72
+ InstallMethod(AsSemigroupCongruenceByGeneratingPairs,
73
+ "for semigroup congruence",
74
+ [IsSemigroupCongruence],
75
+ function(C)
76
+ local S, pairs;
77
+ S := Range(C);
78
+ pairs := GeneratingPairsOfMagmaCongruence(C);
79
+ return SemigroupCongruenceByGeneratingPairs(S, pairs);
80
+ end);
81
+
82
+ InstallMethod(AsRightSemigroupCongruenceByGeneratingPairs,
83
+ "for a right semigroup congruence",
84
+ [IsRightSemigroupCongruence],
85
+ function(C)
86
+ local S, pairs;
87
+ S := Range(C);
88
+ pairs := GeneratingPairsOfRightMagmaCongruence(C);
89
+ return RightSemigroupCongruenceByGeneratingPairs(S, pairs);
90
+ end);
91
+
92
+ InstallMethod(AsLeftSemigroupCongruenceByGeneratingPairs,
93
+ "for a left semigroup congruence",
94
+ [IsLeftSemigroupCongruence],
95
+ function(C)
96
+ local S, pairs;
97
+ S := Range(C);
98
+ pairs := GeneratingPairsOfLeftMagmaCongruence(C);
99
+ return LeftSemigroupCongruenceByGeneratingPairs(S, pairs);
100
+ end);
101
+
102
+ #############################################################################
103
+ # Properties of congruences
104
+ #############################################################################
105
+
106
+ InstallMethod(IsRightSemigroupCongruence,
107
+ "for a left semigroup congruence with known generating pairs",
108
+ [IsLeftSemigroupCongruence and HasGeneratingPairsOfLeftMagmaCongruence],
109
+ function(congl)
110
+ local pairs, cong2;
111
+ # Is this left congruence right-compatible?
112
+ # First, create the 2-sided congruence generated by these pairs.
113
+ pairs := GeneratingPairsOfLeftMagmaCongruence(congl);
114
+ cong2 := SemigroupCongruence(Range(congl), pairs);
115
+
116
+ # congl is right-compatible iff these describe the same relation
117
+ if congl = cong2 then
118
+ SetGeneratingPairsOfMagmaCongruence(congl, pairs);
119
+ SetIsSemigroupCongruence(congl, true);
120
+ return true;
121
+ else
122
+ SetIsSemigroupCongruence(congl, false);
123
+ return false;
124
+ fi;
125
+ end);
126
+
127
+ InstallMethod(IsLeftSemigroupCongruence,
128
+ "for a right semigroup congruence with known generating pairs",
129
+ [IsRightSemigroupCongruence and HasGeneratingPairsOfRightMagmaCongruence],
130
+ function(congr)
131
+ local pairs, cong2;
132
+ # Is this right congruence left-compatible?
133
+ # First, create the 2-sided congruence generated by these pairs.
134
+ pairs := GeneratingPairsOfRightMagmaCongruence(congr);
135
+ cong2 := SemigroupCongruence(Range(congr), pairs);
136
+
137
+ # congr is left-compatible iff these describe the same relation
138
+ if congr = cong2 then
139
+ SetGeneratingPairsOfMagmaCongruence(congr, pairs);
140
+ SetIsSemigroupCongruence(congr, true);
141
+ return true;
142
+ else
143
+ SetIsSemigroupCongruence(congr, false);
144
+ return false;
145
+ fi;
146
+ end);
147
+
148
+ InstallMethod(IsSemigroupCongruence,
149
+ "for a left semigroup congruence with known generating pairs",
150
+ [IsLeftSemigroupCongruence and HasGeneratingPairsOfLeftMagmaCongruence],
151
+ IsRightSemigroupCongruence);
152
+
153
+ # The method below matches more than one declaration of IsSemigroupCongruence,
154
+ # hence the Other
155
+ InstallOtherMethod(IsSemigroupCongruence,
156
+ "for a right semigroup congruence with known generating pairs",
157
+ [IsRightSemigroupCongruence and HasGeneratingPairsOfRightMagmaCongruence],
158
+ IsLeftSemigroupCongruence);
159
+
160
+ #############################################################################
161
+ # Printing and viewing of congruences
162
+ #############################################################################
163
+
164
+ InstallMethod(PrintObj,
165
+ "for left, right, or 2-sided congruences with known generating pairs",
166
+ [IsLeftRightOrTwoSidedCongruence
167
+ and HasGeneratingPairsOfLeftRightOrTwoSidedCongruence],
168
+ 10,
169
+ function(C)
170
+ local string;
171
+ if not IsMagmaCongruence(C) then
172
+ # Don't need to check IsSemigroupCongruence because we check
173
+ # IsLeftRightOrTwoSidedCongruence above.
174
+ string := ShallowCopy(CongruenceHandednessString(C));
175
+ string[1] := UppercaseChar(string[1]);
176
+ else
177
+ string := "";
178
+ fi;
179
+
180
+ Print(string, "SemigroupCongruence( ");
181
+ PrintObj(Range(C));
182
+ Print(", ");
183
+ Print(GeneratingPairsOfLeftRightOrTwoSidedCongruence(C));
184
+ Print(" )");
185
+ end);
186
+
187
+ InstallMethod(ViewObj,
188
+ "for left, right, or 2-sided congruences with known generating pairs",
189
+ [IsLeftRightOrTwoSidedCongruence
190
+ and HasGeneratingPairsOfLeftRightOrTwoSidedCongruence],
191
+ 9, # to beat the library method
192
+ function(C)
193
+ Print("<", CongruenceHandednessString(C), " semigroup congruence over ");
194
+ ViewObj(Range(C));
195
+ Print(" with ",
196
+ Size(GeneratingPairsOfLeftRightOrTwoSidedCongruence(C)),
197
+ " generating pairs>");
198
+ end);
199
+
200
+ ########################################################################
201
+ # Comparison operators
202
+ ########################################################################
203
+
204
+ InstallMethod(\=,
205
+ "for left, right, or 2-sided congruences with known generating pairs",
206
+ [IsLeftRightOrTwoSidedCongruence and
207
+ HasGeneratingPairsOfLeftRightOrTwoSidedCongruence,
208
+ IsLeftRightOrTwoSidedCongruence and
209
+ HasGeneratingPairsOfLeftRightOrTwoSidedCongruence],
210
+ function(lhop, rhop)
211
+ local lpairs, rpairs;
212
+ if CongruenceHandednessString(lhop) <> CongruenceHandednessString(rhop) then
213
+ TryNextMethod();
214
+ fi;
215
+
216
+ lpairs := GeneratingPairsOfLeftRightOrTwoSidedCongruence(lhop);
217
+ rpairs := GeneratingPairsOfLeftRightOrTwoSidedCongruence(rhop);
218
+ return Range(lhop) = Range(rhop)
219
+ and ForAll(lpairs, x -> x in rhop)
220
+ and ForAll(rpairs, x -> x in lhop);
221
+ end);
222
+
223
+ ########################################################################
224
+ # Algebraic operators
225
+ ########################################################################
226
+
227
+ BindGlobal("_JoinLeftRightOrTwoSidedCongruences",
228
+ function(XSemigroupCongruence, GeneratingPairsOfXCongruence, lhop, rhop)
229
+ local pairs;
230
+ if Range(lhop) <> Range(rhop) then
231
+ ErrorNoReturn("cannot form the join of congruences over ",
232
+ "different semigroups");
233
+ elif lhop = rhop then
234
+ return lhop;
235
+ fi;
236
+ pairs := Concatenation(GeneratingPairsOfXCongruence(lhop),
237
+ GeneratingPairsOfXCongruence(rhop));
238
+ return XSemigroupCongruence(Range(lhop), pairs);
239
+ end);
240
+
241
+ InstallMethod(JoinSemigroupCongruences,
242
+ "for a semigroup congruence with known generating pairs",
243
+ [IsSemigroupCongruence and HasGeneratingPairsOfMagmaCongruence,
244
+ IsSemigroupCongruence and HasGeneratingPairsOfMagmaCongruence],
245
+ function(lhop, rhop)
246
+ return _JoinLeftRightOrTwoSidedCongruences(SemigroupCongruence,
247
+ GeneratingPairsOfMagmaCongruence,
248
+ lhop,
249
+ rhop);
250
+ end);
251
+
252
+ InstallMethod(JoinLeftSemigroupCongruences,
253
+ "for a left semigroup congruence with known generating pairs",
254
+ [IsLeftSemigroupCongruence and HasGeneratingPairsOfLeftMagmaCongruence,
255
+ IsLeftSemigroupCongruence and HasGeneratingPairsOfLeftMagmaCongruence],
256
+ function(lhop, rhop)
257
+ return _JoinLeftRightOrTwoSidedCongruences(LeftSemigroupCongruence,
258
+ GeneratingPairsOfLeftMagmaCongruence,
259
+ lhop,
260
+ rhop);
261
+ end);
262
+
263
+ InstallMethod(JoinRightSemigroupCongruences,
264
+ "for a right semigroup congruence with known generating pairs",
265
+ [IsRightSemigroupCongruence and HasGeneratingPairsOfRightMagmaCongruence,
266
+ IsRightSemigroupCongruence and HasGeneratingPairsOfRightMagmaCongruence],
267
+ function(lhop, rhop)
268
+ return _JoinLeftRightOrTwoSidedCongruences(RightSemigroupCongruence,
269
+ GeneratingPairsOfRightMagmaCongruence,
270
+ lhop,
271
+ rhop);
272
+ end);
@@ -0,0 +1,90 @@
1
+ ############################################################################
2
+ ##
3
+ ## congruences/congpart.gd
4
+ ## Copyright (C) 2022 James D. Mitchell
5
+ ##
6
+ ## Licensing information can be found in the README file of this package.
7
+ ##
8
+ ############################################################################
9
+ ##
10
+ ## This file contains declarations for left, right, and two-sided congruences
11
+ ## that can compute EquivalenceRelationPartition.
12
+
13
+ ###############################################################################
14
+ ###############################################################################
15
+ # The following are the fundamental attributes for a congruence in
16
+ # CanComputeEquivalenceRelationPartition. If defining a new type of congruence
17
+ # in this representation it is necessary to provide methods for the following:
18
+ #
19
+ # * one or both of EquivalenceRelationPartitionWithSingletons or
20
+ # EquivalenceRelationPartition (for congruences whose source/range is infinite,
21
+ # or otherwise when it is more convenient).
22
+ # * ImagesElm (for the calculation of the elements of an equivalence class)
23
+ # * CongruenceTestMembershipNC
24
+ #
25
+ # If the equivalence classes of a congruence have their own representation
26
+ # (because they too have better methods than the default ones), then it is also
27
+ # necessary to implement a method for:
28
+ #
29
+ # * EquivalenceClassOfElementNC.
30
+ #
31
+ # If the congruence is not natively implemented in terms of generating pairs,
32
+ # then it is also useful to provide methods for:
33
+ #
34
+ # * GeneratingPairsOfLeft/Right/MagmaCongruence
35
+ # * Left/Right/SemigroupCongruenceByGeneratingPairs
36
+ #
37
+ # to allow for conversion of the representation.
38
+ #
39
+ # The following attributes can be computed (by default, if no better
40
+ # method is known) from the EquivalenceRelationPartitionWithSingletons:
41
+ #
42
+ # * EquivalenceRelationPartition (if not implemented above)
43
+ # * EquivalenceRelationPartitionWithSingletons (if not implemented above)
44
+ # * EquivalenceRelationLookup
45
+ # * EquivalenceRelationCanonicalLookup
46
+ # * EquivalenceRelationCanonicalPartition
47
+ # * NonTrivialEquivalenceClasses
48
+ # * EquivalenceClasses
49
+ #
50
+ # If a congruence <C> knows its generating pairs, knows its source/range,
51
+ # CanUseFroidurePin(Range(C)) is true, and HasGeneratorsOfSemigroup(Range(C))
52
+ # is true, then <C> automatically satisfies CanUseLibsemigroupsCongruence
53
+ # (which is implies CanComputeEquivalenceRelationPartition). In this case the
54
+ # generating pairs are used to construct a libsemigroups Congruence object
55
+ # representing <C>, and this object will be used to perform many computations
56
+ # for <C>. If you never want to construct such a libsemigroups Congruence
57
+ # object representing for <C>, then an immediate method should be installed in
58
+ # libsemigroups/cong.gi explicitly excluding this type of congruence, and the
59
+ # mandatory methods listed above for CanComputeEquivalenceRelationPartition
60
+ # should be implemented.
61
+ #
62
+ # To define a new type of congruence that does not implement any of the above
63
+ # (i.e. that uses libsemigroups Congruence objects to compute
64
+ # EquivalenceRelationPartition), it's sufficient to ensure that the
65
+ # congruence's generating pairs are computed in the function where it is
66
+ # Objectified.
67
+ #
68
+ # There are some types of congruences in the Semigroups package which use both
69
+ # a specialised representation for some things, and use a libsemigroups
70
+ # Congruence object for others:
71
+ #
72
+ # * IsCongruenceByWangPair;
73
+ # * IsReesCongruence (when *not* constructed directly from an ideal).
74
+ #
75
+ # there are others that never use libsemigroups Congruence objects:
76
+ #
77
+ # * IsInverseSemigroupCongruenceByKernelTrace;
78
+ # * IsSimpleSemigroupCongruence;
79
+ # * IsRMSCongruenceByLinkedTriple;
80
+ # * IsUniversalSemigroupCongruence;
81
+ # * IsReesCongruence (when constructed directly from an ideal).
82
+ #
83
+ # and some that always do (congruences defined by generating pairs, not
84
+ # belonging to the previous types).
85
+ #
86
+ ###############################################################################
87
+ ###############################################################################
88
+
89
+ DeclareProperty("CanComputeEquivalenceRelationPartition",
90
+ IsLeftRightOrTwoSidedCongruence);