passagemath-gap-pkg-semigroups 10.6.29__cp312-abi3-musllinux_1_2_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-gap-pkg-semigroups might be problematic. Click here for more details.
- 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-pc-linux-musl-default64-kv10/semigroups.so +0 -0
- gap/pkg/semigroups/config.guess +1807 -0
- gap/pkg/semigroups/config.log +1068 -0
- gap/pkg/semigroups/config.status +1133 -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 +356 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/WHEEL +5 -0
- passagemath_gap_pkg_semigroups-10.6.29.dist-info/top_level.txt +1 -0
- passagemath_gap_pkg_semigroups.libs/libgcc_s-0cd532bd.so.1 +0 -0
- passagemath_gap_pkg_semigroups.libs/libsemigroups-f0b7066b.so.2.0.0 +0 -0
- passagemath_gap_pkg_semigroups.libs/libstdc++-5d72f927.so.6.0.33 +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,654 @@
|
|
|
1
|
+
#############################################################################
|
|
2
|
+
##
|
|
3
|
+
#W standard/semigroups/semimaxplus.tst
|
|
4
|
+
#Y Copyright (C) 2015-2022 James D. Mitchell
|
|
5
|
+
##
|
|
6
|
+
## Licensing information can be found in the README file of this package.
|
|
7
|
+
##
|
|
8
|
+
#############################################################################
|
|
9
|
+
##
|
|
10
|
+
|
|
11
|
+
#@local BruteForceInverseCheck, BruteForceIsoCheck, F, S, T, i, inv, map, mat
|
|
12
|
+
#@local rels, x, y
|
|
13
|
+
gap> START_TEST("Semigroups package: standard/semigroups/semimaxplus.tst");
|
|
14
|
+
gap> LoadPackage("semigroups", false);;
|
|
15
|
+
|
|
16
|
+
#
|
|
17
|
+
gap> SEMIGROUPS.StartTest();
|
|
18
|
+
|
|
19
|
+
# semimaxplus: C++ code working, for max-plus matrix semigroup
|
|
20
|
+
gap> S := Semigroup(Matrix(IsMaxPlusMatrix, [[0, -4], [-4, -1]]),
|
|
21
|
+
> Matrix(IsMaxPlusMatrix, [[0, -3], [-3, -1]]));
|
|
22
|
+
<semigroup of 2x2 max-plus matrices with 2 generators>
|
|
23
|
+
gap> Size(S);
|
|
24
|
+
26
|
|
25
|
+
gap> NrDClasses(S);
|
|
26
|
+
23
|
|
27
|
+
gap> NrRClasses(S);
|
|
28
|
+
24
|
|
29
|
+
gap> NrLClasses(S);
|
|
30
|
+
24
|
|
31
|
+
gap> NrHClasses(S);
|
|
32
|
+
26
|
|
33
|
+
gap> NrIdempotents(S);
|
|
34
|
+
4
|
|
35
|
+
gap> MultiplicativeZero(S);
|
|
36
|
+
fail
|
|
37
|
+
gap> AsSemigroup(IsMaxPlusMatrixSemigroup, S) = S;
|
|
38
|
+
true
|
|
39
|
+
|
|
40
|
+
# semimaxplus: C++ code working, for natural matrix semigroup
|
|
41
|
+
gap> S := Monoid(Matrix(IsNTPMatrix, [[0, 1, 0], [1, 1, 0], [0, 1, 0]], 1, 2),
|
|
42
|
+
> Matrix(IsNTPMatrix, [[1, 0, 0], [1, 0, 1], [1, 0, 0]], 1, 2));
|
|
43
|
+
<monoid of 3x3 ntp matrices with 2 generators>
|
|
44
|
+
gap> Size(S);
|
|
45
|
+
37
|
|
46
|
+
gap> Length(RelationsOfFpMonoid(Range(IsomorphismFpMonoid(S))));
|
|
47
|
+
12
|
|
48
|
+
gap> NrDClasses(S);
|
|
49
|
+
8
|
|
50
|
+
gap> NrRClasses(S);
|
|
51
|
+
14
|
|
52
|
+
gap> NrLClasses(S);
|
|
53
|
+
17
|
|
54
|
+
gap> NrHClasses(S);
|
|
55
|
+
35
|
|
56
|
+
gap> NrIdempotents(S);
|
|
57
|
+
20
|
|
58
|
+
gap> MultiplicativeZero(S);
|
|
59
|
+
fail
|
|
60
|
+
|
|
61
|
+
# helper functions
|
|
62
|
+
gap> BruteForceIsoCheck := function(iso)
|
|
63
|
+
> local x, y;
|
|
64
|
+
> if not IsInjective(iso) or not IsSurjective(iso) then
|
|
65
|
+
> return false;
|
|
66
|
+
> fi;
|
|
67
|
+
> for x in Generators(Source(iso)) do
|
|
68
|
+
> for y in Generators(Source(iso)) do
|
|
69
|
+
> if x ^ iso * y ^ iso <> (x * y) ^ iso then
|
|
70
|
+
> return false;
|
|
71
|
+
> fi;
|
|
72
|
+
> od;
|
|
73
|
+
> od;
|
|
74
|
+
> return true;
|
|
75
|
+
> end;;
|
|
76
|
+
gap> BruteForceInverseCheck := function(map)
|
|
77
|
+
> local inv;
|
|
78
|
+
> inv := InverseGeneralMapping(map);
|
|
79
|
+
> return ForAll(Source(map), x -> x = (x ^ map) ^ inv)
|
|
80
|
+
> and ForAll(Range(map), x -> x = (x ^ inv) ^ map);
|
|
81
|
+
> end;;
|
|
82
|
+
|
|
83
|
+
# IsomorphismSemigroup: for semigroup of same type
|
|
84
|
+
gap> S := Semigroup(Matrix(IsTropicalMaxPlusMatrix, [[0, 4], [4, 1]], 10));
|
|
85
|
+
<commutative semigroup of 2x2 tropical max-plus matrices with 1 generator>
|
|
86
|
+
gap> AsSemigroup(IsTropicalMaxPlusMatrixSemigroup, 10, S) = S;
|
|
87
|
+
true
|
|
88
|
+
gap> map := IsomorphismSemigroup(IsTropicalMaxPlusMatrixSemigroup, 11, S);;
|
|
89
|
+
gap> T := Range(map);;
|
|
90
|
+
gap> T = S;
|
|
91
|
+
false
|
|
92
|
+
gap> Size(S) = Size(T);
|
|
93
|
+
true
|
|
94
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
95
|
+
true
|
|
96
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
97
|
+
true
|
|
98
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
99
|
+
true
|
|
100
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
101
|
+
true
|
|
102
|
+
gap> BruteForceIsoCheck(map);
|
|
103
|
+
true
|
|
104
|
+
gap> BruteForceInverseCheck(map);
|
|
105
|
+
true
|
|
106
|
+
gap> S := Semigroup(Matrix(IsNTPMatrix, [[0, 0], [1, 3]], 2, 2));
|
|
107
|
+
<commutative semigroup of 2x2 ntp matrices with 1 generator>
|
|
108
|
+
gap> AsSemigroup(IsNTPMatrixSemigroup, 2, 2, S) = S;
|
|
109
|
+
true
|
|
110
|
+
gap> map := IsomorphismSemigroup(IsNTPMatrixSemigroup, 3, 3, S);;
|
|
111
|
+
gap> T := Range(map);;
|
|
112
|
+
gap> T = S;
|
|
113
|
+
false
|
|
114
|
+
gap> Size(S) = Size(T);
|
|
115
|
+
true
|
|
116
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
117
|
+
true
|
|
118
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
119
|
+
true
|
|
120
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
121
|
+
true
|
|
122
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
123
|
+
true
|
|
124
|
+
gap> BruteForceIsoCheck(map);
|
|
125
|
+
true
|
|
126
|
+
gap> BruteForceInverseCheck(map);
|
|
127
|
+
true
|
|
128
|
+
gap> S := FreeBand(2);
|
|
129
|
+
<free band on the generators [ x1, x2 ]>
|
|
130
|
+
gap> IsomorphismSemigroup(IsTropicalMaxPlusMatrixSemigroup, S);
|
|
131
|
+
<free band on the generators [ x1, x2 ]> ->
|
|
132
|
+
<semigroup of size 6, 7x7 tropical max-plus matrices with 2 generators>
|
|
133
|
+
gap> IsomorphismSemigroup(IsNTPMatrixSemigroup, S);
|
|
134
|
+
<free band on the generators [ x1, x2 ]> ->
|
|
135
|
+
<semigroup of size 6, 7x7 ntp matrices with 2 generators>
|
|
136
|
+
|
|
137
|
+
# AsSemigroup:
|
|
138
|
+
# convert from IsPBRSemigroup to IsMaxPlusMatrixSemigroup
|
|
139
|
+
gap> S := Semigroup([
|
|
140
|
+
> PBR([[-2], [-3], [-4], [-5], [-6], [-7], [-8], [-8], [-1]],
|
|
141
|
+
> [[9], [1], [2], [3], [4], [5], [6], [7, 8], []])]);
|
|
142
|
+
<commutative pbr semigroup of degree 9 with 1 generator>
|
|
143
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
144
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
145
|
+
gap> Size(S) = Size(T);
|
|
146
|
+
true
|
|
147
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
148
|
+
true
|
|
149
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
150
|
+
true
|
|
151
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
152
|
+
true
|
|
153
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
154
|
+
true
|
|
155
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
156
|
+
gap> BruteForceIsoCheck(map);
|
|
157
|
+
true
|
|
158
|
+
gap> BruteForceInverseCheck(map);
|
|
159
|
+
true
|
|
160
|
+
|
|
161
|
+
# AsSemigroup:
|
|
162
|
+
# convert from IsFpSemigroup to IsMaxPlusMatrixSemigroup
|
|
163
|
+
gap> F := FreeSemigroup(1);; AssignGeneratorVariables(F);;
|
|
164
|
+
gap> rels := [[s1 ^ 9, s1 ^ 8]];;
|
|
165
|
+
gap> S := F / rels;
|
|
166
|
+
<fp semigroup with 1 generator and 1 relation of length 18>
|
|
167
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
168
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
169
|
+
gap> Size(S) = Size(T);
|
|
170
|
+
true
|
|
171
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
172
|
+
true
|
|
173
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
174
|
+
true
|
|
175
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
176
|
+
true
|
|
177
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
178
|
+
true
|
|
179
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
180
|
+
gap> BruteForceIsoCheck(map);
|
|
181
|
+
true
|
|
182
|
+
gap> BruteForceInverseCheck(map);
|
|
183
|
+
true
|
|
184
|
+
|
|
185
|
+
# AsSemigroup:
|
|
186
|
+
# convert from IsBipartitionSemigroup to IsMaxPlusMatrixSemigroup
|
|
187
|
+
gap> S := Semigroup([
|
|
188
|
+
> Bipartition([[1, -2], [2, -3], [3, -4], [4, -5], [5, -6], [6, -7],
|
|
189
|
+
> [7, 8, -8], [9, -1], [-9]])]);
|
|
190
|
+
<commutative bipartition semigroup of degree 9 with 1 generator>
|
|
191
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
192
|
+
<commutative semigroup of 9x9 max-plus matrices with 1 generator>
|
|
193
|
+
gap> Size(S) = Size(T);
|
|
194
|
+
true
|
|
195
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
196
|
+
true
|
|
197
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
198
|
+
true
|
|
199
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
200
|
+
true
|
|
201
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
202
|
+
true
|
|
203
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
204
|
+
gap> BruteForceIsoCheck(map);
|
|
205
|
+
true
|
|
206
|
+
gap> BruteForceInverseCheck(map);
|
|
207
|
+
true
|
|
208
|
+
|
|
209
|
+
# AsSemigroup:
|
|
210
|
+
# convert from IsTransformationSemigroup to IsMaxPlusMatrixSemigroup
|
|
211
|
+
gap> S := Semigroup([Transformation([2, 3, 4, 5, 6, 7, 8, 8, 1])]);
|
|
212
|
+
<commutative transformation semigroup of degree 9 with 1 generator>
|
|
213
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
214
|
+
<commutative semigroup of 9x9 max-plus matrices with 1 generator>
|
|
215
|
+
gap> Size(S) = Size(T);
|
|
216
|
+
true
|
|
217
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
218
|
+
true
|
|
219
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
220
|
+
true
|
|
221
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
222
|
+
true
|
|
223
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
224
|
+
true
|
|
225
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
226
|
+
gap> BruteForceIsoCheck(map);
|
|
227
|
+
true
|
|
228
|
+
gap> BruteForceInverseCheck(map);
|
|
229
|
+
true
|
|
230
|
+
|
|
231
|
+
# AsSemigroup:
|
|
232
|
+
# convert from IsBooleanMatSemigroup to IsMaxPlusMatrixSemigroup
|
|
233
|
+
gap> S := Semigroup([
|
|
234
|
+
> Matrix(IsBooleanMat,
|
|
235
|
+
> [[false, true, false, false, false, false, false, false, false],
|
|
236
|
+
> [false, false, true, false, false, false, false, false, false],
|
|
237
|
+
> [false, false, false, true, false, false, false, false, false],
|
|
238
|
+
> [false, false, false, false, true, false, false, false, false],
|
|
239
|
+
> [false, false, false, false, false, true, false, false, false],
|
|
240
|
+
> [false, false, false, false, false, false, true, false, false],
|
|
241
|
+
> [false, false, false, false, false, false, false, true, false],
|
|
242
|
+
> [false, false, false, false, false, false, false, true, false],
|
|
243
|
+
> [true, false, false, false, false, false, false, false, false]])]);
|
|
244
|
+
<commutative semigroup of 9x9 boolean matrices with 1 generator>
|
|
245
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
246
|
+
<commutative semigroup of 9x9 max-plus matrices with 1 generator>
|
|
247
|
+
gap> Size(S) = Size(T);
|
|
248
|
+
true
|
|
249
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
250
|
+
true
|
|
251
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
252
|
+
true
|
|
253
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
254
|
+
true
|
|
255
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
256
|
+
true
|
|
257
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
258
|
+
gap> BruteForceIsoCheck(map);
|
|
259
|
+
true
|
|
260
|
+
gap> BruteForceInverseCheck(map);
|
|
261
|
+
true
|
|
262
|
+
|
|
263
|
+
# AsSemigroup:
|
|
264
|
+
# convert from IsMaxPlusMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
265
|
+
gap> mat := ListWithIdenticalEntries(9, -infinity);;
|
|
266
|
+
gap> mat := List([1 .. 9], x -> ShallowCopy(mat));;
|
|
267
|
+
gap> for i in [1 .. 7] do mat[i][i + 1] := 0; od;
|
|
268
|
+
gap> mat[8][8] := 0;;
|
|
269
|
+
gap> mat[9][1] := 0;;
|
|
270
|
+
gap> S := Semigroup(Matrix(IsMaxPlusMatrix, mat));
|
|
271
|
+
<commutative semigroup of 9x9 max-plus matrices with 1 generator>
|
|
272
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
273
|
+
<commutative semigroup of 9x9 max-plus matrices with 1 generator>
|
|
274
|
+
gap> Size(S) = Size(T);
|
|
275
|
+
true
|
|
276
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
277
|
+
true
|
|
278
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
279
|
+
true
|
|
280
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
281
|
+
true
|
|
282
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
283
|
+
true
|
|
284
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
285
|
+
gap> BruteForceIsoCheck(map);
|
|
286
|
+
true
|
|
287
|
+
gap> BruteForceInverseCheck(map);
|
|
288
|
+
true
|
|
289
|
+
|
|
290
|
+
# AsSemigroup:
|
|
291
|
+
# convert from IsMinPlusMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
292
|
+
gap> mat := ListWithIdenticalEntries(9, infinity);;
|
|
293
|
+
gap> mat := List([1 .. 9], x -> ShallowCopy(mat));;
|
|
294
|
+
gap> for i in [1 .. 7] do mat[i][i + 1] := 0; od;
|
|
295
|
+
gap> mat[8][8] := 0;;
|
|
296
|
+
gap> mat[9][1] := 0;;
|
|
297
|
+
gap> S := Semigroup(Matrix(IsMinPlusMatrix, mat));
|
|
298
|
+
<commutative semigroup of 9x9 min-plus matrices with 1 generator>
|
|
299
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
300
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
301
|
+
gap> Size(S) = Size(T);
|
|
302
|
+
true
|
|
303
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
304
|
+
true
|
|
305
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
306
|
+
true
|
|
307
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
308
|
+
true
|
|
309
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
310
|
+
true
|
|
311
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
312
|
+
gap> BruteForceIsoCheck(map);
|
|
313
|
+
true
|
|
314
|
+
gap> BruteForceInverseCheck(map);
|
|
315
|
+
true
|
|
316
|
+
|
|
317
|
+
# AsSemigroup:
|
|
318
|
+
# convert from IsProjectiveMaxPlusMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
319
|
+
gap> mat := ListWithIdenticalEntries(9, -infinity);;
|
|
320
|
+
gap> mat := List([1 .. 9], x -> ShallowCopy(mat));;
|
|
321
|
+
gap> for i in [1 .. 7] do mat[i][i + 1] := 0; od;
|
|
322
|
+
gap> mat[8][8] := 0;;
|
|
323
|
+
gap> mat[9][1] := 0;;
|
|
324
|
+
gap> S := Semigroup(Matrix(IsProjectiveMaxPlusMatrix, mat));
|
|
325
|
+
<commutative semigroup of 9x9 projective max-plus matrices with 1 generator>
|
|
326
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
327
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
328
|
+
gap> Size(S) = Size(T);
|
|
329
|
+
true
|
|
330
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
331
|
+
true
|
|
332
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
333
|
+
true
|
|
334
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
335
|
+
true
|
|
336
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
337
|
+
true
|
|
338
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
339
|
+
gap> BruteForceIsoCheck(map);
|
|
340
|
+
true
|
|
341
|
+
gap> BruteForceInverseCheck(map);
|
|
342
|
+
true
|
|
343
|
+
|
|
344
|
+
# AsSemigroup:
|
|
345
|
+
# convert from IsIntegerMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
346
|
+
gap> S := Semigroup([
|
|
347
|
+
> Matrix(Integers,
|
|
348
|
+
> [[0, 1, 0, 0, 0, 0, 0, 0, 0],
|
|
349
|
+
> [0, 0, 1, 0, 0, 0, 0, 0, 0],
|
|
350
|
+
> [0, 0, 0, 1, 0, 0, 0, 0, 0],
|
|
351
|
+
> [0, 0, 0, 0, 1, 0, 0, 0, 0],
|
|
352
|
+
> [0, 0, 0, 0, 0, 1, 0, 0, 0],
|
|
353
|
+
> [0, 0, 0, 0, 0, 0, 1, 0, 0],
|
|
354
|
+
> [0, 0, 0, 0, 0, 0, 0, 1, 0],
|
|
355
|
+
> [0, 0, 0, 0, 0, 0, 0, 1, 0],
|
|
356
|
+
> [1, 0, 0, 0, 0, 0, 0, 0, 0]])]);
|
|
357
|
+
<commutative semigroup of 9x9 integer matrices with 1 generator>
|
|
358
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
359
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
360
|
+
gap> Size(S) = Size(T);
|
|
361
|
+
true
|
|
362
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
363
|
+
true
|
|
364
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
365
|
+
true
|
|
366
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
367
|
+
true
|
|
368
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
369
|
+
true
|
|
370
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
371
|
+
gap> BruteForceIsoCheck(map);
|
|
372
|
+
true
|
|
373
|
+
gap> BruteForceInverseCheck(map);
|
|
374
|
+
true
|
|
375
|
+
|
|
376
|
+
# AsSemigroup:
|
|
377
|
+
# convert from IsTropicalMaxPlusMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
378
|
+
gap> mat := ListWithIdenticalEntries(9, -infinity);;
|
|
379
|
+
gap> mat := List([1 .. 9], x -> ShallowCopy(mat));;
|
|
380
|
+
gap> for i in [1 .. 7] do mat[i][i + 1] := 0; od;
|
|
381
|
+
gap> mat[8][8] := 0;;
|
|
382
|
+
gap> mat[9][1] := 0;;
|
|
383
|
+
gap> S := Semigroup(Matrix(IsTropicalMaxPlusMatrix, mat, 2));
|
|
384
|
+
<commutative semigroup of 9x9 tropical max-plus matrices with 1 generator>
|
|
385
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
386
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
387
|
+
gap> Size(S) = Size(T);
|
|
388
|
+
true
|
|
389
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
390
|
+
true
|
|
391
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
392
|
+
true
|
|
393
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
394
|
+
true
|
|
395
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
396
|
+
true
|
|
397
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
398
|
+
gap> BruteForceIsoCheck(map);
|
|
399
|
+
true
|
|
400
|
+
gap> BruteForceInverseCheck(map);
|
|
401
|
+
true
|
|
402
|
+
|
|
403
|
+
# AsSemigroup:
|
|
404
|
+
# convert from IsTropicalMinPlusMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
405
|
+
gap> mat := ListWithIdenticalEntries(9, infinity);;
|
|
406
|
+
gap> mat := List([1 .. 9], x -> ShallowCopy(mat));;
|
|
407
|
+
gap> for i in [1 .. 7] do mat[i][i + 1] := 0; od;
|
|
408
|
+
gap> mat[8][8] := 0;;
|
|
409
|
+
gap> mat[9][1] := 0;;
|
|
410
|
+
gap> S := Semigroup(Matrix(IsTropicalMinPlusMatrix, mat, 4));
|
|
411
|
+
<commutative semigroup of 9x9 tropical min-plus matrices with 1 generator>
|
|
412
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
413
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
414
|
+
gap> Size(S) = Size(T);
|
|
415
|
+
true
|
|
416
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
417
|
+
true
|
|
418
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
419
|
+
true
|
|
420
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
421
|
+
true
|
|
422
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
423
|
+
true
|
|
424
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
425
|
+
gap> BruteForceIsoCheck(map);
|
|
426
|
+
true
|
|
427
|
+
gap> BruteForceInverseCheck(map);
|
|
428
|
+
true
|
|
429
|
+
|
|
430
|
+
# AsSemigroup:
|
|
431
|
+
# convert from IsNTPMatrixSemigroup to IsMaxPlusMatrixSemigroup
|
|
432
|
+
gap> S := Semigroup([
|
|
433
|
+
> Matrix(IsNTPMatrix,
|
|
434
|
+
> [[0, 1, 0, 0, 0, 0, 0, 0, 0],
|
|
435
|
+
> [0, 0, 1, 0, 0, 0, 0, 0, 0],
|
|
436
|
+
> [0, 0, 0, 1, 0, 0, 0, 0, 0],
|
|
437
|
+
> [0, 0, 0, 0, 1, 0, 0, 0, 0],
|
|
438
|
+
> [0, 0, 0, 0, 0, 1, 0, 0, 0],
|
|
439
|
+
> [0, 0, 0, 0, 0, 0, 1, 0, 0],
|
|
440
|
+
> [0, 0, 0, 0, 0, 0, 0, 1, 0],
|
|
441
|
+
> [0, 0, 0, 0, 0, 0, 0, 1, 0],
|
|
442
|
+
> [1, 0, 0, 0, 0, 0, 0, 0, 0]], 3, 4)]);
|
|
443
|
+
<commutative semigroup of 9x9 ntp matrices with 1 generator>
|
|
444
|
+
gap> T := AsSemigroup(IsMaxPlusMatrixSemigroup, S);
|
|
445
|
+
<commutative semigroup of size 8, 9x9 max-plus matrices with 1 generator>
|
|
446
|
+
gap> Size(S) = Size(T);
|
|
447
|
+
true
|
|
448
|
+
gap> NrDClasses(S) = NrDClasses(T);
|
|
449
|
+
true
|
|
450
|
+
gap> NrRClasses(S) = NrRClasses(T);
|
|
451
|
+
true
|
|
452
|
+
gap> NrLClasses(S) = NrLClasses(T);
|
|
453
|
+
true
|
|
454
|
+
gap> NrIdempotents(S) = NrIdempotents(T);
|
|
455
|
+
true
|
|
456
|
+
gap> map := IsomorphismSemigroup(IsMaxPlusMatrixSemigroup, S);;
|
|
457
|
+
gap> BruteForceIsoCheck(map);
|
|
458
|
+
true
|
|
459
|
+
gap> BruteForceInverseCheck(map);
|
|
460
|
+
true
|
|
461
|
+
|
|
462
|
+
# Test RandomSemigroup
|
|
463
|
+
gap> RandomSemigroup(IsMaxPlusMatrixSemigroup);;
|
|
464
|
+
gap> RandomSemigroup(IsMaxPlusMatrixSemigroup, 2);;
|
|
465
|
+
gap> RandomSemigroup(IsMaxPlusMatrixSemigroup, 2, 5);;
|
|
466
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup);;
|
|
467
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, 2);;
|
|
468
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, 2, 5);;
|
|
469
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, 2, 2, 2);;
|
|
470
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, "a");
|
|
471
|
+
Error, the 2nd argument (number of generators) must be a pos int
|
|
472
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, 2, "a");;
|
|
473
|
+
Error, the 3rd argument (matrix dimension) must be a pos int
|
|
474
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, 2, 2, "a");;
|
|
475
|
+
Error, the 4th argument (semiring threshold) must be a pos int
|
|
476
|
+
gap> RandomSemigroup(IsTropicalMaxPlusMatrixSemigroup, 2, 2, 2, 2);;
|
|
477
|
+
Error, there must be at most four arguments
|
|
478
|
+
gap> RandomMonoid(IsMaxPlusMatrixMonoid);;
|
|
479
|
+
gap> RandomMonoid(IsMaxPlusMatrixMonoid, 2);;
|
|
480
|
+
gap> RandomMonoid(IsMaxPlusMatrixMonoid, 2, 5);;
|
|
481
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid);;
|
|
482
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, 2);;
|
|
483
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, 2, 5);;
|
|
484
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, 2, 2, 2);;
|
|
485
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, "a");
|
|
486
|
+
Error, the 2nd argument (number of generators) must be a pos int
|
|
487
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, 2, "a");;
|
|
488
|
+
Error, the 3rd argument (matrix dimension) must be a pos int
|
|
489
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, 2, 2, "a");;
|
|
490
|
+
Error, the 4th argument (semiring threshold) must be a pos int
|
|
491
|
+
gap> RandomMonoid(IsTropicalMaxPlusMatrixMonoid, 2, 2, 2, 2);;
|
|
492
|
+
Error, there must be at most four arguments
|
|
493
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup);;
|
|
494
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2);;
|
|
495
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, 5);;
|
|
496
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, 2, 2);;
|
|
497
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, 2, 2, 2);;
|
|
498
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, "a");
|
|
499
|
+
Error, the 2nd argument (number of generators) must be a pos int
|
|
500
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, "a");;
|
|
501
|
+
Error, the 3rd argument (matrix dimension) must be a pos int
|
|
502
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, 2, "a");;
|
|
503
|
+
Error, the 4th argument (semiring threshold) must be a pos int
|
|
504
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, 2, 2, "a");;
|
|
505
|
+
Error, the 5th argument (semiring period) must be a pos int
|
|
506
|
+
gap> RandomSemigroup(IsNTPMatrixSemigroup, 2, 2, 2, 2, 2);;
|
|
507
|
+
Error, there must be at most 5 arguments
|
|
508
|
+
gap> RandomMonoid(IsNTPMatrixMonoid);;
|
|
509
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2);;
|
|
510
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, 5);;
|
|
511
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, 2, 2);;
|
|
512
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, 2, 2, 2);;
|
|
513
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, "a");
|
|
514
|
+
Error, the 2nd argument (number of generators) must be a pos int
|
|
515
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, "a");;
|
|
516
|
+
Error, the 3rd argument (matrix dimension) must be a pos int
|
|
517
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, 2, "a");;
|
|
518
|
+
Error, the 4th argument (semiring threshold) must be a pos int
|
|
519
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, 2, 2, "a");;
|
|
520
|
+
Error, the 5th argument (semiring period) must be a pos int
|
|
521
|
+
gap> RandomMonoid(IsNTPMatrixMonoid, 2, 2, 2, 2, 2);;
|
|
522
|
+
Error, there must be at most 5 arguments
|
|
523
|
+
|
|
524
|
+
# IsFinite, IsTorsion, NormalizeSemigroup
|
|
525
|
+
gap> IsFinite(Semigroup(Matrix(IsMaxPlusMatrix, [[0, -3], [-2, -10]])));
|
|
526
|
+
true
|
|
527
|
+
gap> IsFinite(Semigroup(Matrix(IsMaxPlusMatrix, [[-infinity, 1, -infinity],
|
|
528
|
+
> [-infinity, -infinity, -infinity], [-infinity, 1, -infinity]])));
|
|
529
|
+
true
|
|
530
|
+
gap> IsFinite(Semigroup(Matrix(IsMaxPlusMatrix,
|
|
531
|
+
> [[1, -infinity, 2], [-2, 4, -infinity], [1, 0, 3]])));
|
|
532
|
+
false
|
|
533
|
+
gap> IsFinite(Semigroup([
|
|
534
|
+
> Matrix(IsMaxPlusMatrix,
|
|
535
|
+
> [[0, -infinity, -1], [0, -infinity, -4], [-infinity, 0, -infinity]]),
|
|
536
|
+
> Matrix(IsMaxPlusMatrix,
|
|
537
|
+
> [[-2, -2, 0], [0, -infinity, -3], [-5, 0, -infinity]]),
|
|
538
|
+
> Matrix(IsMaxPlusMatrix,
|
|
539
|
+
> [[-infinity, -infinity, -infinity],
|
|
540
|
+
> [0, 0, -infinity],
|
|
541
|
+
> [-5, 0, -infinity]])]));
|
|
542
|
+
false
|
|
543
|
+
gap> IsFinite(Semigroup(Matrix(IsMinPlusMatrix, [[infinity, 0], [5, 4]])));
|
|
544
|
+
false
|
|
545
|
+
gap> IsFinite(Semigroup(Matrix(IsMinPlusMatrix, [[1, 0], [0, infinity]])));
|
|
546
|
+
true
|
|
547
|
+
gap> IsFinite(Semigroup(Matrix(IsMinPlusMatrix, [[infinity, -2], [2, 1]])));
|
|
548
|
+
true
|
|
549
|
+
gap> NormalizeSemigroup(Semigroup([
|
|
550
|
+
> Matrix(IsMaxPlusMatrix, [[0, -3], [-2, -10]])]));
|
|
551
|
+
<commutative semigroup of 2x2 max-plus matrices with 1 generator>
|
|
552
|
+
gap> IsTorsion(Semigroup(Matrix(IsMaxPlusMatrix, [[0, -3], [-2, -10]])));
|
|
553
|
+
true
|
|
554
|
+
gap> IsTorsion(Semigroup(Matrix(IsMaxPlusMatrix,
|
|
555
|
+
> [[1, -infinity, 2], [-2, 4, -infinity], [1, 0, 3]])));
|
|
556
|
+
false
|
|
557
|
+
|
|
558
|
+
# AsMonoid
|
|
559
|
+
gap> S := AsSemigroup(IsMaxPlusMatrixSemigroup,
|
|
560
|
+
> Semigroup(Transformation([1, 2, 3, 3, 3])));
|
|
561
|
+
<commutative semigroup of 5x5 max-plus matrices with 1 generator>
|
|
562
|
+
gap> AsMonoid(S);
|
|
563
|
+
<trivial group of 1x1 max-plus matrices with 1 generator>
|
|
564
|
+
gap> S := AsSemigroup(IsMaxPlusMatrixSemigroup,
|
|
565
|
+
> Semigroup(Transformation([1, 1]), Transformation([2, 2])));
|
|
566
|
+
<semigroup of 2x2 max-plus matrices with 2 generators>
|
|
567
|
+
gap> AsMonoid(S);
|
|
568
|
+
fail
|
|
569
|
+
gap> S := AsSemigroup(IsTropicalMaxPlusMatrixSemigroup, 3,
|
|
570
|
+
> Semigroup(Transformation([1, 2, 3, 3, 3])));
|
|
571
|
+
<commutative semigroup of 5x5 tropical max-plus matrices with 1 generator>
|
|
572
|
+
gap> AsMonoid(S);
|
|
573
|
+
<trivial group of 1x1 tropical max-plus matrices with 1 generator>
|
|
574
|
+
gap> S := AsSemigroup(IsTropicalMaxPlusMatrixSemigroup, 3,
|
|
575
|
+
> Semigroup(Transformation([1, 1]), Transformation([2, 2])));
|
|
576
|
+
<semigroup of 2x2 tropical max-plus matrices with 2 generators>
|
|
577
|
+
gap> AsMonoid(S);
|
|
578
|
+
fail
|
|
579
|
+
gap> S := AsSemigroup(IsNTPMatrixSemigroup, 3, 4,
|
|
580
|
+
> Semigroup(Transformation([1, 2, 3, 3, 3])));
|
|
581
|
+
<commutative semigroup of 5x5 ntp matrices with 1 generator>
|
|
582
|
+
gap> AsMonoid(S);
|
|
583
|
+
<trivial group of 1x1 ntp matrices with 1 generator>
|
|
584
|
+
gap> S := AsSemigroup(IsNTPMatrixSemigroup, 3, 4,
|
|
585
|
+
> Semigroup(Transformation([1, 1]), Transformation([2, 2])));
|
|
586
|
+
<semigroup of 2x2 ntp matrices with 2 generators>
|
|
587
|
+
gap> AsMonoid(S);
|
|
588
|
+
fail
|
|
589
|
+
|
|
590
|
+
# IsomorphismMonoid
|
|
591
|
+
gap> map := IsomorphismMonoid(IsMaxPlusMatrixMonoid,
|
|
592
|
+
> Semigroup(Transformation([1, 2, 3, 3, 3])));;
|
|
593
|
+
gap> Range(map);
|
|
594
|
+
<trivial group of 1x1 max-plus matrices with 1 generator>
|
|
595
|
+
gap> map := IsomorphismMonoid(IsTropicalMaxPlusMatrixMonoid, 3,
|
|
596
|
+
> Semigroup(Transformation([1, 2, 3, 3, 3])));;
|
|
597
|
+
gap> Range(map);
|
|
598
|
+
<trivial group of 1x1 tropical max-plus matrices with 1 generator>
|
|
599
|
+
gap> map := IsomorphismMonoid(IsNTPMatrixMonoid, 3, 4,
|
|
600
|
+
> Semigroup(Transformation([1, 2, 3, 3, 3])));;
|
|
601
|
+
gap> Range(map);
|
|
602
|
+
<trivial group of 1x1 ntp matrices with 1 generator>
|
|
603
|
+
gap> S := Semigroup(Transformation([1, 2, 2, 2]));
|
|
604
|
+
<commutative transformation semigroup of degree 4 with 1 generator>
|
|
605
|
+
gap> S := AsSemigroup(IsTropicalMaxPlusMatrixSemigroup, S);
|
|
606
|
+
<commutative semigroup of 4x4 tropical max-plus matrices with 1 generator>
|
|
607
|
+
gap> map := IsomorphismMonoid(IsTropicalMaxPlusMatrixMonoid, S);
|
|
608
|
+
<trivial group of 4x4 tropical max-plus matrices with 1 generator> ->
|
|
609
|
+
<trivial group of 1x1 tropical max-plus matrices with 1 generator>
|
|
610
|
+
gap> map := IsomorphismMonoid(IsTropicalMaxPlusMatrixMonoid,
|
|
611
|
+
> Semigroup(Transformation([1, 2, 2, 2])));;
|
|
612
|
+
gap> map := IsomorphismMonoid(IsNTPMatrixMonoid, FreeBand(1));
|
|
613
|
+
<free band on the generators [ x1 ]> ->
|
|
614
|
+
<trivial group of 1x1 ntp matrices with 1 generator>
|
|
615
|
+
|
|
616
|
+
# FullTropicalMaxPlusMonoid
|
|
617
|
+
gap> FullTropicalMaxPlusMonoid(3, 1);
|
|
618
|
+
Error, the 1st argument (dimension) must be 2
|
|
619
|
+
gap> S := FullTropicalMaxPlusMonoid(2, 1);
|
|
620
|
+
<monoid of 2x2 tropical max-plus matrices with 6 generators>
|
|
621
|
+
gap> Size(S);
|
|
622
|
+
81
|
|
623
|
+
gap> S := FullTropicalMaxPlusMonoid(2, 2);
|
|
624
|
+
<monoid of 2x2 tropical max-plus matrices with 9 generators>
|
|
625
|
+
gap> Size(S);
|
|
626
|
+
256
|
|
627
|
+
gap> S := FullTropicalMaxPlusMonoid(2, 3);
|
|
628
|
+
<monoid of 2x2 tropical max-plus matrices with 13 generators>
|
|
629
|
+
gap> Size(S);
|
|
630
|
+
625
|
|
631
|
+
|
|
632
|
+
# FullTropicalMinPlusMonoid
|
|
633
|
+
gap> S := FullTropicalMinPlusMonoid(2, 1);
|
|
634
|
+
<monoid of 2x2 tropical min-plus matrices with 5 generators>
|
|
635
|
+
gap> Size(S);
|
|
636
|
+
81
|
|
637
|
+
gap> S := FullTropicalMinPlusMonoid(2, 2);
|
|
638
|
+
<monoid of 2x2 tropical min-plus matrices with 6 generators>
|
|
639
|
+
gap> Size(S);
|
|
640
|
+
256
|
|
641
|
+
gap> S := FullTropicalMinPlusMonoid(2, 3);
|
|
642
|
+
<monoid of 2x2 tropical min-plus matrices with 7 generators>
|
|
643
|
+
gap> Size(S);
|
|
644
|
+
625
|
|
645
|
+
gap> S := FullTropicalMinPlusMonoid(3, 1);
|
|
646
|
+
<monoid of 3x3 tropical min-plus matrices with 11 generators>
|
|
647
|
+
gap> Size(S);
|
|
648
|
+
19683
|
|
649
|
+
gap> S := FullTropicalMinPlusMonoid(4, 3);
|
|
650
|
+
Error, the 1st argument (dimension) must be 2 or 3
|
|
651
|
+
|
|
652
|
+
#
|
|
653
|
+
gap> SEMIGROUPS.StopTest();
|
|
654
|
+
gap> STOP_TEST("Semigroups package: standard/semigroups/semimaxplus.tst");
|