-
Notifications
You must be signed in to change notification settings - Fork 134
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
[FTheoryTools] Unify blowup of singularities among toric varieties and schemes #3519
[FTheoryTools] Unify blowup of singularities among toric varieties and schemes #3519
Conversation
670ca5b
to
4d872a5
Compare
I improvised a fix for the inclusion order similar to #3480 . Now the actual test failures are exposed. @HereAround : I hope this was useful and you can take it from here? |
Thank you @HechtiDerLachs! At the top of my head, I am not sure what caused the error |
1ba9ee5
to
098472a
Compare
What is the problem with the printing changes? Having a quick look, it seems that e.g.
is changed to
So the |
According to @afkafkafk13 this printing change is not desirable, so perhaps this part of the printing can be restored. Are there other issues? if so perhaps list them explicitly so we can discuss them as needed? |
Yes, I indeed feel so too. This comes from an improvement that @HechtiDerLachs suggested. And as mentioned above by @thofma , it seems that the images of the generators are no longer reduced, and also made a suggestion for an attempt to fix it. I just pushed such a change - let us now wait to see if this reverts the printing of quotient rings to its original form. ... And this fix works. Great! |
d796e4c
to
f49a1cc
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #3519 +/- ##
==========================================
+ Coverage 82.08% 82.10% +0.02%
==========================================
Files 567 567
Lines 76652 76861 +209
==========================================
+ Hits 62921 63109 +188
- Misses 13731 13752 +21
|
f49a1cc
to
36c1ccb
Compare
function _evaluate_plain(F::MPolyAnyMap{<:MPolyQuoRing, <:MPolyQuoRing}, u) | ||
# This workaround deals with the fact that arithmetic in quotient rings is TERRIBLY slow. | ||
# All the simplify calls make it unusable in this case, probably due to the fact that | ||
# setting `is_reduced` flags does not pay off in such iterative procedures. | ||
A = codomain(F) | ||
v = evaluate(lift(u), lift.(_images(F))) | ||
return simplify(A(v)) | ||
end | ||
|
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.
No need to apologize for this in the comment! Arithmetic in quotients of polynomial rings is dead slow, when you reduce after each step. The art is to be rather lazy, not care about the choice of representative in complicated sequences of basic operations for a while and only reduce occasionally to normal form -- and of course whenever it is necessary to have a normal form as representative. This is precisely the philosophy you are pursuing here.
cfd1760
to
890af7c
Compare
Yes, indeed. |
Most likely, it will be a lot of work to turn the schemes experimental folder into the new-style (if at all possible, with potential other PRs hanging.) Certainly would be great to have this, but maybe worth pinging @afkafkafk13 , @HechtiDerLachs and @simonbrandhorst, to hear if this is realistic. |
I agree that it is necessary and urgent to clean up experimental/Schemes, but from my point of view this should happen in a 2 step process: |
Just to clarify - this was about the style of the experimental code, not moving it into the OSCAR source. From the above discussion (@lgoettgens and @benlorenz please correct if I am mistaken), I understood that this PR cannot be merged before
Copying the existing code from So I wonder what could be done to move this PR forward with the least effort on all parties involved. |
Of course, I am aware that moving stuff from Schemes to Schemes/src is not the problem ! This is the least of my worries. But the docs and even more so some of the tests will not be a pleasant and safe task at all. Some other tests, on the other hand, are in separate files, which are again easy to move. But we might loose some intentional implicit testing of underlying functionality from src by means of these tests. Luckily, quite a few recent PRs in the Schemes part have been merged over the last week, but @HechtiDerLachs has several older ones sitting around and I am not sure, what the status is for these and how badly each of these would be affected. I am not even sure, whether he might have already prepared to move some things to the src-directory of Oscar (this was, what I had alluded at). This needs to be discussed with @HechtiDerLachs as soon as he is back next week. |
I think it might be possible to just move the source for now, and postpone tests and docs for now. That's what I meant with little disruptive. |
Yeah, I was also starting to hope that we could get away by just taking care of the source. If successful, this is probably the way to go here. (I was admittedly hoping to have this PR merged today, or at least this week. But then, I guess it can wait until next week. @apturner please let me know your feedback on the FTheoryTools changes, so I can try to work them in before we face up to the challenges with Indeed, let us discuss this next week in KL. |
(Reverted to draft for the time being...) |
-> Repeated execution will then lead to different sections, as desired
As suggested by Lars Kastner
890af7c
to
8de6467
Compare
@HechtiDerLachs suggested an easier workaround to make us all happy, namely we "downgrade" (even though we keep the structure) |
This looks like a good idea for the meantime, in particular, to not block this PR. |
2c46e39
to
6901954
Compare
base_scheme(P) in patches(C) || error("base scheme not found in covering") | ||
any(x->x===base_scheme(P), patches(C)) || error("base scheme not found in covering") |
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.
is this a ==
vs ===
issue? Looks like an easy mistake.
cc @HechtiDerLachs