-
Notifications
You must be signed in to change notification settings - Fork 161
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
Preserve more properties in DirectProduct #3053
Preserve more properties in DirectProduct #3053
Conversation
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.
Fine by me (although a few trivial tests to verify this works as intended would be kinda nice...)
3c57ba0
to
50d8c9e
Compare
Codecov Report
@@ Coverage Diff @@
## master #3053 +/- ##
==========================================
- Coverage 83.79% 74.8% -9%
==========================================
Files 685 629 -56
Lines 343386 290994 -52392
==========================================
- Hits 287737 217664 -70073
- Misses 55649 73330 +17681
|
I agree @fingolfin, I'm all for tests adding tests and I agree it would be nice to have comprehensive tests for the stuff I've added. The difficulty here is that To make you a bit happier I have added a couple of tests relating to the properties that were already implemented for groups :) |
I've added another commit because I had an idea of how to improve this further. So I suggest that this this should be reviewed again. Explanation of change: the properties of direct products that are implemented all hold of the direct product if and only if they hold for all of the factors. Therefore, to set the property to be |
24486ff
to
d3c6e9f
Compare
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.
Thanks!
The soon-to-be-released Semigroups 3.1.0 is going to prove much greater support for creating direct products of semigroups. It does this by installing methods for
DirectProductOp
for certain kinds of semigroups, which uses theDirectProduct
function in the GAP library. When this library function has created a direct product, it tries to see whether it can set some properties that are preserved by direct products and that are known for the factors. So I thought it made sense to increase this list of properties for when the arguments are semigroups.What do people think? Is this going to slow things down noticeably for groups, where all of these properties are irrelevant? Is there a better way of doing this? Or is it a bad idea?