Computing the face lattice of a polytope from its vertex-facet incidences

We give an algorithm that constructs the Hasse diagram of the face lattice of a convex polytope P from its vertex-facet incidences in time O(min{n, m}.α.φ), where n is the number of vertices, m is the number of facets,α is the number of vertex-facet incidences, and φ is the total number of faces of P. This improves results of Fukuda and Rosta [Computational Geometry 4 (4) (1994) 191-198], who described an algorithm for enumerating all faces of a d-polytope in O(min{n, m} . d. φ2) steps. For simple or simplicial d-polytopes our algorithm can be specialized to run in time O(d. α. φ). Furthermore, applications of the algorithm to other atomic lattices are discussed, e.g., to face lattices of oriented matroids.