PALP: A Package for Analyzing Lattice Polytopes with Applications to Toric Geometry
Maximilian Kreuzer, Harald Skarke
TL;DR
The paper introduces PALP, a GNU-licensed collection of C programs for calculations with lattice polytopes and applications to toric geometry and string theory, including poly.x and specialized tools for reflexive polytopes and complete intersections. It develops a fast, robust pipeline based on vertex/facet enumeration, lattice-point completion, and incidence/symmetry analysis, with targeted capabilities for Calabi-Yau constructions and Hodge data. A key contribution is the emphasis on reflexive polytopes (and their duals) in toric contexts, enabling fibration analysis and subpolytope classifications in dimensions up to at least five, while benchmarking against existing packages. The work also discusses practical IO formats, fixed-precision arithmetic, and compilation-time limits, guiding users on when to employ optimizations or alternative options for very large problems.
Abstract
We describe our package PALP of C programs for calculations with lattice polytopes and applications to toric geometry, which is freely available on the internet. It contains routines for vertex and facet enumeration, computation of incidences and symmetries, as well as completion of the set of lattice points in the convex hull of a given set of points. In addition, there are procedures specialised to reflexive polytopes such as the enumeration of reflexive subpolytopes, and applications to toric geometry and string theory, like the computation of Hodge data and fibration structures for toric Calabi-Yau varieties. The package is well tested and optimised in speed as it was used for time consuming tasks such as the classification of reflexive polyhedra in 4 dimensions and the creation and manipulation of very large lists of 5-dimensional polyhedra. While originally intended for low-dimensional applications, the algorithms work in any dimension and our key routine for vertex and facet enumeration compares well with existing packages.
