A KSEntry is essentially a string containing a description header and the vertices of a reflexive polytope. We have given it its own type for ease of use in Macaulay2.
The most common way to obtain (lists of) KSEntry's is via a call kreuzerSkarke or kreuzerSkarkeDim3.
i1 : L = kreuzerSkarke(3, Limit=>5) using offline data file: ks3-n244.txt o1 = {4 5 M:53 5 N:9 5 H:3,43 [-80] id:0, 4 5 M:48 5 N:8 5 H:3,45 [-84] id:1, 4 6 M:48 6 N:8 6 H:3,45 [-84] id:2, 4 13 M:64 1 0 2 4 -10 1 0 2 4 -8 1 1 0 2 4 -8 1 0 0 1 3 5 -9 0 1 5 3 -9 0 3 0 2 0 -6 0 1 0 0 4 0 -4 0 0 6 0 -6 0 0 1 -1 3 -3 0 0 0 0 0 8 -8 0 0 0 6 -6 0 0 0 0 6 -6 0 0 ---------------------------------------------------------------------------------------------------------------------------- 13 N:8 7 H:3,51 [-96] id:3 , 4 9 M:66 9 N:8 6 H:3,57 [-108] id:4} 0 2 -2 0 -1 -1 0 2 2 -3 -3 1 0 0 1 -3 3 3 -3 5 1 3 -5 2 0 0 2 4 4 -6 -6 0 1 0 0 2 -4 -6 4 -8 4 0 -4 5 4 -1 0 1 0 -4 -5 0 0 1 0 2 -2 -2 0 -4 0 4 -4 1 -1 -1 1 5 5 -5 -5 0 0 0 2 0 -4 -6 6 -6 o1 : List |
i2 : netList L +----------------------------------------------------+ o2 = |4 5 M:53 5 N:9 5 H:3,43 [-80] id:0 | | 1 0 2 4 -10 | | 0 1 3 5 -9 | | 0 0 4 0 -4 | | 0 0 0 8 -8 | +----------------------------------------------------+ |4 5 M:48 5 N:8 5 H:3,45 [-84] id:1 | | 1 0 2 4 -8 | | 0 1 5 3 -9 | | 0 0 6 0 -6 | | 0 0 0 6 -6 | +----------------------------------------------------+ |4 6 M:48 6 N:8 6 H:3,45 [-84] id:2 | | 1 1 0 2 4 -8 | | 0 3 0 2 0 -6 | | 0 0 1 -1 3 -3 | | 0 0 0 0 6 -6 | +----------------------------------------------------+ |4 13 M:64 13 N:8 7 H:3,51 [-96] id:3 | | 1 0 0 2 -2 0 -1 -1 0 2 2 -3 -3| | 0 1 1 3 -5 2 0 0 2 4 4 -6 -6| | 0 0 4 0 -4 5 4 -1 0 1 0 -4 -5| | 0 0 0 4 -4 1 -1 -1 1 5 5 -5 -5| +----------------------------------------------------+ |4 9 M:66 9 N:8 6 H:3,57 [-108] id:4 | | 1 0 0 1 -3 3 3 -3 5 | | 0 1 0 0 2 -4 -6 4 -8 | | 0 0 1 0 2 -2 -2 0 -4 | | 0 0 0 2 0 -4 -6 6 -6 | +----------------------------------------------------+ |
Once one has a KSEntry, the most important function is to extract the matrix whose columns are the vertices of the corresponding polytope.
i3 : A = matrix L_0 o3 = | 1 0 2 4 -10 | | 0 1 3 5 -9 | | 0 0 4 0 -4 | | 0 0 0 8 -8 | 4 5 o3 : Matrix ZZ <--- ZZ |
Although the most common way to create (lists of) KSEntry's is via a call to kreuzerSkarke or kreuzerSkarkeDim3 as above, it is also possible to start with a string that perhaps you found while searching the Kreuzer-Skarke database directly.
i4 : e = KSEntry "4 5 M:53 5 N:9 5 H:3,43 [-80] id:0 1 0 2 4 -10 0 1 3 5 -9 0 0 4 0 -4 0 0 0 8 -8 "; |
i5 : A = matrix e o5 = | 1 0 2 4 -10 | | 0 1 3 5 -9 | | 0 0 4 0 -4 | | 0 0 0 8 -8 | 4 5 o5 : Matrix ZZ <--- ZZ |
For developers, a KSEntry is a SelfInitializingType.
The object KSEntry is a self initializing type, with ancestor classes BasicList < Thing.