extensions:tropicalcubics

This is an old revision of the document!


TropicalCubics

This is the software companion to the article “The Schäfli fan” by Michael Joswig, Marta Panizzut and Bernd Sturmfels, arXiv:1905.xyz

Smooth tropical cubic surfaces are parameterized by maximal cones in the unimodular secondary fan of the triple tetrahedron. There are 344 843 867 such cones, organized into a database of 14 373 645 symmetry classes. The Schläfli fan gives a further refinement of these cones. It reveals all possible patterns of the 27 or more lines on tropical cubic surfaces, thus serving as a combinatorial base space for the universal Fano variety. This article develops the relevant theory and offers a blueprint for the analysis of big data in tropical algebraic geometry. We conclude with a sparse model for cubic surfaces over a field with valuation.

While the database or rather the relevant collection TropicalCubics can be accessed directly via a web front end or though mongodb's API, using this extension to polymake is recommended for an enhanced experience.

This requires an installation of polymake, version 3.5 (or a developer's version no later than 28 May 2019).

After download you first need to extract the code.

tar Jxpf TropicalCubics-0.1.tar.xz

Suppose this ends up at /your/path/TropicalCubics-0.1. Then you start up polymake. Within the polymake shell do:

import_extension "/your/path/TropicalCubics-0.1";

Afterwards you are good to run the code. This import needs to be performed only once. The reference to the extension is permanently stored in $HOME/.polymake/prefer.pl. For more details there is a guide to polymake's extension system.

This extension makes contributions to the applications fan and tropical.

In the application tropical you can create a dense tropical cubic surface by just specifying the coordinates. The monomials, which correspond to the 20 lattice points in the triple tetrahedron $3 \Delta_3$, have a fixed ordering.

> $S = new CubicSurface<Min>(COEFFICIENTS=>[5,1,1,5,2,0,2,2,2,5,2,0,2,0,0,1,2,2,1,5]);
> print $S->DEGREE;
3

A CubicSurface is derived fromHypersurface; so it has all its properties.

The bulk of the functionality sits in the application fan and the type DualSubdivisionOfCubic.

> print $S->DUAL_SUBDIVISION->type->full_name;
DualSubdivisionOfCubic
> $T = new DualSubdivisionOfCubic(MAXIMAL_CELLS=>[[0,1,4,10],[9,13,14,15],[11,12,13,16],[15,16,17,18],[16,17,18,19],[13,15,16,17],[5,8,11,12],[1,4,5,11],[5,7,9,13],[5,6,8,12],[13,14,15,17],[1,5,11,12],[1,2,5,12],[4,5,7,13],[8,9,13,14],[3,5,6,12],[2,3,5,12],[4,11,13,16],[12,13,14,17],[5,8,9,13],[5,8,11,13],[1,4,11,16],[1,4,10,16],[8,11,12,13],[12,13,16,17],[8,12,13,14],[4,5,11,13]]);
> print $T->GKZ_VECTOR;
1 6 2 2 7 12 2 2 7 4 2 9 11 15 5 4 8 6 2 1

In the article we consider the running example #5054117. This is how you can get that regular unimodular triangulation of $3 \Delta_3$ from the database. Everything below requires common::polydb.rules to be correctly configured.

> $X=retrieve_by_id(5054117);
> print $X->MAXIMAL_CELLS;
{0 1 4 10}
{1 2 5 11}
{1 4 7 13}
...

This example has one occurrence of the motif 3J.

> print $X->N_MOTIF_TYPES;
6 5 0 24 0 2 4 7 2 1
> $X->MOTIFS3J->[0]->properties();
type: Motif

TYPE
J

POINTS
11 9 15 1 2

EXITS
0 3 1 2

TETRAHEDRA
10 19

Suppose you have a triangulation of $3 \Delta_3$ and you want to find it. This example comes from §6.2 of Hampe & Joswig: Tropical computations in polymake, in: Algorithmic and experimental methods in algebra, geometry, and number theory, Springer 2017. This is again in application tropical.

> $F = toTropicalPolynomial("min(12+3*x0,-131+2*x0+x1,
  -67+2*x0+x2,-9+2*x0+x3,-131+x0+2*x1,-129+x0+x1+x2,
  -131+x0+x1+x3,-116+x0+2*x2,-76+x0+x2+x3,-24+x0+2*x3,-95+3*x1,
  -108+2*x1+x2,-92+2*x1+x3,-115+x1+2*x2,-117+x1+x2+x3,
  -83+x1+2*x3,-119+3*x2,-119+2*x2+x3,-82+x2+2*x3,-36+3*x3)");
> $V = new Hypersurface<Min>(POLYNOMIAL=>$F);
> $h = canonical_hash($V->DUAL_SUBDIVISION->MAXIMAL_CELLS);
> $Y = retrieve_by_canonical_hash($h);
> print $Y->name;
5054117

So this corresponds to the triangulation #5054117 constructed above (and stored in the variable $X).

  • extensions/tropicalcubics.1559050975.txt.gz
  • Last modified: 2019/05/28 13:42
  • by joswig