In each given dimension $d$, it is known that the number of distinct (up to invertible integral change of basis) reflexive polytopes of dimension $d$ is finite in number. For example, in dimension 1 there is 1, in dimension 2, there are 16, in dimension 3, there are 4319 distinct reflexive polytopes.
In a major work, Max Kreuzer and Harold Skarke found algorithms for computing the set of such polytopes. They used these algorithms to show that there are 473,800,776 distinct 4-dimensional reflexive polytopes. The number is sufficiently large that they created a website http://hep.itp.tuwien.ac.at/~kreuzer/CY/ and an interface to access these examples. See their website for references to the algorithms used.
This package, ReflexivePolytopesDB, provides access to this database of reflexive polytopes of dimension 3 and dimension 4.
This package also contains a small part of this database for offline use, in case one cannot access the database.
Here we describe a simple use of the package. The actual investigation of the corresponding polytope or toric variety, or Calabi-Yau hypersurface, is done in Macaulay2 with the aid of other packages, such as Polyhedra and NormalToricVarieties.
Let's take one example polytope from the database, one whose corresponding Calabi-Yau 3-fold has Hodge numbers $h^{1,1}(X) = 9$ and $h^{1,2}(X) = 21$.
|
This returns a list of single entries from the Kreuzer-Skarke database. Each one is essentially a string, containing a description line, together with the vertices of the corresponding polytope.
In Macaulay2, each entry is an object of class KSEntry (meaning: Kreuzer-Skarke database entry). Use matrix(KSEntry) to create the matrix whose columns are the vertices of the reflexive polytope. Use description(KSEntry) to see the associated description from the database (see Kreuzer-Skarke description headers for the description of the format of this description).
|
|
|
The corresponding reflexive polytope has 7 vertices, the columns of this matrix.
|
|
|
|
|
|
We can process many examples at one time, using the list facilities in Macaulay2. For instance, use List / Function to apply matrix to each element of the list, returning a list of the resulting matrices:
|
|
This documentation describes version 1.0 of ReflexivePolytopesDB.
The source code from which this documentation is derived is in the file ReflexivePolytopesDB.m2. The auxiliary files accompanying it are in the directory ReflexivePolytopesDB/.
The object ReflexivePolytopesDB is a package.