Macaulay2 » Documentation
Packages » ReflexivePolytopesDB :: kreuzerSkarke
next | previous | forward | backward | up | index | toc

kreuzerSkarke -- access Kreuzer-Skarke dimension 4 reflexive polytopes database

Synopsis

Description

As a an example, let's take the 4th example with $h^{11}=5$, $h^{21}=53$.

i1 : topes = kreuzerSkarke(5, 53, Limit=>4)
using offline data file: ks5+53-n204.txt

o1 = {4 5  M:51 5 N:11 5 H:5,53 [-96] id:0, 4 5  M:61 5 N:9 5 H:5,53 [-96]
         1   0   1   1  -8                     1   0   0   4  -8          
         0   1   0   0  -3                     0   1   1   9 -15          
         0   0   3   3 -12                     0   0   2   0  -6          
         0   0   0   6 -12                     0   0   0  12 -12          
     ------------------------------------------------------------------------
     id:1, 4 9  M:60 9 N:10 6 H:5,53 [-96] id:2, 4 9  M:59 9 N:10 6 H:5,53
              1   1   1   1   0  -1  -1  -2  -4     1   1   1   0   0   0 
              0   3   0   1   0  -1  -4   0  -4     0   2   0   0   4   0 
              0   0   2   2   0   2   2  -6  -4     0   0   2   0   0   4 
              0   0   0   0   1  -2  -2   3   1     0   0   0   1   1   1 
     ------------------------------------------------------------------------
     [-96] id:3}
     -2  -2  -2
     -4  -6  -6
     -6  -6  -4
     -3  -3  -3

o1 : List
i2 : assert(#topes == 4)
i3 : tope = topes_3

o3 = 4 9  M:59 9 N:10 6 H:5,53 [-96] id:3
        1   1   1   0   0   0  -2  -2  -2
        0   2   0   0   4   0  -4  -6  -6
        0   0   2   0   0   4  -6  -6  -4
        0   0   0   1   1   1  -3  -3  -3

o3 : KSEntry
i4 : header = description tope

o4 = 4 9  M:59 9 N:10 6 H:5,53 [-96] id:3
i5 : A = matrix tope

o5 = | 1 1 1 0 0 0 -2 -2 -2 |
     | 0 2 0 0 4 0 -4 -6 -6 |
     | 0 0 2 0 0 4 -6 -6 -4 |
     | 0 0 0 1 1 1 -3 -3 -3 |

              4       9
o5 : Matrix ZZ  <-- ZZ

The description line gives some information about the example, see Kreuzer-Skarke description headers for more details. The polytope is the convex hull of the columns of the matrix $A$.

Some of the Kreuzer-Skarke data is available from this package off-line. To see what is available when not connected to the net, or when the website is down, call availableOffline.

i6 : availableOffline()

o6 = HashTable{"kreuzerSkarke(1)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks1-n5.txt                  }
               "kreuzerSkarke(2)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks2-n36.txt
               "kreuzerSkarke(3)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks3-n244.txt
               "kreuzerSkarke(5, Limit => 50)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks5-n50.txt
               "kreuzerSkarke(5,53)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks5+53-n204.txt
               "kreuzerSkarke(9,21)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks9+21-n10.txt
               "kreuzerSkarke(11,24)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks11+24-n200.txt
               "kreuzerSkarke(21, Limit => 100)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks21-n100.txt
               "kreuzerSkarke(300)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks300-n20.txt
               "kreuzerSkarke(491)" => /usr/local/share/Macaulay2/ReflexivePolytopesDB/ks491-n1.txt

o6 : HashTable

If data can be obtained locally, it will, and a message indicating this is output.

If one has a string containing Kreuzer-Skarke entries, one can use this function to make a list of KSEntry's

i7 : str = "4 12  M:34 12 N:17 8 H:17,30 [-26] id:0
       1   1   1   1   0   0   0  -3  -3  -1  -1  -3
       0   3   0   1   0   1   0  -3  -5   0  -1  -3
       0   0   2   2   0   0   1  -2  -2  -1  -1  -2
       0   0   0   0   1   1   1  -1  -1   1   1   1"

o7 = 4 12  M:34 12 N:17 8 H:17,30 [-26] id:0
       1   1   1   1   0   0   0  -3  -3  -1  -1  -3
       0   3   0   1   0   1   0  -3  -5   0  -1  -3
       0   0   2   2   0   0   1  -2  -2  -1  -1  -2
       0   0   0   0   1   1   1  -1  -1   1   1   1
i8 : L = kreuzerSkarke str

o8 = {4 12  M:34 12 N:17 8 H:17,30 [-26] id:0 id:0   }
        1   1   1   1   0   0   0  -3  -3  -1  -1  -3
        0   3   0   1   0   1   0  -3  -5   0  -1  -3
        0   0   2   2   0   0   1  -2  -2  -1  -1  -2
        0   0   0   0   1   1   1  -1  -1   1   1   1

o8 : List
i9 : matrix first L

o9 = | 1 1 1 1 0 0 0 -3 -3 -1 -1 -3 |
     | 0 3 0 1 0 1 0 -3 -5 0  -1 -3 |
     | 0 0 2 2 0 0 1 -2 -2 -1 -1 -2 |
     | 0 0 0 0 1 1 1 -1 -1 1  1  1  |

              4       12
o9 : Matrix ZZ  <-- ZZ

Caveat

The database is organized by the h11 value. Placing filters can significantly slow down the database access. Using any of the optional arguments other than Limit also means that the locally stored datafiles will not be used.

See also

Ways to use kreuzerSkarke :

For the programmer

The object kreuzerSkarke is a method function with options.