Skip to content
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

Decomposition info #2504

Merged

Conversation

HechtiDerLachs
Copy link
Collaborator

We introduce a new pattern to keep track of a decomposition of a covered scheme as a disjoint union. The extended version of this should allow for the computation of intersection numbers without computing any glueings.

Let me know, what you think @simonbrandhorst @afkafkafk13 .

Comment on lines 116 to 125
P3 = projective_space(QQ, 3)
X = covered_scheme(P3)
S = homogeneous_coordinate_ring(P3)
(x,y, z, w) = gens(S)
I = ideal(S, [x^3+y^3+z^3+w^3, x+y+z+w, 37*x^2-x*z+4*w^2-5*w*z])
II = ideal_sheaf(P3, I)
@test oscar.colength(II) == 6
J = ideal(S, [x, y, z^4])
JJ = ideal_sheaf(P3, J)
@test oscar.colength(JJ) == 4
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the relevant tests for this PR.

Comment on lines +223 to +226
# The elements in h indicate where components must
# be located so that they can not be spotted in other charts.
# We iteratively single out these components by adding a sufficiently high
# power of the equation to the ideal.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...and this here how this can be brought to work.

The next step would be to automatically keep track of this information for blowups. Then integration of cycles should go through in little time once we allow weil divisor components to be non-prime.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also need this information to down to subschemes.

@HechtiDerLachs
Copy link
Collaborator Author

If you agree with this concept, I could move forward with it.

@afkafkafk13
Copy link
Collaborator

May I sum up the idea, how I understood it from the first glance (i5 minutes after receiving the first mail on this PR):
In addition to the charts, you also note the 'focus' (not my terminology, introduced by Bodnar and Schicho 2002) such that intersection loci of the charts are only considered once. The disjoint union mentioned above is then the decomposition of the scheme into these constructible sets.

@codecov
Copy link

codecov bot commented Jun 30, 2023

Codecov Report

Merging #2504 (16a21ad) into master (4b0f472) will decrease coverage by 0.01%.
The diff coverage is 72.34%.

❗ Current head 16a21ad differs from pull request most recent head ec8b4de. Consider uploading reports for the commit ec8b4de to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2504      +/-   ##
==========================================
- Coverage   72.95%   72.95%   -0.01%     
==========================================
  Files         406      406              
  Lines       53962    53995      +33     
==========================================
+ Hits        39366    39390      +24     
- Misses      14596    14605       +9     
Impacted Files Coverage Δ
...lgebraicGeometry/Schemes/Covering/Objects/Types.jl 74.19% <ø> (ø)
experimental/Schemes/WeilDivisor.jl 72.98% <43.47%> (-5.24%) ⬇️
experimental/Schemes/CoveredScheme.jl 98.96% <100.00%> (+0.08%) ⬆️
...aicGeometry/Schemes/Covering/Objects/Attributes.jl 95.83% <100.00%> (+2.97%) ⬆️

... and 2 files with indirect coverage changes

Copy link
Collaborator

@simonbrandhorst simonbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that overall this is a great Idea! But it needs a bit more documentation.

@afkafkafk13
Copy link
Collaborator

One general remark: Make sure to correctly carry along this information through a blow up and hence through any sequence of blow-ups.

@HechtiDerLachs
Copy link
Collaborator Author

From my side this is good to go.

of elements ``fᵢ₁,…,fᵢᵣ ∈ 𝒪(Uᵢ)``. These elements are chosen so that for every
affine patch `Uᵢ` of ``X`` in the covering `C` the closed subvarieties ``Zᵢ ⊂ Uᵢ``
defined by the ``fᵢⱼ`` give rise to a decomposition of ``X`` as a **disjoint** union
``X = \bigcup_{i} Z_i`` of locally closed subvarieties.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So $f_{i1}=0$?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still don't understand this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is $Z_i$ exactly? I guess an example would help.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$Z_i \subset U_i$ is the subvariety defined by the elements $f_{i,1}, \dots, f_{i,r}$ returned by the call decomposition_info(X)[U_i].

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O.k. please add this to the docstring with the next pr.

Copy link
Collaborator

@simonbrandhorst simonbrandhorst Jul 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But still how do you get

$X = \bigcup_{i} Z_i$?

Shouldn't $\bigcup_{i} Z_i\subseteq U_i \subset X$?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This must hold by construction of the decomposition_info. You do not get a decomposition with inclusion maps, etc. You get a list of ring elements for every patch and you may continue working with them while assuming that the decomposition described above is a disjoint union.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still don't get it. Because I do not get your definition of a decomposition_info.
Please give clean mathematical definition.

@simonbrandhorst simonbrandhorst enabled auto-merge (squash) July 3, 2023 12:08
@simonbrandhorst
Copy link
Collaborator

I set to auto merge. Please improve the docstring with the next pr.

@simonbrandhorst
Copy link
Collaborator

@HechtiDerLachs promised to add the check later. So I merge this now.

@simonbrandhorst simonbrandhorst merged commit fff7cda into oscar-system:master Jul 3, 2023
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants