Discrete & Computational Geometry

, Volume 8, Issue 3, pp 295–313

A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra

  • David Avis
  • Komei Fukuda

DOI: 10.1007/BF02293050

Cite this article as:
Avis, D. & Fukuda, K. Discrete Comput Geom (1992) 8: 295. doi:10.1007/BF02293050


We present a new pivot-based algorithm which can be used with minor modification for the enumeration of the facets of the convex hull of a set of points, or for the enumeration of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension. The algorithm has the following properties:
  1. (a)

    Virtually no additional storage is required beyond the input data.

  2. (b)

    The output list produced is free of duplicates.

  3. (c)

    The algorithm is extremely simple, requires no data structures, and handles all degenerate cases.

  4. (d)

    The running time is output sensitive for nondegenerate inputs.

  5. (e)

    The algorithm is easy to parallelize efficiently.


For example, the algorithm finds thev vertices of a polyhedron inRd defined by a nondegenerate system ofn inequalities (or, dually, thev facets of the convex hull ofn points inRd, where each facet contains exactlyd given points) in timeO(ndv) andO(nd) space. Thev vertices in a simple arrangement ofn hyperplanes inRd can be found inO(n2dv) time andO(nd) space complexity. The algorithm is based on inverting finite pivot algorithms for linear programming.

Copyright information

© Springer-Verlag New York Inc. 1992

Authors and Affiliations

  • David Avis
    • 1
  • Komei Fukuda
    • 2
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada
  2. 2.Graduate School of Systems ManagementUniversity of TsukubaTokyoJapan

Personalised recommendations