-
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
Banff presentation rebased #3898
Banff presentation rebased #3898
Conversation
It looks like some changes introduced here are quite expensive. |
The timings don't look that bad,
There are quite a few GC pauses in between but that is not unusual. The booktests ran from |
Thanks for having a look! I was afraid that the booktests only got cancelled, because the I also tried the testfile for
With this branch:
So memory consumption decreased with no significant impact on computing time. I think this is all good then. |
@hassert :IdealSheaves 1 !isone(Q) | ||
@hassert :IdealSheaves 1 is_prime(result) | ||
set_attribute!(result, :is_prime=>true) | ||
return result |
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.
Please either remove the old code or add an algorithm option if you think that it still performs better in some cases.
@@ -479,13 +538,53 @@ function _self_intersection(I::AbsIdealSheaf) | |||
return get_attribute(I, :_self_intersection)::Int | |||
end | |||
|
|||
function _is_known_to_be_one(I::AbsIdealSheaf, U::AbsAffineScheme; |
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.
May I suggest to name this function
has_is_one(I::AbsIdealSheaf, U::AbsAffineScheme)
and in its body to call
has_is_one(I::Ideal)
?
We have the has_is_...
syntax already in some other places.
It means: has cached the value already ( or it is trivial to compute).
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 saw has_is_one
being introduced. However, it is something different: Here we ask whether an ideal sheaf is known to be isomorphic to the unit ideal sheaf. has_is_one
is asking whether it's easy to decide this question. The implementations are different and it would be more work to adapt this here. Since it's an internal function, I suggest to leave this for the moment.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3898 +/- ##
==========================================
- Coverage 83.87% 83.85% -0.02%
==========================================
Files 589 588 -1
Lines 80864 80891 +27
==========================================
+ Hits 67823 67835 +12
- Misses 13041 13056 +15
|
* Make kernel computation more coherent. * Switch to pushforward in production for prime ideal sheaves. * Improve heuristics for colength computations. * Fix heuristic for pullback computations. * Fix faulty production of ideals. * Add algorithm keyword and tests.
Rebase of #3891 with some fixes.