Open saraedum opened 9 months ago
Concerning intersection, there is already a slow "geometric intersection" algorithm in sage-flatsurf, see intersections.
If the two saddle connections are closed (ie starting and ending at the same point) then it is a purely homological computation. This is on its way at #249.
If not closed, there might be a trick to do the computation by first closing the saddle connections, then do a homological computation as above ("main contribution") and then take care of the added bits ("correction").
(2) Is implemented to some extent. We can retriangulate a surface so that the saddle connection becomes an edge (implemented in obscure ways in the orbit closure machinery) and then make that edge a slit. This does not answer the "a fixed number of times" part. It can be done naively by just computing the intersections but that's very slow.
(3) The bottleneck is going to be the enumeration of saddle connections. The other part can then very likely be done subquadratically. So, essentially implemented but we could add this as an example to the docs.
(4) This is implemented. We should explain how to do this in the docs.
(2) Is implemented to some extent. We can retriangulate a surface so that the saddle connection becomes an edge (implemented in obscure ways in the orbit closure machinery) and then make that edge a slit. This does not answer the "a fixed number of times" part. It can be done naively by just computing the intersections but that's very slow.
For the unanswered part, I think it would be a neat addition to the search pruning. Instead of just having a length bound we could also give bounds on how many times the saddle connection is allowed to intersect each edge of the underlying triangulation.
Here is a wishlist that was communicated by email. We should create individual issues for these and discuss how hard it would be to make these things happen.