English

Computing the Geometric Intersection Number of Curves

Computational Geometry 2019-11-28 v4 Geometric Topology

Abstract

The geometric intersection number of a curve on a surface is the minimal number of self-intersections of any homotopic curve, i.e. of any curve obtained by continuous deformation. Given a curve cc represented by a closed walk of length at most \ell on a combinatorial surface of complexity nn we describe simple algorithms to (1) compute the geometric intersection number of cc in O(n+2)O(n+ \ell^2) time, (2) construct a curve homotopic to cc that realizes this geometric intersection number in O(n+4)O(n+\ell^4) time, (3) decide if the geometric intersection number of cc is zero, i.e. if cc is homotopic to a simple curve, in O(n+log)O(n+\ell\log\ell) time. The algorithms for (2) and (3) are restricted to orientable surfaces, but the algorithm for (1) is also valid on non-orientable surfaces. To our knowledge, no exact complexity analysis had yet appeared on those problems. An optimistic analysis of the complexity of the published algorithms for problems (1) and (3) gives at best a O(n+g22)O(n+g^2\ell^2) time complexity on a genus gg surface without boundary. No polynomial time algorithm was known for problem (2) for surfaces without boundary. Interestingly, our solution to problem (3) provides a quasi-linear algorithm to a problem raised by Poincar\'e more than a century ago. Finally, we note that our algorithm for problem (1) extends to computing the geometric intersection number of two curves of length at most \ell in O(n+2)O(n+ \ell^2) time.

Keywords

Cite

@article{arxiv.1511.09327,
  title  = {Computing the Geometric Intersection Number of Curves},
  author = {Vincent Despré and Francis Lazarus},
  journal= {arXiv preprint arXiv:1511.09327},
  year   = {2019}
}

Comments

59 pages, 33 figures, revised version accepted to Journal of the ACM. The time complexity for testing if a curve is homotopic to a simple one has been reduced to $O(n + \ell\log \ell)$

R2 v1 2026-06-22T11:57:30.720Z