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

document and clean up algebraic cycles #4137

Merged
merged 17 commits into from
Sep 25, 2024
Merged

Conversation

simonbrandhorst
Copy link
Collaborator

No description provided.

@simonbrandhorst
Copy link
Collaborator Author

Cc: @afkafkafk13 @HechtiDerLachs

Copy link
Collaborator

@HechtiDerLachs HechtiDerLachs left a comment

Choose a reason for hiding this comment

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

Looks good. Thank you for cleaning this up!

For now the mathematical description of the functions is spelled out in the documentation. We should, however, go through the literature and eventually adjust the notions and/or give references on the next appropriate occasion.

src/AlgebraicGeometry/Schemes/Divisors/Types.jl Outdated Show resolved Hide resolved
@HechtiDerLachs
Copy link
Collaborator

I "fixed" the tests by coherently passing on the check argument so that the failure will hopefully not be triggered anymore. However, the problem remains for now, so I opened the issue #4138 .

@simonbrandhorst
Copy link
Collaborator Author

Thank you.

temp_dict=IdDict{AbsAffineScheme,Ideal}()
temp_dict[U] = comp
I_sheaf_temp = IdealSheaf(X, extend!(cov, temp_dict), check=false)
I_sheaf_temp = PrimeIdealSheafFromChart(X, U, comp, check=false)
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 is a non-trivial change.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I have some doubts about this function irreducible_decomposition(::EffectiveCartierDivisor).
It seems to assume that this Cartier divisor is a Weyl divisor. Do we need to assume the ambient scheme $X$ to be regular in codimension one for this to work? And if it is not, what is computed here?

Also I wonder if we could return a Weyl divisor here.

Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a non-trivial change.

This function was written long before we had PrimeIdealSheafFromChart. The change makes sense.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Also I wonder if we could return a Weyl divisor here.
Would make sense.

Copy link
Member

@benlorenz benlorenz left a comment

Choose a reason for hiding this comment

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

There are several calls to the now deprecated in_linear_system in /test/AlgebraicGeometry/Schemes/WeilDivisor.jl which now need the extra is_:

@test in_linear_system(KK(x[1]), D)
@test !in_linear_system(KK(x[1]^2), D)
@test in_linear_system(KK(x[1]^2), 2*D)
# Not running at the moment; work in progress
#@test !in_linear_system(KK(x[1], x[2]), D)

(and further down as well)

@HechtiDerLachs
Copy link
Collaborator

@simonbrandhorst : Looks like we messed up our book tests again. Do you have an idea why?

@simonbrandhorst simonbrandhorst changed the title document algebraic cycles document and clean up algebraic cycles Sep 24, 2024
Copy link
Collaborator

@afkafkafk13 afkafkafk13 left a comment

Choose a reason for hiding this comment

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

I leave you a few nitpicks -- mostly on the docstrings.

src/AlgebraicGeometry/Schemes/Divisors/AlgebraicCycles.jl Outdated Show resolved Hide resolved
src/AlgebraicGeometry/Schemes/Divisors/AlgebraicCycles.jl Outdated Show resolved Hide resolved
temp_dict=IdDict{AbsAffineScheme,Ideal}()
temp_dict[U] = comp
I_sheaf_temp = IdealSheaf(X, extend!(cov, temp_dict), check=false)
I_sheaf_temp = PrimeIdealSheafFromChart(X, U, comp, check=false)
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a non-trivial change.

This function was written long before we had PrimeIdealSheafFromChart. The change makes sense.

temp_dict=IdDict{AbsAffineScheme,Ideal}()
temp_dict[U] = comp
I_sheaf_temp = IdealSheaf(X, extend!(cov, temp_dict), check=false)
I_sheaf_temp = PrimeIdealSheafFromChart(X, U, comp, check=false)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also I wonder if we could return a Weyl divisor here.
Would make sense.

src/AlgebraicGeometry/Schemes/Divisors/Types.jl Outdated Show resolved Hide resolved
src/AlgebraicGeometry/Schemes/Divisors/Types.jl Outdated Show resolved Hide resolved
Copy link

codecov bot commented Sep 25, 2024

Codecov Report

Attention: Patch coverage is 76.00000% with 84 lines in your changes missing coverage. Please review.

Project coverage is 84.69%. Comparing base (9fdbd24) to head (c97dbd9).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
.../AlgebraicGeometry/Schemes/Sheaves/IdealSheaves.jl 69.34% 42 Missing ⚠️
...gebraicGeometry/Schemes/Divisors/CartierDivisor.jl 67.44% 14 Missing ⚠️
experimental/Schemes/src/Types.jl 84.37% 10 Missing ⚠️
...ebraicGeometry/Schemes/Divisors/AlgebraicCycles.jl 78.94% 8 Missing ⚠️
...Geometry/Schemes/CoveredSchemes/Morphisms/Types.jl 55.55% 4 Missing ⚠️
.../AlgebraicGeometry/Schemes/Divisors/WeilDivisor.jl 92.00% 2 Missing ⚠️
experimental/Schemes/src/elliptic_surface.jl 50.00% 1 Missing ⚠️
src/AlgebraicGeometry/Schemes/Divisors/Types.jl 87.50% 1 Missing ⚠️
.../Schemes/ProjectiveVariety/Objects/Constructors.jl 50.00% 1 Missing ⚠️
...gebraicGeometry/Schemes/Sheaves/CoherentSheaves.jl 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4137      +/-   ##
==========================================
+ Coverage   84.66%   84.69%   +0.03%     
==========================================
  Files         626      627       +1     
  Lines       84316    84301      -15     
==========================================
+ Hits        71382    71400      +18     
+ Misses      12934    12901      -33     
Files with missing lines Coverage Δ
experimental/Schemes/src/Auxiliary.jl 94.20% <100.00%> (ø)
experimental/Schemes/src/BlowupMorphism.jl 89.73% <100.00%> (+0.10%) ⬆️
...perimental/Schemes/src/CoveredProjectiveSchemes.jl 89.18% <ø> (+0.88%) ⬆️
experimental/Schemes/src/Resolution_structure.jl 67.31% <100.00%> (-0.23%) ⬇️
...eometry/Schemes/ProjectiveVariety/Objects/Types.jl 100.00% <100.00%> (+21.05%) ⬆️
src/deprecations.jl 0.00% <ø> (ø)
src/forward_declarations.jl 100.00% <ø> (ø)
experimental/Schemes/src/elliptic_surface.jl 91.11% <50.00%> (ø)
src/AlgebraicGeometry/Schemes/Divisors/Types.jl 91.66% <87.50%> (-1.44%) ⬇️
.../Schemes/ProjectiveVariety/Objects/Constructors.jl 75.00% <50.00%> (-3.27%) ⬇️
... and 7 more

@simonbrandhorst simonbrandhorst merged commit c806a9d into master Sep 25, 2024
27 of 29 checks passed
@simonbrandhorst simonbrandhorst deleted the sb/divisor_docu branch September 25, 2024 16:52
@thofma
Copy link
Collaborator

thofma commented Sep 25, 2024

I am curious about the change from in_bla to is_in_bla. Since we have in and in_radical, the name in_linear_system sounds "natural" to me.

@simonbrandhorst
Copy link
Collaborator Author

This was my doing. My thought was that the function returns a boolean and therefore should be called is_something ... But on second thought this rule seems to apply mostly to properties, i.e. single argument methods.
Maybe the change was premature.
In any case we want in(::VarietyFunctionField, ::LinearSystem) at some point.

@simonbrandhorst
Copy link
Collaborator Author

julia> inradical
inradical (generic function with 1 method)

julia> in_radical
ERROR: UndefVarError: `in_radical` not defined

@@ -2140,3 +2240,88 @@ is_one(II::SingularLocusIdealSheaf) = all(is_one(produce_non_radical_ideal_of_si

in_radical(J::AbsIdealSheaf, II::SingularLocusIdealSheaf) = all(all(radical_membership(g, produce_non_radical_ideal_of_singular_locus(II, U)) for g in gens(J(U))) for U in affine_charts(scheme(J)))
Copy link
Collaborator

Choose a reason for hiding this comment

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

@simonbrandhorst this one here

HechtiDerLachs added a commit to HechtiDerLachs/Oscar.jl that referenced this pull request Sep 30, 2024
* document algebraic cycles

* move some type declatations in Schemes/ to Schemes/Types.jl

---------

Co-authored-by: HechtiDerLachs <zach@mathematik.uni-kl.de>
Co-authored-by: afkafkafk13  <anne.fruehbis-krueger@uol.de>
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.

5 participants