-
Notifications
You must be signed in to change notification settings - Fork 133
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
Fix FTheoryTools bug, extend strict_transform #4503
Fix FTheoryTools bug, extend strict_transform #4503
Conversation
Fixes a bug in FTheoryTools instroduced by oscar-system#4484 Namely, it previously computed the total transform, not the strict transform. Even with the speed improvements of oscar-system#4485 computing the strict transform with ideals is slower than operating on polynomials. Therefore, I added a strict transform function on polynomials.
Adding `strict_transform_with_index` and `total_transform` on polynomials. Also adding corresponding tests.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4503 +/- ##
==========================================
+ Coverage 84.16% 84.50% +0.33%
==========================================
Files 672 673 +1
Lines 88768 90171 +1403
==========================================
+ Hits 74715 76196 +1481
+ Misses 14053 13975 -78
|
Thank you for spotting and working on this @paemurru . Generally speaking, your changes look good to me. Here are a few points that caught my attention:
|
@@ -137,6 +167,8 @@ julia> strict_transform_with_index(f, I) | |||
(Ideal (x1 + x2*e), 2) | |||
``` | |||
""" | |||
strict_transform_with_index(f::ToricBlowupMorphism, I::Union{MPolyIdeal, MPolyDecRingElem}) |
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.
Stupid question... but still: What does this line do?
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 builds the docstring for both when the argument is an MPolyIdeal
and a MPolyDecRingElem
. Without having to copy the docstring for both of the functions.
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 don't understand this rationale. The docstring already now shows up in the REPL when one does ?strict_transform_with_index
regardless of how many methods you add.
Likewise it shows up in the manual already now, and it will keep appearing even though you added another method.
On the other hand, I am not sure it will still appear in the manual with this change, did you change that? Right now docs/src/AlgebraicGeometry/ToricVarieties/BlowupMorphisms.md
includes the docstring via
strict_transform_with_index(f::ToricBlowupMorphism, I::MPolyIdeal)
and given the arcane nature of how Documenter.jl matches these things I am not sure your modified versions still matches.
All in all it would be much simpler to not add this line?
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.
Removed the line with Union{...}. I hope this is what you meant.
@HereAround Thank you for your comments! I will try to answer them as best I can.
|
Thank you for explaining @paemurru ! I will look carefully at your PR by the light of day tomorrow. Re your example: So the "belongs to the Cox ring"-test is part of another called function (maybe cox_ring_homomorphism). That is good! |
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.
Looks good to me @paemurru . Thank you for working on this!
One (hopefully) minor issue: I see that a required test failed after 150 minutes (https://github.com/oscar-system/Oscar.jl/actions/runs/13036857121/job/36369371736?pr=4503). To me this appears to be "just" a time-out error (coincidentally terminated after an FTheoryTools test). Once the test runs complete, I suggest to restart the failed jobs.
Yes, please restart the required failed test, I do not have sufficient access rights to do this myself |
Fixes a bug in FTheoryTools introduced by #4484. Namely, it previously computed the total transform, not the strict transform.
Even with the speed improvements of #4485, computing the strict transform with ideals is slower than operating on polynomials. Therefore, I added strict and total transform functions on polynomials. Also added corresponding tests.
This has only a small impact on the benchmarks in #4484: