-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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 is_symmetric for permutation groups #17677
Conversation
✅ Hi, I am the SymPy bot (v149). I'm here to help you write a release notes entry. Please read the guide on how to write release notes. Your release notes are in good order. Here is what the release notes will look like:
This will be added to https://github.com/sympy/sympy/wiki/Release-Notes-for-1.5. Note: This comment will be updated with the latest check if you edit the pull request. You need to reload the page to see it. Click here to see the pull request description that was parsed.
Update The release notes on the wiki have been updated. |
|
One problem of using |
Codecov Report
@@ Coverage Diff @@
## master #17677 +/- ##
============================================
+ Coverage 74.68% 74.684% +0.003%
============================================
Files 634 634
Lines 165598 165715 +117
Branches 38961 38977 +16
============================================
+ Hits 123670 123764 +94
- Misses 36442 36464 +22
- Partials 5486 5487 +1 |
Unfortunately, I don’t think that the jordan’s theorem can discriminate between an alternating group or a symmetric group, so there would not be able to modify the algorithm. is_alternating may also need to be added for the reason. |
It is not hard to distinguish between Alt and Sym: If all generators are even, the group is Alt, otherwise it is Sym. |
I have some questions that if I also think that the monte-carlo test can use
|
Looks good. |
References to other Issues or PRs
Brief description of what is fixed or changed
I think that
is_symmetric
predicate is missing even if_is_sym
cache is used in permutation groups.I've used a naive test that the symmetric group is the largest permutation group that can be created from a base set of cardinality
n
, and have an order ofn!
.Other comments
I think that permutation group is using custom cache for assumptions. But if there is a way to directly manipulate the global LRU cache or assumptions0 cache if some predicates are revealed during the computation, it may have to use those.
Release Notes
is_symmetric
to test out if a permutation group is a symmetric group.is_alternating
to test out if a permutation group is a alternating group.