# Calabi-Yau-Period-Geometry This project collects code used for analysing Calabi–Yau families. It allows for computation of discriminant loci and topological data of manifolds defined as hypersurfaces or complete intersections in toric ambient spaces. ## toric_topdata Supported initialisations are represented by the following examples. ```python elliptic_curve_D = ToricPolytopeProjectiveSpace([1, 2, 3], model_name="elliptic_curve_D") CY3_quintic = ToricPolytopeProjectiveSpace([1, 1, 1, 1, 1], model_name="quintic") CY3_bicubic = ToricPolytopeCICY([[3, 3]], model_name="bi-cubic") CICY3_two_parameter_manual_nef = ToricPolytope([[1,0,0,0,0,0],[0,1,0,0,0,0],[0,0,1,0,0,0], [0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1], [-1,-1,0,0,0,0],[0,0,-1,-1,-1,-1]], nef_partition=[[0,1,2,3], [4,5,6,7]]) CICY5_two_parameter = ToricPolytopeCICY([[6, 1],[0, 2]]) ``` The discriminant factors and topological data, e.g. for the quintic, can then be computed with the methods below. ```python CY3_quintic.disc() CY3_quintic.topdata() ``` We list the output of above two lines. ```term INFO:__main__:Discriminant factors: [[z1 + 1/3125, 0]] INFO:__main__: --- Polytope and GLSM table ------------------ 1|1|1|1|1|| 1 -1|1|0|0|0|| 0 -1|0|1|0|0|| 0 -1|0|0|1|0|| 0 -1|0|0|0|1|| 0 -------------- 1,1,1,1,1; -5 --- L-vectors (GLSM charges) ----------------- [[1, 1, 1, 1, 1, -5]] --- Intersection numbers CY ------------------ {(0, 0, 0): 5} --- Intersection ring ------------------------ 5*t0^3 --- Intersection ring no multiplicities ------ 5*t0^3 --- Chern polynomials ------------------------ [[0], [10*t0^3], [-40*t0^3]] --- Integrated Chern classes ----------------- [[0], [50], [-200]] DEBUG:__main__: --- Kähler cone generators (ambient space) --- ['[z4]'] --- Intersection numbers ambient space ------- {(0, 0, 0, 0): 1} ``` The result is saved in the folder `data/topdata` as a JSON file — giving a model name helps keeping track of these outputs. Note that for Calabi–Yau dimensions larger than four, the additional