passagemath-gap-pkg-semigroups 10.6.29__cp312-abi3-macosx_13_0_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.
- gap/pkg/semigroups/CHANGELOG.md +1699 -0
- gap/pkg/semigroups/CONTRIBUTING.md +91 -0
- gap/pkg/semigroups/GNUmakefile +110 -0
- gap/pkg/semigroups/GNUmakefile.in +110 -0
- gap/pkg/semigroups/GPL +674 -0
- gap/pkg/semigroups/LICENSE +16 -0
- gap/pkg/semigroups/Makefile +26 -0
- gap/pkg/semigroups/Makefile.gappkg +225 -0
- gap/pkg/semigroups/PackageInfo.g +529 -0
- gap/pkg/semigroups/README.md +102 -0
- gap/pkg/semigroups/VERSIONS +112 -0
- gap/pkg/semigroups/aclocal.m4 +375 -0
- gap/pkg/semigroups/autogen.sh +25 -0
- gap/pkg/semigroups/bin/x86_64-apple-darwin22-default64-kv10/semigroups.so +0 -0
- gap/pkg/semigroups/config.guess +1807 -0
- gap/pkg/semigroups/config.log +1082 -0
- gap/pkg/semigroups/config.status +1134 -0
- gap/pkg/semigroups/config.sub +1960 -0
- gap/pkg/semigroups/configure +9742 -0
- gap/pkg/semigroups/configure.ac +71 -0
- gap/pkg/semigroups/data/doc/greens.pickle +1 -0
- gap/pkg/semigroups/data/gens/fullbool-8.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/fullbool.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/hall.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/reflex-6.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/reflex.pickle.gz +0 -0
- gap/pkg/semigroups/data/tst/bipart4 +10 -0
- gap/pkg/semigroups/data/tst/pperm10 +1 -0
- gap/pkg/semigroups/data/tst/tables.gz +0 -0
- gap/pkg/semigroups/data/tst/testdata +1 -0
- gap/pkg/semigroups/data/tst/testinstall.pickle +1 -0
- gap/pkg/semigroups/data/tst/trans3 +7 -0
- gap/pkg/semigroups/data/tst/trans3-old +7 -0
- gap/pkg/semigroups/environment.yml +7 -0
- gap/pkg/semigroups/gap/attributes/acting.gd +15 -0
- gap/pkg/semigroups/gap/attributes/acting.gi +297 -0
- gap/pkg/semigroups/gap/attributes/attr.gd +91 -0
- gap/pkg/semigroups/gap/attributes/attr.gi +1214 -0
- gap/pkg/semigroups/gap/attributes/dual.gd +25 -0
- gap/pkg/semigroups/gap/attributes/dual.gi +209 -0
- gap/pkg/semigroups/gap/attributes/factor.gd +17 -0
- gap/pkg/semigroups/gap/attributes/factor.gi +453 -0
- gap/pkg/semigroups/gap/attributes/homomorph.gd +84 -0
- gap/pkg/semigroups/gap/attributes/homomorph.gi +591 -0
- gap/pkg/semigroups/gap/attributes/inverse.gd +38 -0
- gap/pkg/semigroups/gap/attributes/inverse.gi +708 -0
- gap/pkg/semigroups/gap/attributes/isomorph.gd +16 -0
- gap/pkg/semigroups/gap/attributes/isomorph.gi +377 -0
- gap/pkg/semigroups/gap/attributes/isorms.gd +49 -0
- gap/pkg/semigroups/gap/attributes/isorms.gi +1383 -0
- gap/pkg/semigroups/gap/attributes/maximal.gd +16 -0
- gap/pkg/semigroups/gap/attributes/maximal.gi +1876 -0
- gap/pkg/semigroups/gap/attributes/properties.gd +109 -0
- gap/pkg/semigroups/gap/attributes/properties.gi +1658 -0
- gap/pkg/semigroups/gap/attributes/rms-translat.gd +39 -0
- gap/pkg/semigroups/gap/attributes/rms-translat.gi +1078 -0
- gap/pkg/semigroups/gap/attributes/semifp.gd +12 -0
- gap/pkg/semigroups/gap/attributes/semifp.gi +84 -0
- gap/pkg/semigroups/gap/attributes/translat.gd +474 -0
- gap/pkg/semigroups/gap/attributes/translat.gi +1779 -0
- gap/pkg/semigroups/gap/congruences/cong.gd +154 -0
- gap/pkg/semigroups/gap/congruences/cong.gi +351 -0
- gap/pkg/semigroups/gap/congruences/conginv.gd +38 -0
- gap/pkg/semigroups/gap/congruences/conginv.gi +589 -0
- gap/pkg/semigroups/gap/congruences/conglatt.gd +101 -0
- gap/pkg/semigroups/gap/congruences/conglatt.gi +886 -0
- gap/pkg/semigroups/gap/congruences/congpairs.gd +21 -0
- gap/pkg/semigroups/gap/congruences/congpairs.gi +272 -0
- gap/pkg/semigroups/gap/congruences/congpart.gd +90 -0
- gap/pkg/semigroups/gap/congruences/congpart.gi +449 -0
- gap/pkg/semigroups/gap/congruences/congrees.gd +20 -0
- gap/pkg/semigroups/gap/congruences/congrees.gi +313 -0
- gap/pkg/semigroups/gap/congruences/congrms.gd +54 -0
- gap/pkg/semigroups/gap/congruences/congrms.gi +1467 -0
- gap/pkg/semigroups/gap/congruences/congsemigraph.gd +28 -0
- gap/pkg/semigroups/gap/congruences/congsemigraph.gi +289 -0
- gap/pkg/semigroups/gap/congruences/congsimple.gd +27 -0
- gap/pkg/semigroups/gap/congruences/congsimple.gi +236 -0
- gap/pkg/semigroups/gap/congruences/conguniv.gd +20 -0
- gap/pkg/semigroups/gap/congruences/conguniv.gi +271 -0
- gap/pkg/semigroups/gap/congruences/congwordgraph.gd +21 -0
- gap/pkg/semigroups/gap/congruences/congwordgraph.gi +250 -0
- gap/pkg/semigroups/gap/elements/bipart.gd +71 -0
- gap/pkg/semigroups/gap/elements/bipart.gi +995 -0
- gap/pkg/semigroups/gap/elements/blocks.gd +31 -0
- gap/pkg/semigroups/gap/elements/blocks.gi +134 -0
- gap/pkg/semigroups/gap/elements/boolmat.gd +74 -0
- gap/pkg/semigroups/gap/elements/boolmat.gi +726 -0
- gap/pkg/semigroups/gap/elements/elements.gd +11 -0
- gap/pkg/semigroups/gap/elements/elements.gi +121 -0
- gap/pkg/semigroups/gap/elements/ffmat.gd +71 -0
- gap/pkg/semigroups/gap/elements/ffmat.gi +311 -0
- gap/pkg/semigroups/gap/elements/maxplusmat.gd +131 -0
- gap/pkg/semigroups/gap/elements/maxplusmat.gi +782 -0
- gap/pkg/semigroups/gap/elements/pbr.gd +51 -0
- gap/pkg/semigroups/gap/elements/pbr.gi +740 -0
- gap/pkg/semigroups/gap/elements/pperm.gd +11 -0
- gap/pkg/semigroups/gap/elements/pperm.gi +14 -0
- gap/pkg/semigroups/gap/elements/semiringmat.gd +136 -0
- gap/pkg/semigroups/gap/elements/semiringmat.gi +717 -0
- gap/pkg/semigroups/gap/elements/star.gd +21 -0
- gap/pkg/semigroups/gap/elements/star.gi +21 -0
- gap/pkg/semigroups/gap/elements/trans.gd +13 -0
- gap/pkg/semigroups/gap/elements/trans.gi +50 -0
- gap/pkg/semigroups/gap/fp/freeband.gd +22 -0
- gap/pkg/semigroups/gap/fp/freeband.gi +502 -0
- gap/pkg/semigroups/gap/fp/freeinverse.gd +30 -0
- gap/pkg/semigroups/gap/fp/freeinverse.gi +465 -0
- gap/pkg/semigroups/gap/fp/tietze.gd +89 -0
- gap/pkg/semigroups/gap/fp/tietze.gi +1578 -0
- gap/pkg/semigroups/gap/fp/word.gd +15 -0
- gap/pkg/semigroups/gap/fp/word.gi +67 -0
- gap/pkg/semigroups/gap/greens/acting-inverse.gi +774 -0
- gap/pkg/semigroups/gap/greens/acting-regular.gi +553 -0
- gap/pkg/semigroups/gap/greens/acting.gd +81 -0
- gap/pkg/semigroups/gap/greens/acting.gi +2433 -0
- gap/pkg/semigroups/gap/greens/froidure-pin.gd +25 -0
- gap/pkg/semigroups/gap/greens/froidure-pin.gi +741 -0
- gap/pkg/semigroups/gap/greens/generic.gd +117 -0
- gap/pkg/semigroups/gap/greens/generic.gi +630 -0
- gap/pkg/semigroups/gap/ideals/acting.gd +17 -0
- gap/pkg/semigroups/gap/ideals/acting.gi +1155 -0
- gap/pkg/semigroups/gap/ideals/froidure-pin.gd +11 -0
- gap/pkg/semigroups/gap/ideals/froidure-pin.gi +105 -0
- gap/pkg/semigroups/gap/ideals/ideals.gd +45 -0
- gap/pkg/semigroups/gap/ideals/ideals.gi +442 -0
- gap/pkg/semigroups/gap/ideals/lambda-rho.gd +16 -0
- gap/pkg/semigroups/gap/ideals/lambda-rho.gi +614 -0
- gap/pkg/semigroups/gap/libsemigroups/cong.gd +24 -0
- gap/pkg/semigroups/gap/libsemigroups/cong.gi +431 -0
- gap/pkg/semigroups/gap/libsemigroups/fpsemi.gd +16 -0
- gap/pkg/semigroups/gap/libsemigroups/fpsemi.gi +53 -0
- gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gd +17 -0
- gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gi +945 -0
- gap/pkg/semigroups/gap/libsemigroups/sims1.gd +38 -0
- gap/pkg/semigroups/gap/libsemigroups/sims1.gi +308 -0
- gap/pkg/semigroups/gap/main/acting.gd +36 -0
- gap/pkg/semigroups/gap/main/acting.gi +779 -0
- gap/pkg/semigroups/gap/main/froidure-pin.gd +72 -0
- gap/pkg/semigroups/gap/main/froidure-pin.gi +655 -0
- gap/pkg/semigroups/gap/main/graded.gd +26 -0
- gap/pkg/semigroups/gap/main/graded.gi +355 -0
- gap/pkg/semigroups/gap/main/lambda-rho.gd +29 -0
- gap/pkg/semigroups/gap/main/lambda-rho.gi +514 -0
- gap/pkg/semigroups/gap/main/orbits.gd +24 -0
- gap/pkg/semigroups/gap/main/orbits.gi +512 -0
- gap/pkg/semigroups/gap/main/semiact.gd +20 -0
- gap/pkg/semigroups/gap/main/semiact.gi +821 -0
- gap/pkg/semigroups/gap/main/setup.gd +61 -0
- gap/pkg/semigroups/gap/main/setup.gi +1094 -0
- gap/pkg/semigroups/gap/obsolete.gd +9 -0
- gap/pkg/semigroups/gap/obsolete.gi +14 -0
- gap/pkg/semigroups/gap/options.g +55 -0
- gap/pkg/semigroups/gap/semigroups/grpperm.gd +12 -0
- gap/pkg/semigroups/gap/semigroups/grpperm.gi +177 -0
- gap/pkg/semigroups/gap/semigroups/semibipart.gd +28 -0
- gap/pkg/semigroups/gap/semigroups/semibipart.gi +570 -0
- gap/pkg/semigroups/gap/semigroups/semiboolmat.gd +20 -0
- gap/pkg/semigroups/gap/semigroups/semiboolmat.gi +104 -0
- gap/pkg/semigroups/gap/semigroups/semicons.gd +52 -0
- gap/pkg/semigroups/gap/semigroups/semicons.gi +1194 -0
- gap/pkg/semigroups/gap/semigroups/semidp.gd +13 -0
- gap/pkg/semigroups/gap/semigroups/semidp.gi +509 -0
- gap/pkg/semigroups/gap/semigroups/semieunit.gd +126 -0
- gap/pkg/semigroups/gap/semigroups/semieunit.gi +889 -0
- gap/pkg/semigroups/gap/semigroups/semiex.gd +104 -0
- gap/pkg/semigroups/gap/semigroups/semiex.gi +1590 -0
- gap/pkg/semigroups/gap/semigroups/semiffmat.gd +37 -0
- gap/pkg/semigroups/gap/semigroups/semiffmat.gi +565 -0
- gap/pkg/semigroups/gap/semigroups/semifp.gd +28 -0
- gap/pkg/semigroups/gap/semigroups/semifp.gi +1364 -0
- gap/pkg/semigroups/gap/semigroups/semigraph.gd +40 -0
- gap/pkg/semigroups/gap/semigroups/semigraph.gi +292 -0
- gap/pkg/semigroups/gap/semigroups/semigrp.gd +165 -0
- gap/pkg/semigroups/gap/semigroups/semigrp.gi +1225 -0
- gap/pkg/semigroups/gap/semigroups/semimaxplus.gd +72 -0
- gap/pkg/semigroups/gap/semigroups/semimaxplus.gi +710 -0
- gap/pkg/semigroups/gap/semigroups/semintmat.gd +13 -0
- gap/pkg/semigroups/gap/semigroups/semintmat.gi +74 -0
- gap/pkg/semigroups/gap/semigroups/semipbr.gd +19 -0
- gap/pkg/semigroups/gap/semigroups/semipbr.gi +139 -0
- gap/pkg/semigroups/gap/semigroups/semipperm.gd +27 -0
- gap/pkg/semigroups/gap/semigroups/semipperm.gi +711 -0
- gap/pkg/semigroups/gap/semigroups/semiquo.gd +14 -0
- gap/pkg/semigroups/gap/semigroups/semiquo.gi +97 -0
- gap/pkg/semigroups/gap/semigroups/semiringmat.gd +16 -0
- gap/pkg/semigroups/gap/semigroups/semiringmat.gi +21 -0
- gap/pkg/semigroups/gap/semigroups/semirms.gd +19 -0
- gap/pkg/semigroups/gap/semigroups/semirms.gi +977 -0
- gap/pkg/semigroups/gap/semigroups/semitrans.gd +49 -0
- gap/pkg/semigroups/gap/semigroups/semitrans.gi +909 -0
- gap/pkg/semigroups/gap/tools/display.gd +24 -0
- gap/pkg/semigroups/gap/tools/display.gi +749 -0
- gap/pkg/semigroups/gap/tools/io.gd +17 -0
- gap/pkg/semigroups/gap/tools/io.gi +543 -0
- gap/pkg/semigroups/gap/tools/iterators.gd +16 -0
- gap/pkg/semigroups/gap/tools/iterators.gi +253 -0
- gap/pkg/semigroups/gap/tools/utils.gd +19 -0
- gap/pkg/semigroups/gap/tools/utils.gi +756 -0
- gap/pkg/semigroups/gapbind14/.ccls +18 -0
- gap/pkg/semigroups/gapbind14/.clang-format +104 -0
- gap/pkg/semigroups/gapbind14/CPPLINT.cfg +5 -0
- gap/pkg/semigroups/gapbind14/LICENSE +674 -0
- gap/pkg/semigroups/gapbind14/README.md +76 -0
- gap/pkg/semigroups/gapbind14/demo/.gitignore +4 -0
- gap/pkg/semigroups/gapbind14/demo/LICENSE +293 -0
- gap/pkg/semigroups/gapbind14/demo/Makefile.gappkg +220 -0
- gap/pkg/semigroups/gapbind14/demo/Makefile.in +19 -0
- gap/pkg/semigroups/gapbind14/demo/PackageInfo.g +87 -0
- gap/pkg/semigroups/gapbind14/demo/README.md +17 -0
- gap/pkg/semigroups/gapbind14/demo/configure +34 -0
- gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gd +19 -0
- gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gi +10 -0
- gap/pkg/semigroups/gapbind14/demo/init.g +16 -0
- gap/pkg/semigroups/gapbind14/demo/makedoc.g +10 -0
- gap/pkg/semigroups/gapbind14/demo/read.g +6 -0
- gap/pkg/semigroups/gapbind14/demo/src/gapbind_demo.cc +142 -0
- gap/pkg/semigroups/gapbind14/demo/tst/testall.g +12 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/cpp_fn.hpp +223 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/gap_include.hpp +26 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp +445 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/tame_free_fn.hpp +420 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/tame_mem_fn.hpp +556 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/to_cpp.hpp +162 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/to_gap.hpp +158 -0
- gap/pkg/semigroups/gapbind14/src/.clang-format +108 -0
- gap/pkg/semigroups/gapbind14/src/gapbind14.cpp +334 -0
- gap/pkg/semigroups/init.g +150 -0
- gap/pkg/semigroups/m4/ax_append_flag.m4 +50 -0
- gap/pkg/semigroups/m4/ax_check_compile_flag.m4 +53 -0
- gap/pkg/semigroups/m4/ax_check_hpcombi.m4 +121 -0
- gap/pkg/semigroups/m4/ax_check_libsemigroup.m4 +68 -0
- gap/pkg/semigroups/m4/ax_compare_version.m4 +177 -0
- gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx.m4 +1009 -0
- gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx_14.m4 +34 -0
- gap/pkg/semigroups/m4/ax_prefix_config_h.m4 +203 -0
- gap/pkg/semigroups/m4/ax_pthread.m4 +522 -0
- gap/pkg/semigroups/m4/find_gap.m4 +94 -0
- gap/pkg/semigroups/makedoc.g +153 -0
- gap/pkg/semigroups/prerequisites.sh +62 -0
- gap/pkg/semigroups/read.g +105 -0
- gap/pkg/semigroups/release.toml +6 -0
- gap/pkg/semigroups/tst/extreme/README +2 -0
- gap/pkg/semigroups/tst/extreme/attrinv.tst +703 -0
- gap/pkg/semigroups/tst/extreme/bipart.tst +2803 -0
- gap/pkg/semigroups/tst/extreme/closure.tst +652 -0
- gap/pkg/semigroups/tst/extreme/cong.tst +286 -0
- gap/pkg/semigroups/tst/extreme/conginv.tst +43 -0
- gap/pkg/semigroups/tst/extreme/examples.tst +2449 -0
- gap/pkg/semigroups/tst/extreme/freeband.tst +37 -0
- gap/pkg/semigroups/tst/extreme/greens-acting-regular.tst +27 -0
- gap/pkg/semigroups/tst/extreme/greens-acting.tst +1999 -0
- gap/pkg/semigroups/tst/extreme/ideals.tst +858 -0
- gap/pkg/semigroups/tst/extreme/inverse.tst +1025 -0
- gap/pkg/semigroups/tst/extreme/maximal.tst +856 -0
- gap/pkg/semigroups/tst/extreme/misc.tst +4236 -0
- gap/pkg/semigroups/tst/extreme/monoid_pkg.tst +1488 -0
- gap/pkg/semigroups/tst/extreme/properties.tst +914 -0
- gap/pkg/semigroups/tst/extreme/semibipart.tst +2837 -0
- gap/pkg/semigroups/tst/extreme/semieunit.tst +49 -0
- gap/pkg/semigroups/tst/extreme/semiffmat.tst +353 -0
- gap/pkg/semigroups/tst/extreme/semigroups.tst +245 -0
- gap/pkg/semigroups/tst/extreme/semiiter.tst +58 -0
- gap/pkg/semigroups/tst/extreme/semirms.tst +1091 -0
- gap/pkg/semigroups/tst/extreme/transform.tst +305 -0
- gap/pkg/semigroups/tst/extreme/translat.tst +44 -0
- gap/pkg/semigroups/tst/standard/README +2 -0
- gap/pkg/semigroups/tst/standard/attributes/acting.tst +388 -0
- gap/pkg/semigroups/tst/standard/attributes/attr.tst +2404 -0
- gap/pkg/semigroups/tst/standard/attributes/dual.tst +308 -0
- gap/pkg/semigroups/tst/standard/attributes/factor.tst +629 -0
- gap/pkg/semigroups/tst/standard/attributes/homomorph.tst +1134 -0
- gap/pkg/semigroups/tst/standard/attributes/inverse.tst +1521 -0
- gap/pkg/semigroups/tst/standard/attributes/isomorph.tst +435 -0
- gap/pkg/semigroups/tst/standard/attributes/isorms.tst +1147 -0
- gap/pkg/semigroups/tst/standard/attributes/maximal.tst +853 -0
- gap/pkg/semigroups/tst/standard/attributes/properties.tst +2028 -0
- gap/pkg/semigroups/tst/standard/attributes/semifp.tst +53 -0
- gap/pkg/semigroups/tst/standard/attributes/translat.tst +796 -0
- gap/pkg/semigroups/tst/standard/congruences/cong.tst +1044 -0
- gap/pkg/semigroups/tst/standard/congruences/conginv.tst +292 -0
- gap/pkg/semigroups/tst/standard/congruences/conglatt.tst +421 -0
- gap/pkg/semigroups/tst/standard/congruences/congpairs.tst +1011 -0
- gap/pkg/semigroups/tst/standard/congruences/congrees.tst +288 -0
- gap/pkg/semigroups/tst/standard/congruences/congrms.tst +701 -0
- gap/pkg/semigroups/tst/standard/congruences/congsemigraph.tst +422 -0
- gap/pkg/semigroups/tst/standard/congruences/congsimple.tst +311 -0
- gap/pkg/semigroups/tst/standard/congruences/conguniv.tst +259 -0
- gap/pkg/semigroups/tst/standard/congruences/congwordgraph.tst +330 -0
- gap/pkg/semigroups/tst/standard/elements/bipart.tst +783 -0
- gap/pkg/semigroups/tst/standard/elements/blocks.tst +166 -0
- gap/pkg/semigroups/tst/standard/elements/boolmat.tst +608 -0
- gap/pkg/semigroups/tst/standard/elements/elements.tst +117 -0
- gap/pkg/semigroups/tst/standard/elements/ffmat.tst +349 -0
- gap/pkg/semigroups/tst/standard/elements/maxplusmat.tst +613 -0
- gap/pkg/semigroups/tst/standard/elements/pbr.tst +506 -0
- gap/pkg/semigroups/tst/standard/elements/pperm.tst +32 -0
- gap/pkg/semigroups/tst/standard/elements/semiringmat.tst +601 -0
- gap/pkg/semigroups/tst/standard/elements/trans.tst +58 -0
- gap/pkg/semigroups/tst/standard/fp/freeband.tst +311 -0
- gap/pkg/semigroups/tst/standard/fp/freeinverse.tst +147 -0
- gap/pkg/semigroups/tst/standard/fp/tietze.tst +780 -0
- gap/pkg/semigroups/tst/standard/fp/word.tst +106 -0
- gap/pkg/semigroups/tst/standard/greens/acting-inverse.tst +545 -0
- gap/pkg/semigroups/tst/standard/greens/acting-regular.tst +396 -0
- gap/pkg/semigroups/tst/standard/greens/acting.tst +2033 -0
- gap/pkg/semigroups/tst/standard/greens/froidure-pin.tst +1831 -0
- gap/pkg/semigroups/tst/standard/greens/generic.tst +1436 -0
- gap/pkg/semigroups/tst/standard/ideals/acting.tst +279 -0
- gap/pkg/semigroups/tst/standard/ideals/froidure-pin.tst +178 -0
- gap/pkg/semigroups/tst/standard/ideals/ideals.tst +380 -0
- gap/pkg/semigroups/tst/standard/libsemigroups/cong.tst +310 -0
- gap/pkg/semigroups/tst/standard/libsemigroups/froidure-pin.tst +778 -0
- gap/pkg/semigroups/tst/standard/libsemigroups/sims1.tst +379 -0
- gap/pkg/semigroups/tst/standard/main/acting.tst +411 -0
- gap/pkg/semigroups/tst/standard/main/froidure-pin.tst +392 -0
- gap/pkg/semigroups/tst/standard/main/semiact.tst +203 -0
- gap/pkg/semigroups/tst/standard/main/setup.tst +1144 -0
- gap/pkg/semigroups/tst/standard/obsolete.tst +19 -0
- gap/pkg/semigroups/tst/standard/options.tst +54 -0
- gap/pkg/semigroups/tst/standard/semigroups/grpperm.tst +581 -0
- gap/pkg/semigroups/tst/standard/semigroups/semibipart.tst +2635 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiboolmat.tst +1871 -0
- gap/pkg/semigroups/tst/standard/semigroups/semicons.tst +1173 -0
- gap/pkg/semigroups/tst/standard/semigroups/semidp.tst +739 -0
- gap/pkg/semigroups/tst/standard/semigroups/semieunit.tst +339 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiex.tst +2055 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiffmat.tst +746 -0
- gap/pkg/semigroups/tst/standard/semigroups/semifp.tst +2702 -0
- gap/pkg/semigroups/tst/standard/semigroups/semigraph.tst +133 -0
- gap/pkg/semigroups/tst/standard/semigroups/semigrp.tst +1112 -0
- gap/pkg/semigroups/tst/standard/semigroups/semimaxplus.tst +654 -0
- gap/pkg/semigroups/tst/standard/semigroups/semipbr.tst +2142 -0
- gap/pkg/semigroups/tst/standard/semigroups/semipperm.tst +2169 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiquo.tst +278 -0
- gap/pkg/semigroups/tst/standard/semigroups/semirms.tst +3010 -0
- gap/pkg/semigroups/tst/standard/semigroups/semitrans.tst +2758 -0
- gap/pkg/semigroups/tst/standard/tools/display.tst +1040 -0
- gap/pkg/semigroups/tst/standard/tools/io.tst +363 -0
- gap/pkg/semigroups/tst/testinstall.tst +1815 -0
- gap/pkg/semigroups/tst/teststandard.g +22 -0
- gap/pkg/semigroups/tst/workspaces/load-workspace.tst +142 -0
- gap/pkg/semigroups/tst/workspaces/load.g +11 -0
- gap/pkg/semigroups/tst/workspaces/save-workspace.tst +166 -0
- gap/pkg/semigroups/tst/workspaces/save.g +14 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/METADATA +93 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/METADATA.bak +94 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/RECORD +354 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/WHEEL +6 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/top_level.txt +1 -0
- passagemath_gap_pkg_semigroups.dylibs/libsemigroups.2.dylib +0 -0
- sage/all__sagemath_gap_pkg_semigroups.py +1 -0
- sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
- sage/libs/gap_pkg_semigroups.abi3.so +0 -0
|
@@ -0,0 +1,853 @@
|
|
|
1
|
+
############################################################################
|
|
2
|
+
##
|
|
3
|
+
#W standard/attributes/maximal.tst
|
|
4
|
+
#Y Copyright (C) 2015-2022 James D. Mitchell
|
|
5
|
+
## Wilf A. Wilson
|
|
6
|
+
##
|
|
7
|
+
## Licensing information can be found in the README file of this package.
|
|
8
|
+
##
|
|
9
|
+
#############################################################################
|
|
10
|
+
##
|
|
11
|
+
|
|
12
|
+
#@local D, G, M, R, S, T, U, an, contain, correct, gens, mat, max, number
|
|
13
|
+
#@local types, x, zero
|
|
14
|
+
gap> START_TEST("Semigroups package: standard/attributes/maximal.tst");
|
|
15
|
+
gap> LoadPackage("semigroups", false);;
|
|
16
|
+
|
|
17
|
+
#
|
|
18
|
+
gap> SEMIGROUPS.StartTest();;
|
|
19
|
+
|
|
20
|
+
# maximal: IsMaximalSubsemigroup, 1
|
|
21
|
+
gap> S := Semigroup([
|
|
22
|
+
> Transformation([1, 2, 4, 4]),
|
|
23
|
+
> Transformation([4, 4, 1, 4]),
|
|
24
|
+
> Transformation([2, 1, 4, 2])]);
|
|
25
|
+
<transformation semigroup of degree 4 with 3 generators>
|
|
26
|
+
gap> T := Semigroup([
|
|
27
|
+
> Transformation([2, 1, 4, 2]),
|
|
28
|
+
> Transformation([2, 1, 2, 2]),
|
|
29
|
+
> Transformation([4, 4, 1, 4])]);
|
|
30
|
+
<transformation semigroup of degree 4 with 3 generators>
|
|
31
|
+
gap> IsMaximalSubsemigroup(S, T); # maximal
|
|
32
|
+
true
|
|
33
|
+
gap> U := Semigroup([
|
|
34
|
+
> Transformation([2, 2, 1, 1]),
|
|
35
|
+
> Transformation([2, 2, 3, 4]),
|
|
36
|
+
> Transformation([3, 4, 2, 4])]);
|
|
37
|
+
<transformation semigroup of degree 4 with 3 generators>
|
|
38
|
+
gap> IsSubsemigroup(S, U);
|
|
39
|
+
false
|
|
40
|
+
gap> IsMaximalSubsemigroup(S, U); # not a subsemigroup
|
|
41
|
+
false
|
|
42
|
+
gap> IsSubsemigroup(U, S);
|
|
43
|
+
false
|
|
44
|
+
gap> IsMaximalSubsemigroup(U, S); # not a subsemigroup
|
|
45
|
+
false
|
|
46
|
+
gap> IsSubsemigroup(S, S);
|
|
47
|
+
true
|
|
48
|
+
gap> S <> S;
|
|
49
|
+
false
|
|
50
|
+
gap> IsMaximalSubsemigroup(S, S); # equal semigroups
|
|
51
|
+
false
|
|
52
|
+
gap> IsMaximalSubsemigroup(S,
|
|
53
|
+
> Semigroup(RepresentativeOfMinimalIdeal(S))); # non-maximal
|
|
54
|
+
false
|
|
55
|
+
gap> IsMaximalSubsemigroup(FreeSemigroup(1), FreeSemigroup(1));
|
|
56
|
+
false
|
|
57
|
+
gap> IsMaximalSubsemigroup(FreeSemigroup(1),
|
|
58
|
+
> Subsemigroup(FreeSemigroup(1), []));
|
|
59
|
+
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
|
|
60
|
+
Error, no 2nd choice method found for `IsMaximalSubsemigroup' on 2 arguments
|
|
61
|
+
|
|
62
|
+
# maximal: MaximalSubsemigroups, error checking, 1
|
|
63
|
+
gap> S := FreeSemigroup(1);;
|
|
64
|
+
gap> MaximalSubsemigroups(S);
|
|
65
|
+
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
|
|
66
|
+
Error, no 2nd choice method found for `MaximalSubsemigroupsNC' on 2 arguments
|
|
67
|
+
gap> MaximalSubsemigroups(S, rec());
|
|
68
|
+
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
|
|
69
|
+
Error, no 2nd choice method found for `MaximalSubsemigroups' on 2 arguments
|
|
70
|
+
gap> S := TrivialSemigroup(IsTransformationSemigroup);;
|
|
71
|
+
gap> T := FullTransformationMonoid(2);;
|
|
72
|
+
gap> x := S.1;
|
|
73
|
+
IdentityTransformation
|
|
74
|
+
gap> MaximalSubsemigroups(S, rec(number := 1));
|
|
75
|
+
Error, the record component <number> of the optional 2nd argument <r> should b\
|
|
76
|
+
e true or false
|
|
77
|
+
gap> MaximalSubsemigroups(S, rec(number := false));
|
|
78
|
+
[ ]
|
|
79
|
+
gap> MaximalSubsemigroups(S, rec(contain := 1));
|
|
80
|
+
Error, the record component <contain> of the optional 2nd argument <r> should \
|
|
81
|
+
be a duplicate-free list of elements of the semigroup in the 1st argument, <S>
|
|
82
|
+
gap> MaximalSubsemigroups(S, rec(contain := [0, Group(())]));
|
|
83
|
+
Error, the record component <contain> of the optional 2nd argument <r> should \
|
|
84
|
+
be a duplicate-free list of elements of the semigroup in the 1st argument, <S>
|
|
85
|
+
gap> MaximalSubsemigroups(S, rec(contain := [0, 0]));
|
|
86
|
+
Error, the record component <contain> of the optional 2nd argument <r> should \
|
|
87
|
+
be a duplicate-free list of elements of the semigroup in the 1st argument, <S>
|
|
88
|
+
gap> MaximalSubsemigroups(S, rec(contain := [0]));
|
|
89
|
+
Error, the record component <contain> of the optional 2nd argument <r> should \
|
|
90
|
+
be a duplicate-free list of elements of the semigroup in the 1st argument, <S>
|
|
91
|
+
gap> MaximalSubsemigroups(S, rec(contain := [Transformation([2, 1])]));
|
|
92
|
+
Error, the record component <contain> of the optional 2nd argument <r> should \
|
|
93
|
+
be a duplicate-free list of elements of the semigroup in the 1st argument, <S>
|
|
94
|
+
gap> MaximalSubsemigroups(S, rec(contain := [x]));
|
|
95
|
+
[ ]
|
|
96
|
+
gap> MaximalSubsemigroups(S, rec(D := 0));
|
|
97
|
+
Error, the record component <D> of the optional 2nd argument <r> should be a D\
|
|
98
|
+
-class of the semigroup in the 1st argument, <S>
|
|
99
|
+
gap> MaximalSubsemigroups(S, rec(D := HClass(S, x)));
|
|
100
|
+
Error, the record component <D> of the optional 2nd argument <r> should be a D\
|
|
101
|
+
-class of the semigroup in the 1st argument, <S>
|
|
102
|
+
gap> MaximalSubsemigroups(S, rec(D := DClass(T, x)));
|
|
103
|
+
Error, the record component <D> of the optional 2nd argument <r> should be a D\
|
|
104
|
+
-class of the semigroup in the 1st argument, <S>
|
|
105
|
+
gap> MaximalSubsemigroups(S, rec(D := DClass(S, x)));
|
|
106
|
+
[ ]
|
|
107
|
+
gap> MaximalSubsemigroups(S, rec(gens := 0));
|
|
108
|
+
Error, the record component <gens> of the optional 2nd argument <r> should be \
|
|
109
|
+
true or false
|
|
110
|
+
gap> MaximalSubsemigroups(S, rec(gens := true));
|
|
111
|
+
[ ]
|
|
112
|
+
gap> MaximalSubsemigroups(S, rec(types := 0));
|
|
113
|
+
[ ]
|
|
114
|
+
gap> R := ReesMatrixSemigroup(FullTransformationMonoid(2), [[x]]);;
|
|
115
|
+
gap> MaximalSubsemigroups(R, rec(types := 0));
|
|
116
|
+
[ <subsemigroup of 1x1 Rees matrix semigroup with 2 generators>,
|
|
117
|
+
<subsemigroup of 1x1 Rees matrix semigroup with 3 generators> ]
|
|
118
|
+
gap> R := ReesZeroMatrixSemigroup(S, [[x, 0]]);;
|
|
119
|
+
gap> MaximalSubsemigroups(R, rec(types := 0));
|
|
120
|
+
[ <Rees 0-matrix semigroup ideal with 2 generators>,
|
|
121
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 2 generators> ]
|
|
122
|
+
gap> R := ReesMatrixSemigroup(S, [[x]]);;
|
|
123
|
+
gap> MaximalSubsemigroups(R, rec(types := 0));
|
|
124
|
+
Error, the record component <types> of the optional 2nd argument <r> should be\
|
|
125
|
+
a subset of [ 1 .. 6 ]
|
|
126
|
+
gap> MaximalSubsemigroups(R, rec(types := [0, Group(())]));
|
|
127
|
+
Error, the record component <types> of the optional 2nd argument <r> should be\
|
|
128
|
+
a subset of [ 1 .. 6 ]
|
|
129
|
+
gap> MaximalSubsemigroups(R, rec(types := [0, 0]));
|
|
130
|
+
Error, the record component <types> of the optional 2nd argument <r> should be\
|
|
131
|
+
a subset of [ 1 .. 6 ]
|
|
132
|
+
gap> MaximalSubsemigroups(R, rec(types := [0]));
|
|
133
|
+
Error, the record component <types> of the optional 2nd argument <r> should be\
|
|
134
|
+
a subset of [ 1 .. 6 ]
|
|
135
|
+
gap> MaximalSubsemigroups(R, rec(types := [1]));
|
|
136
|
+
[ ]
|
|
137
|
+
gap> MaximalSubsemigroups(R, rec(types := [3, 4, 6]));
|
|
138
|
+
[ ]
|
|
139
|
+
|
|
140
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix semigroup, 1
|
|
141
|
+
|
|
142
|
+
# Easy example, 2x1
|
|
143
|
+
gap> R := ReesMatrixSemigroup(SymmetricGroup(3), [[(), ()]]);
|
|
144
|
+
<Rees matrix semigroup 2x1 over Sym( [ 1 .. 3 ] )>
|
|
145
|
+
gap> MaximalSubsemigroups(R);
|
|
146
|
+
[ <Rees matrix semigroup 1x1 over Sym( [ 1 .. 3 ] )>,
|
|
147
|
+
<Rees matrix semigroup 1x1 over Sym( [ 1 .. 3 ] )>,
|
|
148
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 2 generators>,
|
|
149
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 2 generators>,
|
|
150
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 2 generators>,
|
|
151
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 2 generators> ]
|
|
152
|
+
|
|
153
|
+
# Example example, 1x2
|
|
154
|
+
gap> R := ReesMatrixSemigroup(SymmetricGroup(3), [[()], [()]]);
|
|
155
|
+
<Rees matrix semigroup 1x2 over Sym( [ 1 .. 3 ] )>
|
|
156
|
+
gap> MaximalSubsemigroups(R);
|
|
157
|
+
[ <Rees matrix semigroup 1x1 over Sym( [ 1 .. 3 ] )>,
|
|
158
|
+
<Rees matrix semigroup 1x1 over Sym( [ 1 .. 3 ] )>,
|
|
159
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators>,
|
|
160
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators>,
|
|
161
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators>,
|
|
162
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators> ]
|
|
163
|
+
|
|
164
|
+
# Easy example, 2x2
|
|
165
|
+
gap> R := ReesMatrixSemigroup(SymmetricGroup(3), [[(), ()], [(), ()]]);
|
|
166
|
+
<Rees matrix semigroup 2x2 over Sym( [ 1 .. 3 ] )>
|
|
167
|
+
gap> MaximalSubsemigroups(R);
|
|
168
|
+
[ <Rees matrix semigroup 2x1 over Sym( [ 1 .. 3 ] )>,
|
|
169
|
+
<Rees matrix semigroup 2x1 over Sym( [ 1 .. 3 ] )>,
|
|
170
|
+
<Rees matrix semigroup 1x2 over Sym( [ 1 .. 3 ] )>,
|
|
171
|
+
<Rees matrix semigroup 1x2 over Sym( [ 1 .. 3 ] )>,
|
|
172
|
+
<subsemigroup of 2x2 Rees matrix semigroup with 2 generators>,
|
|
173
|
+
<subsemigroup of 2x2 Rees matrix semigroup with 2 generators>,
|
|
174
|
+
<subsemigroup of 2x2 Rees matrix semigroup with 2 generators>,
|
|
175
|
+
<subsemigroup of 2x2 Rees matrix semigroup with 2 generators> ]
|
|
176
|
+
|
|
177
|
+
# Easy example, 1x1
|
|
178
|
+
gap> R := ReesMatrixSemigroup(SymmetricGroup(2), [[()]]);
|
|
179
|
+
<Rees matrix semigroup 1x1 over Sym( [ 1 .. 2 ] )>
|
|
180
|
+
gap> MaximalSubsemigroups(R);
|
|
181
|
+
[ <subsemigroup of 1x1 Rees matrix semigroup with 1 generator> ]
|
|
182
|
+
|
|
183
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix semigroup, 2
|
|
184
|
+
gap> S := FreeSemigroup(1);;
|
|
185
|
+
gap> R := ReesMatrixSemigroup(S, [[S.1]]); # not finite
|
|
186
|
+
<Rees matrix semigroup 1x1 over <free semigroup on the generators [ s1 ]>>
|
|
187
|
+
gap> MaximalSubsemigroups(R);
|
|
188
|
+
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
|
|
189
|
+
Error, no 3rd choice method found for `MaximalSubsemigroupsNC' on 2 arguments
|
|
190
|
+
gap> S := FullTransformationMonoid(2);; # not over a group
|
|
191
|
+
gap> R := ReesMatrixSemigroup(S, [[One(S)]]);
|
|
192
|
+
<Rees matrix semigroup 1x1 over <full transformation monoid of degree 2>>
|
|
193
|
+
gap> MaximalSubsemigroups(R);
|
|
194
|
+
[ <subsemigroup of 1x1 Rees matrix semigroup with 2 generators>,
|
|
195
|
+
<subsemigroup of 1x1 Rees matrix semigroup with 3 generators> ]
|
|
196
|
+
|
|
197
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix semigroup, 3
|
|
198
|
+
|
|
199
|
+
# no options specified - default options chosen
|
|
200
|
+
gap> R := ReesMatrixSemigroup(Group(()), [[()]]);
|
|
201
|
+
<Rees matrix semigroup 1x1 over Group(())>
|
|
202
|
+
gap> MaximalSubsemigroupsNC(R, rec());
|
|
203
|
+
[ ]
|
|
204
|
+
|
|
205
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix semigroup, 4
|
|
206
|
+
|
|
207
|
+
# over a non-IsGroup group
|
|
208
|
+
gap> S := GroupOfUnits(FullTransformationMonoid(3));
|
|
209
|
+
<transformation group of degree 3 with 2 generators>
|
|
210
|
+
gap> R := ReesMatrixSemigroup(S, [[One(S)], [One(S)]]);;
|
|
211
|
+
gap> MaximalSubsemigroups(R, rec(types := [6]));
|
|
212
|
+
[ <subsemigroup of 1x2 Rees matrix semigroup with 2 generators>,
|
|
213
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators>,
|
|
214
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators>,
|
|
215
|
+
<subsemigroup of 1x2 Rees matrix semigroup with 2 generators> ]
|
|
216
|
+
|
|
217
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix semigroup, 5
|
|
218
|
+
|
|
219
|
+
# Specifying various options
|
|
220
|
+
gap> R := ReesMatrixSemigroup(SymmetricGroup(2), [[(), (1, 2)], [(), (1, 2)]]);
|
|
221
|
+
<Rees matrix semigroup 2x2 over Sym( [ 1 .. 2 ] )>
|
|
222
|
+
gap> MaximalSubsemigroups(R, rec(D := DClasses(R)[1])); # <opts.D> is specified
|
|
223
|
+
[ <Rees matrix semigroup 2x1 over Sym( [ 1 .. 2 ] )>,
|
|
224
|
+
<Rees matrix semigroup 2x1 over Sym( [ 1 .. 2 ] )>,
|
|
225
|
+
<Rees matrix semigroup 1x2 over Sym( [ 1 .. 2 ] )>,
|
|
226
|
+
<Rees matrix semigroup 1x2 over Sym( [ 1 .. 2 ] )>,
|
|
227
|
+
<subsemigroup of 2x2 Rees matrix semigroup with 2 generators> ]
|
|
228
|
+
gap> MaximalSubsemigroups(R, rec(types := [6])); # <opts.types> is specified
|
|
229
|
+
[ <subsemigroup of 2x2 Rees matrix semigroup with 2 generators> ]
|
|
230
|
+
gap> x := [RMSElement(R, 1, (), 1),
|
|
231
|
+
> RMSElement(R, 1, (1, 2), 1)];
|
|
232
|
+
[ (1,(),1), (1,(1,2),1) ]
|
|
233
|
+
gap> MaximalSubsemigroups(R, rec(contain := x)); # <opts.contain> is specified
|
|
234
|
+
[ <Rees matrix semigroup 2x1 over Sym( [ 1 .. 2 ] )>,
|
|
235
|
+
<Rees matrix semigroup 1x2 over Sym( [ 1 .. 2 ] )> ]
|
|
236
|
+
gap> Add(x, RMSElement(R, 1, (), 2));
|
|
237
|
+
gap> MaximalSubsemigroups(R, rec(contain := x));
|
|
238
|
+
[ <Rees matrix semigroup 1x2 over Sym( [ 1 .. 2 ] )> ]
|
|
239
|
+
gap> Add(x, RMSElement(R, 2, (), 1));
|
|
240
|
+
gap> MaximalSubsemigroups(R, rec(contain := x));
|
|
241
|
+
[ ]
|
|
242
|
+
gap> MaximalSubsemigroups(R, rec(contain := x, number := true)); # <opts.number>
|
|
243
|
+
0
|
|
244
|
+
|
|
245
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix semigroup, 6
|
|
246
|
+
gap> R := ReesMatrixSemigroup(Group([(1, 2), (3, 4)]), [[(), ()], [(), ()]]);
|
|
247
|
+
<Rees matrix semigroup 2x2 over Group([ (1,2), (3,4) ])>
|
|
248
|
+
gap> NrMaximalSubsemigroups(R);
|
|
249
|
+
7
|
|
250
|
+
gap> Length(MaximalSubsemigroupsNC(R, rec()));
|
|
251
|
+
7
|
|
252
|
+
gap> MaximalSubsemigroups(R, rec(contain := [RMSElement(R, 1, (1, 2), 1)]));
|
|
253
|
+
[ <Rees matrix semigroup 2x1 over Group([ (1,2), (3,4) ])>,
|
|
254
|
+
<Rees matrix semigroup 1x2 over Group([ (1,2), (3,4) ])>,
|
|
255
|
+
<subsemigroup of 2x2 Rees matrix semigroup with 2 generators> ]
|
|
256
|
+
gap> MaximalSubsemigroups(R, rec(contain := [RMSElement(R, 1, (1, 2), 1)],
|
|
257
|
+
> gens := true));
|
|
258
|
+
[ [ (1,(1,2),1), (1,(3,4),1), (2,(),1) ],
|
|
259
|
+
[ (1,(1,2),1), (1,(3,4),1), (1,(),2) ], [ (1,(1,2),1), (2,(),2) ] ]
|
|
260
|
+
|
|
261
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix subsemigroup, 1
|
|
262
|
+
|
|
263
|
+
# IsReesMatrixSemigroup
|
|
264
|
+
gap> R := ReesMatrixSemigroup(SymmetricGroup(3), [[(), (1, 2)]]);;
|
|
265
|
+
gap> U := Semigroup(RMSElement(R, 1, (2, 3), 1),
|
|
266
|
+
> RMSElement(R, 1, (1, 3, 2), 1));
|
|
267
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 2 generators>
|
|
268
|
+
gap> IsReesMatrixSemigroup(U);
|
|
269
|
+
true
|
|
270
|
+
gap> MaximalSubsemigroups(U);
|
|
271
|
+
[ <subsemigroup of 2x1 Rees matrix semigroup with 1 generator>,
|
|
272
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 1 generator>,
|
|
273
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 1 generator>,
|
|
274
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 1 generator> ]
|
|
275
|
+
|
|
276
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix subsemigroup, 2
|
|
277
|
+
|
|
278
|
+
# not IsReesMatrixSemigroup
|
|
279
|
+
gap> U := Semigroup(RMSElement(R, 1, (), 1), RMSElement(R, 2, (1, 2), 1));
|
|
280
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 2 generators>
|
|
281
|
+
gap> IsReesMatrixSemigroup(U);
|
|
282
|
+
false
|
|
283
|
+
gap> MaximalSubsemigroups(U); # not IsReesMatrixSemigroup
|
|
284
|
+
[ <subsemigroup of 2x1 Rees matrix semigroup with 1 generator>,
|
|
285
|
+
<subsemigroup of 2x1 Rees matrix semigroup with 1 generator> ]
|
|
286
|
+
|
|
287
|
+
# maximal: MaximalSubsemigroups, for a Rees matrix subsemigroup, 3
|
|
288
|
+
|
|
289
|
+
# IsReesMatrixSemigroup, but different rows and columns
|
|
290
|
+
gap> R := ReesMatrixSemigroup(Group((1, 2)),
|
|
291
|
+
> [[(), (), ()],
|
|
292
|
+
> [(), (), ()],
|
|
293
|
+
> [(), (), ()],
|
|
294
|
+
> [(), (), ()]]);;
|
|
295
|
+
gap> U := ReesMatrixSubsemigroup(R, [2, 3], Group((1, 2)), [2 .. 4]);
|
|
296
|
+
<Rees matrix semigroup 2x3 over Group([ (1,2) ])>
|
|
297
|
+
gap> MaximalSubsemigroups(U);
|
|
298
|
+
[ <Rees matrix semigroup 2x2 over Group([ (1,2) ])>,
|
|
299
|
+
<Rees matrix semigroup 2x2 over Group([ (1,2) ])>,
|
|
300
|
+
<Rees matrix semigroup 2x2 over Group([ (1,2) ])>,
|
|
301
|
+
<Rees matrix semigroup 1x3 over Group([ (1,2) ])>,
|
|
302
|
+
<Rees matrix semigroup 1x3 over Group([ (1,2) ])>,
|
|
303
|
+
<subsemigroup of 3x4 Rees matrix semigroup with 3 generators> ]
|
|
304
|
+
|
|
305
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 1
|
|
306
|
+
|
|
307
|
+
# Easy example, 2x1
|
|
308
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3), [[(), ()]]);
|
|
309
|
+
<Rees 0-matrix semigroup 2x1 over Sym( [ 1 .. 3 ] )>
|
|
310
|
+
gap> MaximalSubsemigroups(R);
|
|
311
|
+
[ <subsemigroup of 2x1 Rees 0-matrix semigroup with 3 generators>,
|
|
312
|
+
<Rees 0-matrix semigroup 1x1 over Group([ (2,3), (1,2) ])>,
|
|
313
|
+
<Rees 0-matrix semigroup 1x1 over Group([ (2,3), (1,2) ])>,
|
|
314
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 4 generators>,
|
|
315
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 4 generators>,
|
|
316
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 4 generators>,
|
|
317
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 4 generators> ]
|
|
318
|
+
|
|
319
|
+
# Example example, 1x2
|
|
320
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3), [[()], [()]]);
|
|
321
|
+
<Rees 0-matrix semigroup 1x2 over Sym( [ 1 .. 3 ] )>
|
|
322
|
+
gap> MaximalSubsemigroups(R);
|
|
323
|
+
[ <subsemigroup of 1x2 Rees 0-matrix semigroup with 3 generators>,
|
|
324
|
+
<Rees 0-matrix semigroup 1x1 over Group([ (2,3), (1,2) ])>,
|
|
325
|
+
<Rees 0-matrix semigroup 1x1 over Group([ (2,3), (1,2) ])>,
|
|
326
|
+
<subsemigroup of 1x2 Rees 0-matrix semigroup with 4 generators>,
|
|
327
|
+
<subsemigroup of 1x2 Rees 0-matrix semigroup with 4 generators>,
|
|
328
|
+
<subsemigroup of 1x2 Rees 0-matrix semigroup with 4 generators>,
|
|
329
|
+
<subsemigroup of 1x2 Rees 0-matrix semigroup with 4 generators> ]
|
|
330
|
+
|
|
331
|
+
# Easy example, 2x2
|
|
332
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3), [[(), ()], [(), ()]]);
|
|
333
|
+
<Rees 0-matrix semigroup 2x2 over Sym( [ 1 .. 3 ] )>
|
|
334
|
+
gap> MaximalSubsemigroups(R);
|
|
335
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators>,
|
|
336
|
+
<Rees 0-matrix semigroup 2x1 over Group([ (2,3), (1,2) ])>,
|
|
337
|
+
<Rees 0-matrix semigroup 2x1 over Group([ (2,3), (1,2) ])>,
|
|
338
|
+
<Rees 0-matrix semigroup 1x2 over Group([ (2,3), (1,2) ])>,
|
|
339
|
+
<Rees 0-matrix semigroup 1x2 over Group([ (2,3), (1,2) ])>,
|
|
340
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
|
|
341
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
|
|
342
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators>,
|
|
343
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators> ]
|
|
344
|
+
|
|
345
|
+
# Easy example, 1x1
|
|
346
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(2), [[()]]);
|
|
347
|
+
<Rees 0-matrix semigroup 1x1 over Sym( [ 1 .. 2 ] )>
|
|
348
|
+
gap> MaximalSubsemigroups(R);
|
|
349
|
+
[ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator>,
|
|
350
|
+
<subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators> ]
|
|
351
|
+
|
|
352
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 2
|
|
353
|
+
|
|
354
|
+
# 2-element semilattice
|
|
355
|
+
gap> R := ReesZeroMatrixSemigroup(Group(()), [[()]]);;
|
|
356
|
+
gap> MaximalSubsemigroupsNC(R, rec());
|
|
357
|
+
[ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator>,
|
|
358
|
+
<subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator> ]
|
|
359
|
+
gap> MaximalSubsemigroups(R, rec(types := [3 .. 5]));
|
|
360
|
+
[ ]
|
|
361
|
+
gap> MaximalSubsemigroups(R, rec(types := [1, 2]));
|
|
362
|
+
[ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator>,
|
|
363
|
+
<subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator> ]
|
|
364
|
+
gap> MaximalSubsemigroups(R, rec(types := [1, 2], gens := true));
|
|
365
|
+
[ [ 0 ], [ (1,(),1) ] ]
|
|
366
|
+
gap> MaximalSubsemigroupsNC(R, rec(gens := true, zero := false));
|
|
367
|
+
[ [ ], [ (1,(),1) ] ]
|
|
368
|
+
gap> MaximalSubsemigroups(R, rec(number := true, D := DClass(R, R.1)));
|
|
369
|
+
1
|
|
370
|
+
gap> MaximalSubsemigroups(R, rec(number := true, D := DClass(R, R.2)));
|
|
371
|
+
1
|
|
372
|
+
|
|
373
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 3
|
|
374
|
+
|
|
375
|
+
# for an infinite Rees 0-matrix semigroup
|
|
376
|
+
gap> S := FreeGroup(1);;
|
|
377
|
+
gap> R := ReesZeroMatrixSemigroup(S, [[S.1]]); # not finite
|
|
378
|
+
<Rees 0-matrix semigroup 1x1 over <free group on the generators [ f1 ]>>
|
|
379
|
+
gap> MaximalSubsemigroups(R);
|
|
380
|
+
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
|
|
381
|
+
Error, no 3rd choice method found for `MaximalSubsemigroupsNC' on 2 arguments
|
|
382
|
+
|
|
383
|
+
# for a Rees 0-matrix semigroup over a non-group
|
|
384
|
+
gap> S := MonogenicSemigroup(IsTransformationSemigroup, 2, 1);;
|
|
385
|
+
gap> R := ReesZeroMatrixSemigroup(S, [[S.1]]);;
|
|
386
|
+
gap> MaximalSubsemigroups(R);
|
|
387
|
+
[ <Rees 0-matrix semigroup ideal with 3 generators>,
|
|
388
|
+
<subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators> ]
|
|
389
|
+
|
|
390
|
+
# for a non-regular Rees 0-matrix semigroup
|
|
391
|
+
gap> R := ReesZeroMatrixSemigroup(Group(()), [[0]]);; # not regular
|
|
392
|
+
gap> MaximalSubsemigroups(R, rec(number := true));
|
|
393
|
+
1
|
|
394
|
+
|
|
395
|
+
# maximal: MaximalSubsemigroups, for Rees 0-matrix semigroup, 4
|
|
396
|
+
gap> R := ReesZeroMatrixSemigroup(Group((1, 2)), [[(), ()]]);
|
|
397
|
+
<Rees 0-matrix semigroup 2x1 over Group([ (1,2) ])>
|
|
398
|
+
gap> MaximalSubsemigroups(R);
|
|
399
|
+
[ <subsemigroup of 2x1 Rees 0-matrix semigroup with 2 generators>,
|
|
400
|
+
<Rees 0-matrix semigroup 1x1 over Group([ (1,2) ])>,
|
|
401
|
+
<Rees 0-matrix semigroup 1x1 over Group([ (1,2) ])>,
|
|
402
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 3 generators> ]
|
|
403
|
+
|
|
404
|
+
# maximal: MaximalSubsemigroups, for Rees 0-matrix semigroup, 5
|
|
405
|
+
gap> R := ReesZeroMatrixSemigroup(Group(()), [[()], [()]]);
|
|
406
|
+
<Rees 0-matrix semigroup 1x2 over Group(())>
|
|
407
|
+
gap> MaximalSubsemigroups(R);
|
|
408
|
+
[ <subsemigroup of 1x2 Rees 0-matrix semigroup with 2 generators>,
|
|
409
|
+
<Rees 0-matrix semigroup 1x1 over Group(())>,
|
|
410
|
+
<Rees 0-matrix semigroup 1x1 over Group(())> ]
|
|
411
|
+
|
|
412
|
+
# maximal: MaximalSubsemigroups, for Rees 0-matrix semigroup, 6
|
|
413
|
+
gap> R := ReesZeroMatrixSemigroup(Group((1, 2)),
|
|
414
|
+
> [[(), 0], [0, (1, 2)]]);
|
|
415
|
+
<Rees 0-matrix semigroup 2x2 over Group([ (1,2) ])>
|
|
416
|
+
gap> MaximalSubsemigroups(R);
|
|
417
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 3 generators>,
|
|
418
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 3 generators>,
|
|
419
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators>,
|
|
420
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators> ]
|
|
421
|
+
|
|
422
|
+
# maximal: MaximalSubsemigroups, for Rees 0-matrix semigroup, 7
|
|
423
|
+
gap> R := ReesZeroMatrixSemigroup(Group([()]),
|
|
424
|
+
> [[(), (), 0, 0], [(), (), (), 0],
|
|
425
|
+
> [0, (), (), ()]]);
|
|
426
|
+
<Rees 0-matrix semigroup 4x3 over Group(())>
|
|
427
|
+
gap> MaximalSubsemigroups(R);
|
|
428
|
+
[ <Rees 0-matrix semigroup 4x2 over Group(())>,
|
|
429
|
+
<Rees 0-matrix semigroup 4x2 over Group(())>,
|
|
430
|
+
<Rees 0-matrix semigroup 3x3 over Group(())>,
|
|
431
|
+
<Rees 0-matrix semigroup 3x3 over Group(())>,
|
|
432
|
+
<Rees 0-matrix semigroup 3x3 over Group(())>,
|
|
433
|
+
<Rees 0-matrix semigroup 3x3 over Group(())>,
|
|
434
|
+
<subsemigroup of 4x3 Rees 0-matrix semigroup with 5 generators>,
|
|
435
|
+
<subsemigroup of 4x3 Rees 0-matrix semigroup with 5 generators>,
|
|
436
|
+
<subsemigroup of 4x3 Rees 0-matrix semigroup with 5 generators> ]
|
|
437
|
+
|
|
438
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 8
|
|
439
|
+
gap> R := ReesZeroMatrixSemigroup(Group([()]),
|
|
440
|
+
> [[(), (), 0], [0, 0, ()]]);;
|
|
441
|
+
gap> MaximalSubsemigroups(R, rec(types := [5]));
|
|
442
|
+
[ <subsemigroup of 3x2 Rees 0-matrix semigroup with 5 generators>,
|
|
443
|
+
<subsemigroup of 3x2 Rees 0-matrix semigroup with 4 generators> ]
|
|
444
|
+
gap> R := ReesZeroMatrixSemigroup(Group([()]),
|
|
445
|
+
> [[(), 0], [(), 0], [0, ()]]);;
|
|
446
|
+
gap> MaximalSubsemigroups(R, rec(types := [5]));
|
|
447
|
+
[ <subsemigroup of 2x3 Rees 0-matrix semigroup with 4 generators>,
|
|
448
|
+
<subsemigroup of 2x3 Rees 0-matrix semigroup with 5 generators> ]
|
|
449
|
+
|
|
450
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 9
|
|
451
|
+
gap> S := Semigroup([Transformation([2, 1])]);;
|
|
452
|
+
gap> R := ReesZeroMatrixSemigroup(S, [[S.1]]);;
|
|
453
|
+
gap> MaximalSubsemigroups(R);
|
|
454
|
+
[ <subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators>,
|
|
455
|
+
<subsemigroup of 1x1 Rees 0-matrix semigroup with 2 generators> ]
|
|
456
|
+
gap> R := ReesZeroMatrixSemigroup(S, [[S.1, S.1], [0, S.1]]);;
|
|
457
|
+
gap> MaximalSubsemigroups(R, rec(types := [5]));
|
|
458
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 2 generators> ]
|
|
459
|
+
|
|
460
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 10
|
|
461
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3), [[()]]);
|
|
462
|
+
<Rees 0-matrix semigroup 1x1 over Sym( [ 1 .. 3 ] )>
|
|
463
|
+
gap> MaximalSubsemigroups(R, rec(types := [6],
|
|
464
|
+
> contain := [RMSElement(R, 1, (), 1),
|
|
465
|
+
> RMSElement(R, 1, (1, 2, 3), 1),
|
|
466
|
+
> RMSElement(R, 1, (1, 3, 2), 1)]));
|
|
467
|
+
[ <subsemigroup of 1x1 Rees 0-matrix semigroup with 3 generators> ]
|
|
468
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3), [[(), 0], [0, ()]]);
|
|
469
|
+
<Rees 0-matrix semigroup 2x2 over Sym( [ 1 .. 3 ] )>
|
|
470
|
+
gap> MaximalSubsemigroups(R, rec(types := [6],
|
|
471
|
+
> contain := [RMSElement(R, 2, (), 1), RMSElement(R, 1, (1, 2, 3), 2)]));
|
|
472
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators> ]
|
|
473
|
+
|
|
474
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 11
|
|
475
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3),
|
|
476
|
+
> [[(), (), (), 0, 0, 0, 0, 0],
|
|
477
|
+
> [(), 0, 0, 0, 0, 0, 0, 0],
|
|
478
|
+
> [0, 0, 0, (1, 2, 3), (), (), 0, 0],
|
|
479
|
+
> [0, 0, 0, (), 0, 0, 0, 0],
|
|
480
|
+
> [0, 0, 0, 0, 0, 0, (), ()],
|
|
481
|
+
> [0, 0, 0, 0, 0, 0, (), (1, 2)]]);;
|
|
482
|
+
gap> MaximalSubsemigroups(R, rec(
|
|
483
|
+
> number := true,
|
|
484
|
+
> types := [6],
|
|
485
|
+
> contain := [RMSElement(R, 1, (), 6), RMSElement(R, 8, (), 4)]));
|
|
486
|
+
1
|
|
487
|
+
gap> MaximalSubsemigroups(R, rec(
|
|
488
|
+
> number := true,
|
|
489
|
+
> types := [6],
|
|
490
|
+
> contain := [RMSElement(R, 1, (), 6),
|
|
491
|
+
> RMSElement(R, 1, (1, 2, 3), 4),
|
|
492
|
+
> RMSElement(R, 8, (), 4)]));
|
|
493
|
+
0
|
|
494
|
+
|
|
495
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 12
|
|
496
|
+
gap> R := ReesZeroMatrixSemigroup(Group(()), [[()]]);
|
|
497
|
+
<Rees 0-matrix semigroup 1x1 over Group(())>
|
|
498
|
+
gap> MaximalSubsemigroups(R, rec(gens := true));
|
|
499
|
+
[ [ 0 ], [ (1,(),1) ] ]
|
|
500
|
+
gap> MaximalSubsemigroupsNC(R, rec());
|
|
501
|
+
[ <subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator>,
|
|
502
|
+
<subsemigroup of 1x1 Rees 0-matrix semigroup with 1 generator> ]
|
|
503
|
+
gap> R := ReesZeroMatrixSemigroup(Group([(1, 2), (3, 4)]),
|
|
504
|
+
> [[(), ()], [(), ()]]);
|
|
505
|
+
<Rees 0-matrix semigroup 2x2 over Group([ (1,2), (3,4) ])>
|
|
506
|
+
gap> x := RMSElement(R, 1, (1, 2), 1);;
|
|
507
|
+
gap> NrMaximalSubsemigroups(R);
|
|
508
|
+
8
|
|
509
|
+
gap> MaximalSubsemigroups(R, rec(contain := [x]));
|
|
510
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators>,
|
|
511
|
+
<Rees 0-matrix semigroup 2x1 over Group([ (3,4), (1,2) ])>,
|
|
512
|
+
<Rees 0-matrix semigroup 1x2 over Group([ (3,4), (1,2) ])>,
|
|
513
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 5 generators> ]
|
|
514
|
+
gap> MaximalSubsemigroups(R, rec(D := DClass(R, x), number := true));
|
|
515
|
+
7
|
|
516
|
+
gap> MaximalSubsemigroups(R, rec(D := DClass(R, MultiplicativeZero(R)),
|
|
517
|
+
> number := true));
|
|
518
|
+
1
|
|
519
|
+
gap> MaximalSubsemigroups(R, rec(D := DClass(R, x),
|
|
520
|
+
> number := true,
|
|
521
|
+
> types := [2]));
|
|
522
|
+
0
|
|
523
|
+
gap> MaximalSubsemigroups(R, rec(D := DClass(R, MultiplicativeZero(R)),
|
|
524
|
+
> number := true,
|
|
525
|
+
> types := [1, 3, 4, 5, 6]));
|
|
526
|
+
0
|
|
527
|
+
gap> MaximalSubsemigroups(R, rec(types := [3], gens := true));
|
|
528
|
+
[ [ (1,(1,2),2), (1,(3,4),2), (2,(),2), 0 ],
|
|
529
|
+
[ (1,(1,2),1), (1,(3,4),1), (2,(),1), 0 ] ]
|
|
530
|
+
gap> MaximalSubsemigroups(R, rec(types := [4], gens := true));
|
|
531
|
+
[ [ (2,(1,2),1), (2,(3,4),1), (2,(),2), 0 ],
|
|
532
|
+
[ (1,(1,2),1), (1,(3,4),1), (1,(),2), 0 ] ]
|
|
533
|
+
gap> R := ReesZeroMatrixSemigroup(Group(()), [[(), 0], [(), ()]]);
|
|
534
|
+
<Rees 0-matrix semigroup 2x2 over Group(())>
|
|
535
|
+
gap> MaximalSubsemigroups(R, rec(types := [5], gens := false));
|
|
536
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 2 generators> ]
|
|
537
|
+
gap> MaximalSubsemigroups(R, rec(types := [5], gens := true));
|
|
538
|
+
[ [ (2,(),2), (1,(),1) ] ]
|
|
539
|
+
gap> R := ReesZeroMatrixSemigroup(Group((1, 2)), [[(), 0], [0, ()]]);
|
|
540
|
+
<Rees 0-matrix semigroup 2x2 over Group([ (1,2) ])>
|
|
541
|
+
gap> MaximalSubsemigroups(R, rec(types := [5, 6],
|
|
542
|
+
> contain := [MultiplicativeZero(R),
|
|
543
|
+
> RMSElement(R, 2, (), 1)]));
|
|
544
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 3 generators>,
|
|
545
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators> ]
|
|
546
|
+
|
|
547
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix semigroup, 13
|
|
548
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(2), [[(), 0], [0, ()]]);
|
|
549
|
+
<Rees 0-matrix semigroup 2x2 over Sym( [ 1 .. 2 ] )>
|
|
550
|
+
gap> SetIdempotentGeneratedSubsemigroup(R, Semigroup(Idempotents(R)));
|
|
551
|
+
gap> MaximalSubsemigroups(R, rec(types := [6]));
|
|
552
|
+
[ <subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators>,
|
|
553
|
+
<subsemigroup of 2x2 Rees 0-matrix semigroup with 4 generators> ]
|
|
554
|
+
|
|
555
|
+
# maximal: MaximalSubsemigroups, for Rees 0-matrix subsemigroup, 1
|
|
556
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(2), [[0, 0]]);
|
|
557
|
+
<Rees 0-matrix semigroup 2x1 over Sym( [ 1 .. 2 ] )>
|
|
558
|
+
gap> U := Semigroup([
|
|
559
|
+
> RMSElement(R, 1, (), 1),
|
|
560
|
+
> RMSElement(R, 1, (1, 2), 1),
|
|
561
|
+
> RMSElement(R, 2, (), 1)]);
|
|
562
|
+
<subsemigroup of 2x1 Rees 0-matrix semigroup with 3 generators>
|
|
563
|
+
gap> IsReesZeroMatrixSemigroup(U);
|
|
564
|
+
false
|
|
565
|
+
gap> MaximalSubsemigroups(U);
|
|
566
|
+
[ <Rees 0-matrix semigroup ideal with 3 generators>,
|
|
567
|
+
<Rees 0-matrix semigroup ideal with 3 generators>,
|
|
568
|
+
<Rees 0-matrix semigroup ideal with 3 generators> ]
|
|
569
|
+
|
|
570
|
+
# maximal: MaximalSubsemigroups, for a Rees 0-matrix subsemigroup, 2
|
|
571
|
+
gap> R := ReesZeroMatrixSemigroup(SymmetricGroup(3),
|
|
572
|
+
> [[(), 0, ()],
|
|
573
|
+
> [(), (), (1, 2)],
|
|
574
|
+
> [0, (1, 3), ()],
|
|
575
|
+
> [0, 0, ()]]);
|
|
576
|
+
<Rees 0-matrix semigroup 3x4 over Sym( [ 1 .. 3 ] )>
|
|
577
|
+
gap> U := ReesZeroMatrixSubsemigroup(R, [2, 3], SymmetricGroup(3), [2 .. 4]);
|
|
578
|
+
<Rees 0-matrix semigroup 2x3 over Sym( [ 1 .. 3 ] )>
|
|
579
|
+
gap> IsReesZeroMatrixSemigroup(U);
|
|
580
|
+
true
|
|
581
|
+
gap> MaximalSubsemigroups(U);
|
|
582
|
+
[ <Rees 0-matrix semigroup 2x2 over Sym( [ 1 .. 3 ] )>,
|
|
583
|
+
<Rees 0-matrix semigroup 2x2 over Sym( [ 1 .. 3 ] )>,
|
|
584
|
+
<Rees 0-matrix semigroup 2x2 over Group([ (2,3), (1,2) ])>,
|
|
585
|
+
<Rees 0-matrix semigroup 1x3 over Group([ (2,3), (1,2) ])>,
|
|
586
|
+
<subsemigroup of 3x4 Rees 0-matrix semigroup with 5 generators>,
|
|
587
|
+
<subsemigroup of 3x4 Rees 0-matrix semigroup with 5 generators> ]
|
|
588
|
+
|
|
589
|
+
# maximal: MaximalSubsemigroups, for a permutation group, 1
|
|
590
|
+
gap> List(MaximalSubsemigroups(SymmetricGroup(3)), IsGroupAsSemigroup);
|
|
591
|
+
[ true, true, true, true ]
|
|
592
|
+
|
|
593
|
+
# maximal: MaximalSubsemigroups, for a transformation group, 1
|
|
594
|
+
gap> MaximalSubsemigroups(Semigroup(Transformation([2, 3, 1])))
|
|
595
|
+
> = [TrivialSemigroup()];
|
|
596
|
+
true
|
|
597
|
+
|
|
598
|
+
# maximal: MaximalSubsemigroups, for a transformation semigroup, 1
|
|
599
|
+
gap> S := Semigroup([
|
|
600
|
+
> Transformation([1, 1, 2]),
|
|
601
|
+
> Transformation([1, 1, 1]),
|
|
602
|
+
> Transformation([2, 2, 2])]);;
|
|
603
|
+
gap> MaximalSubsemigroups(S, rec(
|
|
604
|
+
> number := true,
|
|
605
|
+
> contain := [Transformation([1, 1, 2]), Transformation([2, 2, 2])]));
|
|
606
|
+
0
|
|
607
|
+
|
|
608
|
+
# maximal: MaximalSubsemigroups, for a transformation semigroup, 2
|
|
609
|
+
gap> S := Semigroup([
|
|
610
|
+
> Transformation([2, 4, 5, 4, 4, 2]),
|
|
611
|
+
> Transformation([4, 1, 4, 4, 3, 3]),
|
|
612
|
+
> Transformation([6, 3, 6, 2, 4, 1])]);;
|
|
613
|
+
gap> Length(MaximalSubsemigroups(S,
|
|
614
|
+
> rec(D := DClass(S, Transformation([2, 4, 5, 4, 4, 2])))));
|
|
615
|
+
6
|
|
616
|
+
|
|
617
|
+
# maximal: MaximalSubsemigroups, for a transformation semigroup, 3
|
|
618
|
+
gap> S := Semigroup([
|
|
619
|
+
> Transformation([1, 4, 3, 4, 4, 1]),
|
|
620
|
+
> Transformation([2, 4, 5, 4, 4, 2]),
|
|
621
|
+
> Transformation([4, 3, 5, 5, 1])]);;
|
|
622
|
+
gap> Length(MaximalSubsemigroups(S,
|
|
623
|
+
> rec(D := DClass(S, Transformation([1, 4, 3, 4, 4, 1])))));
|
|
624
|
+
3
|
|
625
|
+
|
|
626
|
+
# maximal: MaximalSubsemigroups, for a transformation semigroup, 4
|
|
627
|
+
gap> S := Semigroup([
|
|
628
|
+
> Transformation([2, 4, 5, 4, 4, 2]),
|
|
629
|
+
> Transformation([4, 1, 4, 4, 3, 3]),
|
|
630
|
+
> Transformation([5, 1, 6, 1, 6, 3])]);;
|
|
631
|
+
gap> Length(MaximalSubsemigroups(S,
|
|
632
|
+
> rec(D := DClass(S, Transformation([2, 4, 5, 4, 4, 2])))));
|
|
633
|
+
6
|
|
634
|
+
|
|
635
|
+
# maximal: MaximalSubsemigroups, for a transformation semigroup, 5
|
|
636
|
+
gap> S := Semigroup([
|
|
637
|
+
> Transformation([1, 5, 6, 5, 2, 6]),
|
|
638
|
+
> Transformation([4, 6, 5, 4, 4, 3]),
|
|
639
|
+
> Transformation([5, 3, 2, 2, 3, 5]),
|
|
640
|
+
> Transformation([6, 4, 2, 1, 3, 6]),
|
|
641
|
+
> Transformation([6, 5, 1, 5, 2, 1])]);;
|
|
642
|
+
gap> D := DClass(S, Transformation([4, 6, 5, 4, 4, 3]));
|
|
643
|
+
<Green's D-class: Transformation( [ 4, 6, 5, 4, 4, 3 ] )>
|
|
644
|
+
gap> max := MaximalSubsemigroups(S, rec(D := D));;
|
|
645
|
+
gap> List(max, Size);
|
|
646
|
+
[ 2382, 2380 ]
|
|
647
|
+
|
|
648
|
+
# maximal: MaximalSubsemigroups, for a transformation monoid, 1
|
|
649
|
+
|
|
650
|
+
# Trivial semigroup
|
|
651
|
+
gap> MaximalSubsemigroups(TrivialSemigroup());
|
|
652
|
+
[ ]
|
|
653
|
+
gap> MaximalSubsemigroupsNC(TrivialSemigroup(), rec());
|
|
654
|
+
[ ]
|
|
655
|
+
|
|
656
|
+
# maximal: MaximalSubsemigroups, for a transformation monoid, 2
|
|
657
|
+
gap> S := Monoid([
|
|
658
|
+
> Transformation([1, 2, 3, 4, 3]),
|
|
659
|
+
> Transformation([1, 2, 3, 4, 1]),
|
|
660
|
+
> Transformation([1, 1, 1, 1, 1]),
|
|
661
|
+
> Transformation([2, 2, 2, 2, 2])]);;
|
|
662
|
+
gap> max := MaximalSubsemigroups(S);;
|
|
663
|
+
gap> NrMaximalSubsemigroups(S);
|
|
664
|
+
5
|
|
665
|
+
gap> correct := [
|
|
666
|
+
> Semigroup([
|
|
667
|
+
> Transformation([1, 1, 1, 1, 1]),
|
|
668
|
+
> Transformation([1, 2, 3, 4, 1]),
|
|
669
|
+
> Transformation([1, 2, 3, 4, 3]),
|
|
670
|
+
> Transformation([2, 2, 2, 2, 2])]),
|
|
671
|
+
> Monoid([
|
|
672
|
+
> Transformation([1, 1, 1, 1, 1]),
|
|
673
|
+
> Transformation([1, 2, 3, 4, 1]),
|
|
674
|
+
> Transformation([2, 2, 2, 2, 2])]),
|
|
675
|
+
> Monoid([
|
|
676
|
+
> Transformation([1, 1, 1, 1, 1]),
|
|
677
|
+
> Transformation([1, 2, 3, 4, 3]),
|
|
678
|
+
> Transformation([2, 2, 2, 2, 2])]),
|
|
679
|
+
> Monoid([
|
|
680
|
+
> Transformation([1, 2, 3, 4, 1]),
|
|
681
|
+
> Transformation([1, 2, 3, 4, 3]),
|
|
682
|
+
> Transformation([2, 2, 2, 2, 2])]),
|
|
683
|
+
> Monoid([
|
|
684
|
+
> Transformation([1, 1, 1, 1, 1]),
|
|
685
|
+
> Transformation([1, 2, 3, 4, 1]),
|
|
686
|
+
> Transformation([1, 2, 3, 4, 3])])];;
|
|
687
|
+
gap> max = correct;
|
|
688
|
+
true
|
|
689
|
+
|
|
690
|
+
# maximal: MaximalSubsemigroups, for a transformation monoid, 3
|
|
691
|
+
gap> S := Monoid([Transformation([1, 1, 2])]);
|
|
692
|
+
<commutative transformation monoid of degree 3 with 1 generator>
|
|
693
|
+
gap> MaximalSubsemigroups(S, rec(
|
|
694
|
+
> number := true,
|
|
695
|
+
> contain := [Transformation([1, 1, 2])]));
|
|
696
|
+
1
|
|
697
|
+
gap> MaximalSubsemigroups(S, rec(
|
|
698
|
+
> number := true,
|
|
699
|
+
> contain := [One(S)]));
|
|
700
|
+
1
|
|
701
|
+
|
|
702
|
+
# maximal: MaximalSubsemigroups, for a transformation monoid, 4
|
|
703
|
+
gap> S := Monoid([Transformation([1, 1, 2]), Transformation([2, 1])]);;
|
|
704
|
+
gap> MaximalSubsemigroups(S, rec(
|
|
705
|
+
> number := true,
|
|
706
|
+
> D := DClass(S, Transformation([1, 1, 2])),
|
|
707
|
+
> contain := [Transformation([1, 1, 2])]));
|
|
708
|
+
0
|
|
709
|
+
|
|
710
|
+
# maximal: MaximalSubsemigroups, for a transformation monoid, 5
|
|
711
|
+
gap> S := Monoid([
|
|
712
|
+
> Transformation([1, 1, 6, 4, 5, 6, 4, 6, 5, 6, 1]),
|
|
713
|
+
> Transformation([2, 2, 6, 7, 9, 6, 7, 6, 9, 6, 2]),
|
|
714
|
+
> Transformation([3, 3, 6, 8, 10, 6, 8, 6, 10, 6, 3]),
|
|
715
|
+
> Transformation([1, 1, 6, 4, 5, 6, 4, 6, 5, 6, 4]),
|
|
716
|
+
> Transformation([6, 6, 1, 6, 6, 6, 6, 4, 6, 5, 5])]);;
|
|
717
|
+
gap> MaximalSubsemigroups(S,
|
|
718
|
+
> rec(D := DClass(S, Transformation([1, 1, 6, 4, 5, 6, 4, 6, 5, 6, 1]))));
|
|
719
|
+
[ <transformation monoid of degree 11 with 7 generators>,
|
|
720
|
+
<transformation monoid of degree 11 with 7 generators>,
|
|
721
|
+
<transformation monoid of degree 11 with 5 generators>,
|
|
722
|
+
<transformation monoid of degree 11 with 5 generators>,
|
|
723
|
+
<transformation monoid of degree 11 with 5 generators>,
|
|
724
|
+
<transformation monoid of degree 11 with 5 generators> ]
|
|
725
|
+
|
|
726
|
+
# maximal: NrMaximalSubsemigroups, for a transformation semigroup, 1
|
|
727
|
+
gap> S := Semigroup([
|
|
728
|
+
> Transformation([1, 1, 2, 1, 4, 4]),
|
|
729
|
+
> Transformation([1, 3, 1, 5, 1, 3])]);
|
|
730
|
+
<transformation semigroup of degree 6 with 2 generators>
|
|
731
|
+
gap> NrMaximalSubsemigroups(S);
|
|
732
|
+
2
|
|
733
|
+
|
|
734
|
+
# maximal: NrMaximalSubsemigroups, for a transformation semigroup, 2
|
|
735
|
+
gap> S := Semigroup([
|
|
736
|
+
> Transformation([2, 2, 2, 1]), Transformation([2, 3, 4, 3])]);
|
|
737
|
+
<transformation semigroup of degree 4 with 2 generators>
|
|
738
|
+
gap> NrMaximalSubsemigroups(S);
|
|
739
|
+
3
|
|
740
|
+
|
|
741
|
+
# maximal: NrMaximalSubsemigroups, for a transformation semigroup, 3
|
|
742
|
+
gap> S := Semigroup([
|
|
743
|
+
> Transformation([1, 2, 1, 2, 6, 6]),
|
|
744
|
+
> Transformation([1, 3, 1, 3]),
|
|
745
|
+
> Transformation([2, 1]),
|
|
746
|
+
> Transformation([3, 4, 1, 2])]);
|
|
747
|
+
<transformation semigroup of degree 6 with 4 generators>
|
|
748
|
+
gap> NrMaximalSubsemigroups(S);
|
|
749
|
+
5
|
|
750
|
+
|
|
751
|
+
# maximal: NrMaximalSubsemigroups, for a transformation semigroup, 4
|
|
752
|
+
gap> S := Semigroup([
|
|
753
|
+
> Transformation([2, 1, 5, 2, 4]),
|
|
754
|
+
> Transformation([2, 3, 4, 3, 1]),
|
|
755
|
+
> Transformation([3, 4, 1, 4, 3]),
|
|
756
|
+
> Transformation([3, 4, 2, 2, 2]),
|
|
757
|
+
> Transformation([5, 1, 1, 2, 3])]);
|
|
758
|
+
<transformation semigroup of degree 5 with 5 generators>
|
|
759
|
+
gap> NrMaximalSubsemigroups(S);
|
|
760
|
+
8
|
|
761
|
+
|
|
762
|
+
# maximal: NrMaximalSubsemigroups, for a transformation monoid, 1
|
|
763
|
+
gap> S := Monoid([
|
|
764
|
+
> Transformation([1, 1, 2, 1, 4, 4]),
|
|
765
|
+
> Transformation([1, 3, 1, 5, 1, 3])]);
|
|
766
|
+
<transformation monoid of degree 6 with 2 generators>
|
|
767
|
+
gap> NrMaximalSubsemigroups(S);
|
|
768
|
+
3
|
|
769
|
+
|
|
770
|
+
# maximal: NrMaximalSubsemigroups, for a transformation monoid, 2
|
|
771
|
+
gap> S := Monoid(Transformation([1, 1, 2]));
|
|
772
|
+
<commutative transformation monoid of degree 3 with 1 generator>
|
|
773
|
+
gap> NrMaximalSubsemigroups(S);
|
|
774
|
+
2
|
|
775
|
+
|
|
776
|
+
# maximal: NrMaximalSubsemigroups, for a transformation monoid, 3
|
|
777
|
+
gap> S := Monoid([
|
|
778
|
+
> Transformation([1, 1, 1, 1, 1, 1]),
|
|
779
|
+
> Transformation([1, 2, 3, 4, 5, 4]),
|
|
780
|
+
> Transformation([1, 3, 2, 5, 4, 3])]);
|
|
781
|
+
<transformation monoid of degree 6 with 3 generators>
|
|
782
|
+
gap> NrMaximalSubsemigroups(S);
|
|
783
|
+
5
|
|
784
|
+
|
|
785
|
+
# maximal: NrMaximalSubsemigroups, for a transformation monoid, 4
|
|
786
|
+
gap> S := Monoid([
|
|
787
|
+
> Transformation([1, 1, 2, 1, 4, 1, 6, 1, 8, 6]),
|
|
788
|
+
> Transformation([1, 3, 1, 5, 1, 7, 1, 9, 1, 3]),
|
|
789
|
+
> Transformation([1, 4, 1, 2, 1, 8, 1, 6, 1, 4])]);
|
|
790
|
+
<transformation monoid of degree 10 with 3 generators>
|
|
791
|
+
gap> NrMaximalSubsemigroups(S);
|
|
792
|
+
5
|
|
793
|
+
|
|
794
|
+
# Fix for Issue #230
|
|
795
|
+
# MaximalSubsemigroups subsemigroups for a Rees 0-matrix semigroup was failing
|
|
796
|
+
# to find certain maximal subsemigroups of type 6 (intersect every H-class) when
|
|
797
|
+
# the option 'contain' was being used.
|
|
798
|
+
gap> G := Group([(1, 5, 4, 3, 2), (1, 5)(2, 4)]);;
|
|
799
|
+
gap> mat := [
|
|
800
|
+
> [(), 0, 0, 0, 0, 0],
|
|
801
|
+
> [0, (), 0, 0, 0, 0],
|
|
802
|
+
> [0, 0, (), 0, 0, 0],
|
|
803
|
+
> [0, 0, 0, (), 0, 0],
|
|
804
|
+
> [0, 0, 0, 0, (), 0],
|
|
805
|
+
> [0, 0, 0, 0, 0, ()]];;
|
|
806
|
+
gap> R := ReesZeroMatrixSemigroup(G, mat);
|
|
807
|
+
<Rees 0-matrix semigroup 6x6 over Group([ (1,5,4,3,2), (1,5)(2,4) ])>
|
|
808
|
+
gap> gens := [
|
|
809
|
+
> RMSElement(R, 1, (), 6),
|
|
810
|
+
> RMSElement(R, 1, (1, 5, 4, 3, 2), 2),
|
|
811
|
+
> RMSElement(R, 1, (1, 5, 4, 3, 2), 3),
|
|
812
|
+
> RMSElement(R, 1, (1, 5, 4, 3, 2), 4),
|
|
813
|
+
> RMSElement(R, 1, (1, 5, 4, 3, 2), 5),
|
|
814
|
+
> RMSElement(R, 1, (1, 5)(2, 4), 1),
|
|
815
|
+
> RMSElement(R, 2, (1, 2, 3, 4, 5), 1),
|
|
816
|
+
> RMSElement(R, 3, (1, 2, 3, 4, 5), 1),
|
|
817
|
+
> RMSElement(R, 4, (1, 2, 3, 4, 5), 1),
|
|
818
|
+
> RMSElement(R, 5, (1, 2, 3, 4, 5), 1),
|
|
819
|
+
> RMSElement(R, 6, (), 1)];;
|
|
820
|
+
gap> M := Semigroup(gens);
|
|
821
|
+
<subsemigroup of 6x6 Rees 0-matrix semigroup with 11 generators>
|
|
822
|
+
gap> contain := [
|
|
823
|
+
> RMSElement(R, 1, (1, 5)(2, 4), 6),
|
|
824
|
+
> RMSElement(R, 1, (), 6),
|
|
825
|
+
> RMSElement(R, 2, (1, 2, 3, 4, 5), 1),
|
|
826
|
+
> RMSElement(R, 2, (), 5),
|
|
827
|
+
> RMSElement(R, 3, (), 2),
|
|
828
|
+
> RMSElement(R, 3, (1, 3)(4, 5), 4),
|
|
829
|
+
> RMSElement(R, 4, (), 3),
|
|
830
|
+
> RMSElement(R, 4, (1, 3)(4, 5), 3),
|
|
831
|
+
> RMSElement(R, 5, (1, 3)(4, 5), 4),
|
|
832
|
+
> RMSElement(R, 5, (), 2),
|
|
833
|
+
> RMSElement(R, 6, (1, 5, 4, 3, 2), 5),
|
|
834
|
+
> RMSElement(R, 6, (), 1)];;
|
|
835
|
+
gap> IsSubset(M, contain);
|
|
836
|
+
true
|
|
837
|
+
gap> max := MaximalSubsemigroups(R, rec(types := [6], contain := contain));
|
|
838
|
+
[ <subsemigroup of 6x6 Rees 0-matrix semigroup with 17 generators> ]
|
|
839
|
+
gap> M in max;
|
|
840
|
+
true
|
|
841
|
+
|
|
842
|
+
# maximal: maximal subsemigroups that contain all of a non-trivial non-maximal
|
|
843
|
+
# regular D-class
|
|
844
|
+
gap> S := Monoid([Transformation([1, 1]), Transformation([2, 2])]);;
|
|
845
|
+
gap> max := MaximalSubsemigroups(S, rec(contain := GeneratorsOfMonoid(S)));;
|
|
846
|
+
gap> Length(max) = 1;
|
|
847
|
+
true
|
|
848
|
+
gap> max[1] = Semigroup(GeneratorsOfMonoid(S));
|
|
849
|
+
true
|
|
850
|
+
|
|
851
|
+
#
|
|
852
|
+
gap> SEMIGROUPS.StopTest();
|
|
853
|
+
gap> STOP_TEST("Semigroups package: standard/attributes/maximal.tst");
|