-
Notifications
You must be signed in to change notification settings - Fork 113
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
Disjoint gluings #3861
base: master
Are you sure you want to change the base?
Disjoint gluings #3861
Conversation
This change breaks the gluing graph. Unfortunately that is not documented. Hence I can only guess. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3861 +/- ##
===========================================
- Coverage 81.83% 62.24% -19.60%
===========================================
Files 581 578 -3
Lines 80002 82889 +2887
===========================================
- Hits 65468 51591 -13877
- Misses 14534 31298 +16764
|
As far as I see it, the new disjoint_union provides the correct covering of the disjoint union of the two schemes covered by the coverings, whereas the other one provided the disjoint union of two coverings. Both are legitimate and useful functionality. How do we do the naming right? Concerning the other issue: the gluing graph breaks, because |
This change introduces bugs in many more places .... they are just not covered by the tests. The reason is that so far the gluings expect the gluing domains to be of type So what are our options for the gluing domain types? We have to test that |
Now the 1. suggestion is implemented. It turned out the principal opens are flexible enough. |
Can we briefly discuss why introducing "disjoint gluings" became necessary? Maybe through another channel, though. Up to now the rationale is the following: If two open subschemes are not glued, then the gluing is not there. You can check whether or not the corresponding key exists in the dictionary. If that seems to be too complicated, we could introduce a function to ask whether two affine schemes are glued. Localizing at zero was forbidden for several reasons (which I unfortunately do not recall in detail right now). I do not think that allowing this solves more problems than it creates. That the gluing domains are either The |
Not for starting a discussion, just for information: |
Introducing a |
@afkafkafk13 could you please provide an example for your problem where you try to iterate over the non-empty gluings but hit an empty gluing? |
After the last PRs by @HechtiDerLachs , the offending examples now work as expected. He fixed the problem in a different way than this PR, but it looks fixed for the moment. |
I was wondering whether what I did would fix your problem. It was a bug in the code, not necessarily about missing "empty gluings". But we can pick up on that discussion at some later point. Since the original problem is solved for the moment, I close this for now. |
I agree. |
If it is closed, we will never look at it again. I still think that having empty gluings can be beneficial. |
Introduces disjoint gluings.
In particular when we ask a covering for a gluing which is a disjoint union, before it would give a
key error in a dictionary. Not it returns an empty gluing.