Five-dimensional polytopes play a role in string theory, especially when they are reflexive. It is not trivial to find reflexive polytopes and there exists genetic approaches to finding them. We are implementing a genetic algorithm in Python and search for 5D polytope.
Berglund, He, Heyes, Hirst, Jejjala, and Lukas have demonstrated in their paper "New Calabi-Yau Manifolds from Genetic Algorithms" how a genetic approach can be used to identify new reflexive polytopes. The authors have found various polytopes and published their data set on GitHub. We take up this idea and embark on a search for new five-dimensional polytopes.
We mainly use the libraries numpy, matplotlib, plotly, tulip-control/polytope and pycddlib.
New polytope (found 2023-12-29) with 7 vertices:
vertices = [[-2, 3, 1, -3, 0],
[1, -2, -1, 2, 0],
[4, -4, 1, 2, -2],
[1, 2, 3, 0, -1],
[-3, 3, -1, -2, 2],
[1, 2, 3, -3, -1],
[-2, -1, -3, 0, 2]]
New polytope (found 2023-12-31) with 7 vertices:
vertices = [[4, -2, 3, 2, -3],
[1, -2, -1, 2, 0],
[4, -4, 1, 2, -2],
[1, 2, 3, 0, -1],
[-3, 3, -1, -2, 2],
[1, 2, 3, -3, -1],
[-2, -4, -5, 2, 1]]
New polytope (found 2024-01-10) with 9 vertices:
vertices = [[-2, 0, 0, 1, -1],
[ 1, 0, 0, -2, -2,],
[ 0, 0, 0, 1, 1,],
[-2, -1, 0, -2, -1,],
[-3, 2, -1, 5, -2,],
[ 1, 0, 0, -1, 0,],
[ 0, -1, 1, 1, 3,],
[ 6, -1, 1, -5, 1,],
[-12, 2, -2, 7, -7,]]
The approach is roughly described in this paper (work in progress).
p = LatticePolytope([(-2,0,1,0,-1), (1,0,1,-1,2), (-1,1,-1,-2,0), (1,-1,0,2,0), (1,0,0,-1,0), (0,0,0,2,-1)])
p.interior_points()
p.points()
p.is_reflexive()
or
points = [[-2,0,1,0,-1], [1,0,1,-1,2], [-1,1,-1,-2,0], [1,-1,0,2,0], [1,0,0,-1,0], [0,0,0,2,-1]]
poly = Polyhedron(points)
poly.Hrepresentation()
How to make cdd run (part of the fitness function):
pip install pycddlib
python-cdd or just cdd cause errors