-
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
Implement equality for toric varieties #4509
base: master
Are you sure you want to change the base?
Conversation
The only computationally complex part is computing the rays of the toric varieties, which are usually already computed anyway.
@paemurru seems to have an increased interest in this feature/functionality. After several discussions more (the last of which I recall did take place before Christmas among @lkastner @paemurru and myself), it was agreed that one could implement such a method - provided interest and time. It seems that @paemurru found both! (Thank you!) |
@paemurru given the failed required test, I assume this is WIP. Please ping me once ready for review. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4509 +/- ##
=======================================
Coverage 84.55% 84.55%
=======================================
Files 672 672
Lines 88833 88860 +27
=======================================
+ Hits 75109 75136 +27
Misses 13724 13724
|
What is this needed for? |
src/AlgebraicGeometry/ToricVarieties/NormalToricVarieties/constructors.jl
Outdated
Show resolved
Hide resolved
@HereAround Those three test failures are from nightly, those are not required or relevant here! This is not a WIP, that tag can be removed |
src/AlgebraicGeometry/ToricVarieties/NormalToricVarieties/constructors.jl
Outdated
Show resolved
Hide resolved
@joschmitt One thing that changed is that I wrote a fast equality check |
It is not fast, since it still potentially involves double description computation. This is why I am asking for a use case. Because in the long run we will have users using this check and then complain about Oscar being slow. Most of the time this equality check can be avoided by studying the underlying mathematics. For example we were able to avoid a lot of equality checks of polyhedra in the git fans that way. Often one is in the situation where one fan is already refining the other fan, e.g. for blow ups. Adding this operator makes this check convenient and seemingly cheap. It is not. |
Also remove `f_vector`.
All the "famous toric varieties" in the documentation already have rays computed, so this does not involve double description computation for them. For any kind of blowups or refining of fans by adding a ray, again the rays are already computed. Often one works with the Cox ring, so the rays need to be computed. I cannot think of a use case where the rays are not already computed. Would you prefer it if it first checked whether the rays are already computed and if not, it would return an error? |
Should be ready to merge now |
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 cannot say anything about the concrete implementations. But two comments regarding the docstrings below
src/AlgebraicGeometry/ToricVarieties/NormalToricVarieties/constructors.jl
Outdated
Show resolved
Hide resolved
src/AlgebraicGeometry/ToricVarieties/NormalToricVarieties/constructors.jl
Outdated
Show resolved
Hide resolved
src/AlgebraicGeometry/ToricVarieties/NormalToricVarieties/constructors.jl
Outdated
Show resolved
Hide resolved
Is it clear (and maybe checked?) that the polyhedral fans for these varieties are pointed ( |
@benlorenz According to the book of Cox–Little–Schenck, polyhedral fans are pointed. At least according to the documentation, toric geometry in OSCAR follows the book of Cox. I am not sure if this is actually checked in the constructor (it should be!) |
test/AlgebraicGeometry/ToricVarieties/normal_toric_varieties.jl
Outdated
Show resolved
Hide resolved
Co-authored-by: Benjamin Lorenz <benlorenz@users.noreply.github.com>
The only computationally expensive part is computing the rays of the toric varieties, which are usually already computed anyway.