You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed that toricBlowup for a point in PP^n seems to grow exponentially: ~1s, ~3s, ~10s, ~60s for n=14,15,16,17. Try this with:
n = 17; elapsedTime toricBlowup(toList(0..n-1), toricProjectiveSpace n)
The main bottleneck seems to be computation of the orbits.
I haven't read the implementation carefully, but even if the implemented algorithm is optimal for the general case, there are a few potential improvements here for a student or workshop:
Both toricBlowup and orbits could be improved using mutable lists and hash tables.
Blowups at points should be trivial to compute using a simpler algorithm.
The basis for the Picard group chosen for these special blowups could also be chosen better. In Small changes to Varieties and NormalToricVarieties #4014 I added a WeilToClass option to specify my own degree map, but ideally this should be automatic.