-
Notifications
You must be signed in to change notification settings - Fork 36
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
Make McAlister triple semigroups acting #507
Make McAlister triple semigroups acting #507
Conversation
97479ac
to
cb3ee2c
Compare
Travis seems to be failing now because of some manual examples displaying differently, and because of the code coverage of |
@ChristopherRussell can you attempt to fix this? |
I don’t understand why the manual examples are failing. They fail when I run SEMIFROUPS.TestManualExamples() however they work when I run through them manually in gap. I also thought I covered all the code relating to McAlister triples in setup.gi except a 3-4 lines inside the function IdempotentCreator. I am not sure what this function is meant to do and I don’t understand the code so I’m wondering if it’s wrong. |
For the point about code coverage, the tests which give code coverage of |
Oh okay, I will be able to get the setup.gi test coverage up then. |
Like you, on my computer I get the same diffs in the manual examples as Travis does, when running I suggest that either you simply use the output that you get from Or you could redesign the manual example somehow so that you get consistent results. |
cb3ee2c
to
3c722bb
Compare
So I deleted the manual examples because they didn't seem important. I have now increased the test coverage for setup.gi and I'm no longer worried about the function
This seems to be because
and the third line has an
|
Hmm, well done sorting these things out Chris, I think you should alert @james-d-mitchell to the problems you're having with |
@ChristopherRussell I think to do the test you want, you just need to find an example where this group is not the symmetric group nor the trivial group. Please let me know if this does/doesn't make sense. |
3c722bb
to
745bd2e
Compare
I believe I have fixed this now and I am done making all the requested changes. I also fixed the |
gap/main/setup.gi
Outdated
@@ -94,6 +103,13 @@ function(x) | |||
return NrMovedPoints(x![2]) + 1; | |||
end); | |||
|
|||
# TODO correct? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've no idea if this is correct, but I feel like the TODO should be resolved before merging. Same for the rest of your TODOs.
e640c60
to
5a3bd23
Compare
Changed method OneImmutable (for McAlisterTripleSemigroups) so that returns fail instead of an error when the semigroup is not a monoid. As an example, the error message was causing an issue when IsomorphismSemigroup(IsTransformationSemigroup, S) was called on a McAlisterTripleSemigroup.
EUnitaryCover was written before DirectProduct was properly implemented for the relevant types of semigroups, and used its own method to construct direct products. This method is less effective and now obsolete so it has been replaced.
Replaced a check involving IsSubgroup and AutomorphismGroup by one which checks if generators are automorphism. Checking generators is easier than checking for a subgroup. Calculating the automorphism group of a digraph is unnecessary. Added some attribute synonyms since for attributes of the form McAlisterTripleX because the names are long. Synonyms are of the form MTSX.
This commit fits McAlisterTripleSemigroups into the acting semigroups framework (previously they were classed as enumerable). Furthermore it implements an improvement to IsomorphismSemigroup when used to find an isomorphism from an E-unitary inverse semigroup to a McAlisterTripleSemigroup. Finally, there is now a McAlisterTripleSubsemigroup attribute and similar functionallity for these objects as for McAlisterTripleSemigroups.
5a3bd23
to
3cf3c1a
Compare
Thanks @wilfwilson, I have now resolved the TODOs in EDIT: seems like all the tests are failing - I will comment again when I figure it out |
3cf3c1a
to
fb8d745
Compare
Fix two tests which have different (but mathematically correct) output when acting methods are enabled/disabled. Improve code coverage in main/setup.gi. Noticed that IdempotentCreator method may need to be fixed.
fb8d745
to
dbbb40c
Compare
There are some recursion depth traps appearing when my tests are run in examples where |
No, however something has changed which means that the ranks of certain filters are different than they were. That explains all but one of your test failures: for a So, after line 219, you could add the line:
And this should fix the problem. The other test failure I think is that an isomorphism is now printed a tiny bit correctly. You should just suppress this output with double semicolons, but I recommend that you actually verify that the mapping is a homomorphism (i.e. a bijective homomorphism). |
a3a5c62
to
ee86251
Compare
Thank you @wilfwilson, I don't think I would have been able to figure out the filter ranks stuff by myself! I have also suppressed the output for the lines in the tests which printed isomorphism functions and added |
@@ -763,7 +929,20 @@ InstallMethod(LambdaConjugator, "for a bipartition semigroup", | |||
InstallMethod(LambdaConjugator, "for a Rees 0-matrix subsemigroup", | |||
[IsReesZeroMatrixSubsemigroup], S -> | |||
function(x, y) | |||
return (); | |||
return (); # FIXME is this right???? This is not right!! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This FIXME troubles me a bit, I will play around with this on Monday, and give you some feedback @ChristopherRussell. This PR looks pretty good though, thanks for persevering.
Thanks @ChristopherRussell I'm going to merge this now. |
This PR integrates McAlister triple semigroups with the acting semigroups framework. It also includes various fixes, and improvements to:
It also adds various attributes of the form MTSX which are synonyms for McAlsiterTripleSemigroupX. FInally there is now a McAlisterTripleSubsemigroup attribute and functionality for these objects.