Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update documentation to make it clear that semigroups are listed up to isomorphism and anti-isomorphism #25

Open
saliola opened this issue Jun 20, 2022 · 2 comments
Labels
doc Label for issues and PRs about documentation

Comments

@saliola
Copy link

saliola commented Jun 20, 2022

Hi, I'm probably doing something wrong here, but I can't seem to find a semigroup in the database. Perhaps it is how I am testing for isomorphism? But from what I understand, these methods should work.

Here is the semigroup:

LoadPackage("semigroups");
LoadPackage("smallsemi");
S := Semigroup([IdentityTransformation, Transformation([2,1]), Transformation([3,4,3,4]), Transformation([4,3,3,4])]);

Here is what I tried (uses the semigroup package):

for T in AllSmallSemigroups(Size(S)) do
    if IsIsomorphicSemigroup(S, T) then Print("true"); fi;
od;
for T in AllSmallSemigroups(Size(S)) do
    if CanonicalMultiplicationTable(S) = CanonicalMultiplicationTable(T) then Print("true"); fi;
od;
for T in AllSmallSemigroups(Size(S)) do
    if SmallestMultiplicationTable(S) = SmallestMultiplicationTable(T) then Print("true"); fi;
od;

Any ideas on what is happening here?

(I'm sorry if this isn't the right place to ask a question.)

@saliola
Copy link
Author

saliola commented Jun 21, 2022

Digging through the documentation some more, I found in Chapter 4 (and later in Chapter 3) that the semigroups are stored up to isomorphism and anti-isomorphism.

Since this behaviour is rather unexpected – perhaps due to my familiarity with the Small Groups library in which the groups are listed up to isomorphism – I suggest changing the documentation to clearly state this early on. One nice way to do this is to take the first sentence of Chapter 3 (below) and copy it to the introduction and to the README, since it is very descriptive.

The main features of the library can be summarized in three points: it provides a complete set of semigroups up to isomorphism and anti-isomorphism of sizes up to 8; it carries a vast amount of precomputed information about these semigroups; and there is an identification function which takes a semigroup with at most 8 elements and returns a map to the equivalent one from the library.

@saliola saliola changed the title missing semigroups? update documentation to make it clear that semigroups are listed up to isomorphism and anti-isomorphism Jun 21, 2022
@james-d-mitchell
Copy link
Collaborator

@saliola great suggestion, thanks!

@james-d-mitchell james-d-mitchell added the doc Label for issues and PRs about documentation label Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Label for issues and PRs about documentation
Projects
None yet
Development

No branches or pull requests

2 participants