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
Add the set of PrimitiveGroups #12407
Comments
Reviewer: vdelecroix |
comment:2
Hi, Nice patch (I will need it ;-)).
seems more natural to me. The only modifications I see in your new class are the inheritance from UniqueRepresentation and the method
Could you make it explicit in the documentation?
What do you think?
Could you implement it as a method of PermutationGroup? For sure, if you decide to keep the class PrimitiveGroup the method should be overwritten. Notice that the method .group_id() and aliased as .id() of PermutationGroup returns the index of G in the database of all permutation groups. The method for primitive groups could hence be named group_id_primtive() aliased as .id_primitive(). |
comment:3
Thank you very much for your feedback. I think I can improve these issues. For consistency I probably would also have to change the TransitiveGroups code, which I took as a basis for copy-and-paste. |
comment:4
I decided to keep the PrimitiveGroup class because it is a convenient way to get a specific primitive group. Moreover, I updated the documentation and included the "GAP name" into repr. Now there also is a 'primitive_id()' method of PermutationGroup. |
comment:5
Hello,
whereas calling gap directly we get the nicer
oo) Typo:
|
comment:6
Finally I have found time again to work on your suggestions. I think I could adapt almost everything. Only your remark 3) is a bit unclear to me. I think the only place where 1-based ids are confusing is in the constructor of PrimitiveGroup, but there this is explicitly stated in the documentation. sage -t -optional permgroup.py does not work, but the problems are not related to primitive groups. |
patch, updated for v5.3 |
Attachment: trac_12407_primitive_permutation_groups.patch.gz Attachment: trac_12407_review.patch.gz Initial patch |
Changed reviewer from vdelecroix to vdelecroix, Volker Braun |
This comment has been minimized.
This comment has been minimized.
comment:8
I've added some docstring fixes to follow Sage conventions more closely. E.g. imperative ("Return") instead of "Returns", indentation, keep line length finite, .... Also I don't think that we really need an alias Please have a look at the reviewer patch. Positive review from me for everything else. |
comment:9
Thank you for the improvements, I am happy with them. |
Changed reviewer from vdelecroix, Volker Braun to Vincent Delecroix, Volker Braun |
comment:12
There are various doctest errors:
Besides that, you should not use |
comment:13
I think this happens only if database_gap is not installed. I will look at this. |
comment:14
Attachment: trac_12407_fix_testcases.patch.gz With the third patch on top the tests should work with and without 'database_gap'. I have also replaced all assertions in permgroup_named.py by ValueErrors. |
This comment has been minimized.
This comment has been minimized.
comment:15
I've double-checked that the doctests now work with and without the database_gap. Positive review. |
This comment has been minimized.
This comment has been minimized.
comment:18
This patch uses assertions in a bad way. As discussed some time ago on sage-devel, public functions should never use assertions to signal bad user input. Any appearance of an |
comment:19
The last of the three patches should already remove all possible AssertionErrors in permgroup.py and permgroup_named.py that I introduced with my first patch or that had been there before. I didn't merge the three patches into one since I am not the author of all three. |
comment:21
OK fine, I didn't realize that. |
Merged: sage-5.6.beta1 |
This patch implements the finite enumerated set of primitive permutation groups of a given degree, and the infinite enumerated set of all primitive permutation groups. It is based on the work done in #8500 for transitive permutation groups.
This allows a user to do:
This requires the optional database_gap which contains all the primitive permutation groups of degree <= 2499. Therefore, in practice, the enumeration stops with a NonImplementedError?
Apply attachment: trac_12407_primitive_permutation_groups.patch, attachment: trac_12407_review.patch, attachment: trac_12407_fix_testcases.patch
Component: group theory
Keywords: primitive groups
Author: Thomas Rehn
Reviewer: Vincent Delecroix, Volker Braun
Merged: sage-5.6.beta1
Issue created by migration from https://trac.sagemath.org/ticket/12407
The text was updated successfully, but these errors were encountered: