-
-
Notifications
You must be signed in to change notification settings - Fork 517
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
Allow completion() to return a lazy series for infinite precision #35345
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## develop #35345 +/- ##
===========================================
- Coverage 88.61% 88.60% -0.01%
===========================================
Files 2148 2148
Lines 398855 398863 +8
===========================================
- Hits 353438 353431 -7
- Misses 45417 45432 +15
... and 20 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
There seems to be a problem with the docbuild, could you check?
Unrelated: allowing
|
I didn't check locally for the docbuild. I will fix that. I can do those here too as it is a slight but very natural expansion of the scope. |
The |
The The I changed the Molien series to handle infinite precision. This led to a natural extension of the conversion from the fraction field of the corresponding (Laurent) polynomial ring. For the Laurent series ring, this could be promoted to a coercion, but we cannot do that for a power series over a ring (although it should be fine over a field). I just did the easiest thing here that was natural and didn't bother with changing the coercions. Something I noticed, there is a bit of an annoying thing about differentiating between sparse and dense polynomials. I am not sure of a good way to easily fix this, and that deserves its own issue/PR. |
Thank you for going through this! At first I was puzzled that you don't try to convert Thank you again! |
Thank you. We would run into problems if we tried to make a rational function first as we would then have to analyze the denominator. Plus the polynomial to fraction field conversion could be another source of subtleties, and I felt the polynomial conversion should be prioritized in the code. |
Thank you! |
Merge conflict |
8c9a8a6
to
74f8c57
Compare
Trivial rebase (the Laurent polynomial ring implementation had moved files). |
📚 Description
We allow the
completion()
methods of polynomial rings to take infinite precision, in which case they return the corresponding lazy object. This also implements acompletion()
method to graded algebras and set a default equivalent to by degree for some general compatibility. (Full compatibility is not attempted due to general differences in the current implementation. This can be done on a later ticket.)📝 Checklist