Table of Contents
Fetching ...

Quickhull is Usually Forward Stable

Thomas Koopman, Sven-Bodo Scholz

TL;DR

This work analyzes the numerical robustness of Quickhull for planar convex hulls. It introduces a unit‑invariant distance $d_M$ and a perturbation framework, proving a forward error bound of $O(|P|^2\epsilon)$ in the worst case but showing, under balanced recursion and reasonable assumptions, a tighter bound of $O(\log|CH(P)|\epsilon)$; it also proposes stable variants that reduce the worst‑case to $O(\sqrt{|P|}\,D\epsilon)$ or $O(D\log|P|\epsilon)$. The analysis hinges on robust geometric predicates (right‑turn and distance tests) and a careful treatment of how floating‑point errors propagate through the recursive hull construction. The results illuminate when Quickhull is numerically reliable and guide practical implementation choices, including potential parallelization benefits and integration with downstream convexity checks. Overall, the paper provides a rigorous, quantified view of Quickhull’s numerical stability and concrete strategies to improve it in practice.

Abstract

Quickhull is an algorithm for computing the convex hull of points in a plane that performs well in practice, but has poor complexity on adversarial input. In this paper we show the same holds for the numerical stability of Quickhull.

Quickhull is Usually Forward Stable

TL;DR

This work analyzes the numerical robustness of Quickhull for planar convex hulls. It introduces a unit‑invariant distance and a perturbation framework, proving a forward error bound of in the worst case but showing, under balanced recursion and reasonable assumptions, a tighter bound of ; it also proposes stable variants that reduce the worst‑case to or . The analysis hinges on robust geometric predicates (right‑turn and distance tests) and a careful treatment of how floating‑point errors propagate through the recursive hull construction. The results illuminate when Quickhull is numerically reliable and guide practical implementation choices, including potential parallelization benefits and integration with downstream convexity checks. Overall, the paper provides a rigorous, quantified view of Quickhull’s numerical stability and concrete strategies to improve it in practice.

Abstract

Quickhull is an algorithm for computing the convex hull of points in a plane that performs well in practice, but has poor complexity on adversarial input. In this paper we show the same holds for the numerical stability of Quickhull.

Paper Structure

This paper contains 13 sections, 4 theorems, 24 equations, 4 figures, 5 algorithms.

Key Result

Lemma 1

If $\mathop{\mathrm{rt}}\limits(p, u, q)$ is true, but $\widehat{\mathop{\mathrm{rt}}\limits}(p, u, q)$ is not, or the other way around, then $d(u, pq) \leq \gamma_6 M$, where $\gamma_6 = \frac{6\epsilon}{1 - 6\epsilon}$ for $\epsilon$ the machine precision.

Figures (4)

  • Figure 2.1: The points $p$ and $q$ are the left-most and right-most points, and therefore in the hull. The points $r_1$, $r_2$ are farthest from the line $pq$, and also in the hull. Any point within the two triangles $\Delta pr_1 q$, $\Delta q r_2 p$ cannot be in the convex hull.
  • Figure 2.2: Vectors between points in the plane.
  • Figure 4.1: Adversarial input
  • Figure 4.2: Monte-Carlo simulation of $F_n$, using $\gamma_6$ as unit.

Theorems & Definitions (10)

  • Example 1
  • Lemma 1
  • proof
  • Lemma 2
  • proof
  • Lemma 3
  • proof
  • Example 2
  • Theorem 1
  • proof