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.