Skip to content

complexity of orbits and hence toricBlowup is exponential for blowing up at a point #4023

@mahrud

Description

@mahrud

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:

  1. Both toricBlowup and orbits could be improved using mutable lists and hash tables.
  2. Blowups at points should be trivial to compute using a simpler algorithm.
  3. 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.

cc: @ggsmith

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions