extensions:tropicalquarticcurves

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
extensions:tropicalquarticcurves [2021/12/07 14:24] panizzutextensions:tropicalquarticcurves [2026/09/17 12:17] (current) – external edit 127.0.0.1
Line 2: Line 2:
  
 This is the software companion to the article "Computing tropical bitangents to smooth quartic curves in polymake" by This is the software companion to the article "Computing tropical bitangents to smooth quartic curves in polymake" by
-[[https://www.math.uni-tuebingen.de/en/research-chairs/combinatorial-algebraic-geometry/team/hannah-markwig/team/alheydis-geiger|Alheydis Geiger]] and [[https://page.math.tu-berlin.de/~panizzut/|Marta Panizzut]]. +[[https://www.mis.mpg.de/people/alheydis-geiger|Alheydis Geiger]] and [[https://page.math.tu-berlin.de/~panizzut/|Marta Panizzut]]. This page also contains the updated version of the extension, which accompanies the article “Real Tropical Quartics and their Bitangents: Counting with Patchworking” by [[https://www.mis.mpg.de/people/alheydis-geiger|Alheydis Geiger]]. 
 +  
  
 Smooth tropical quartic plane curves are parametrized by maximal cones in the unimodular secondary fan of the four-dilated 2-simplex. Up to $S_3$-symmetry there are 1278 such cones. They can be found at the  [[https://db.polymake.org|database]]. This extension provides functions to determine the dual deformation motifs together with its real lifting conditions of the 7 bitangent classes for a given combinatorial type of a smooth tropical quartic. Moreover, we can compute the bitangent shapes for a chosen fixed tropical quartic curve as well as the number of real bitangents for any sign vector of a chosen lift of the quartic curve. Smooth tropical quartic plane curves are parametrized by maximal cones in the unimodular secondary fan of the four-dilated 2-simplex. Up to $S_3$-symmetry there are 1278 such cones. They can be found at the  [[https://db.polymake.org|database]]. This extension provides functions to determine the dual deformation motifs together with its real lifting conditions of the 7 bitangent classes for a given combinatorial type of a smooth tropical quartic. Moreover, we can compute the bitangent shapes for a chosen fixed tropical quartic curve as well as the number of real bitangents for any sign vector of a chosen lift of the quartic curve.
Line 9: Line 10:
  
 ===== Download ===== ===== Download =====
-{{ :download:tropicalquarticcurves-0.1.tar.xz |}} [07 Dec 2021], for polymake version 4.5+{{ :extensions:tropicalquarticcurves-0.2.tgz |}} [28 Mar 2025], for polymake version 4.13 or newer.
  
 +
 +Older Versions:
 +{{ :download:tropicalquarticcurves-0.1.tar.xz |}} [07 Dec 2021], for polymake version 4.5 or newer.
  
 ===== Installation ===== ===== Installation =====
  
-This requires an installation of polymake, version 4.5.  +This requires an installation of polymake, version 4.13 or newer (for tropicalquarticcurves-0.1 polymake version 4.5 or newer is sufficient).
  
 After download you first need to extract the code. After download you first need to extract the code.
 <code> <code>
-tar Jxpf TropicalCubics-0.2.tar.xz CHANGE THIS+tar -xvzf tropicalquarticcurves-0.2.tgz 
 +tar Jxpf tropicalquarticcurves-0.1.tar.xz 
 </code> </code>
-Suppose this ends up at ''/your/path/TropicalCubics-0.2'' Then you start up polymake.  Within the polymake shell do:+Suppose this ends up at ''/your/path/TropicalQuarticCurves-0.2'' Then you start up polymake.  Within the polymake shell do:
 <code> <code>
-import_extension "/your/path/TropicalCubics-0.2";+import_extension "/your/path/TropicalQuarticCurves-0.2";
 </code> </code>
 Do not forget to use an absolute path!  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/settings'' For more details there is a [[user_guide/extend/extensions|guide to polymake's extension system]]. Do not forget to use an absolute path!  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/settings'' For more details there is a [[user_guide/extend/extensions|guide to polymake's extension system]].
 ===== Examples ===== ===== Examples =====
-This extension contributes to the applications ''fan'' and ''tropical''.+This extension contributes to the applications ''fan'' and ''tropical''The first part shows only examples which are included in the functionality for version 0.1+. Examples for the new version 0.2 can be found below. 
  
 +=== Examples for version 0.1+ ===
 In the application `fan` you can create a ''DualSubdivisionOfQuartic'' derived from ''SubdivisionOfPoints'' by just specifying the maximal cells, as the points are predefined as the lattice points of the four dilated 2-simplex $4\Delta_2$ in a fixed ordering. In the application `fan` you can create a ''DualSubdivisionOfQuartic'' derived from ''SubdivisionOfPoints'' by just specifying the maximal cells, as the points are predefined as the lattice points of the four dilated 2-simplex $4\Delta_2$ in a fixed ordering.
 This extension contributes to the applications ''fan'' and ''tropical''. This extension contributes to the applications ''fan'' and ''tropical''.
Line 107: Line 114:
 > application "fan"; > application "fan";
 > print $Motifs->[0]->TYPE,"\n"; > print $Motifs->[0]->TYPE,"\n";
-> print $Motifs->[0]->HYPERPLANES; 
 A A
 +> print $Motifs->[0]->HYPERPLANES;
 +
 > print $Motifs->[5]->TYPE,"\n"; > print $Motifs->[5]->TYPE,"\n";
-> print $Motifs->[5]->HYPERPLANES; 
 EFJ EFJ
 +> print $Motifs->[5]->HYPERPLANES;
 0 -1 0 0 1 0 1 0 0 0 0 -1 0 0 0 0 -1 0 0 1 0 1 0 0 0 0 -1 0 0 0
 </code> </code>
Line 183: Line 191:
 > $Dsigns = $D->ALL_SIGN_CONDITIONS; > $Dsigns = $D->ALL_SIGN_CONDITIONS;
 > print $Dsigns->rows(),"\n"; > print $Dsigns->rows(),"\n";
-> print $Motifs->[2]->SIGN_CONDITIONS; 
 6 6
 +> print $Motifs->[2]->SIGN_CONDITIONS;
 Triangulation is not generic. Triangulation is not generic.
 </code> </code>
Line 195: Line 203:
 100 100
 </code> </code>
 +
 +=== Examples for version 0.2 ===
 +In the updated version, you can now
 +• compute the number of real bitangents for any unimodular triangulation of $4\Delta_2$ and a
 +given sign vector,
 +• obtain the sign conditions for any unimodular triangulation of $4\Delta_2$ also for the bitan-
 +gent class of shape (C),
 +• work with a real tropical curve and determine whether it is dividing, compute its
 +twisted edges and number of ovals.
 +
 +The extension still contributes to the extensions ''fan'' and ''tropical''. The most additions were made within application tropical.
 +There exists now a new object, called ''RealQuarticCurve'', which consists of a tropical quartic curve with a sign distribution.
 +
 +<code>
 +> application "tropical";
 +> $C = new RealQuarticCurve<Min>(COEFFICIENTS=>[5,1,2,2,0,0,4,0,1,16,7,9,12,16,33],SIGNS=>[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]);
 +</code>
 +
 +The tropical quartic curve with its properties as demonstrated above can still be accessed.
 +
 +<code>
 +> $Q = $C->QUARTIC_CURVE;
 +> print $Q->BITANGENT_SHAPES;
 +A H' J J G T W
 +</code>
 +
 +The real quartic curve comes with real bitangents.
 +
 +<code>
 +> print $C->N_REAL_BITANGENTS;
 +4
 +> print $C->REAL_BITANGENT_TYPES;
 +EFJ G GKUTT` W...HH+(xz)
 +> print $C->REAL_BITANGENT_SHAPES;
 +J G T W
 +> $Bitangentclasses = $C->REAL_BITANGENTS;
 +
 +> for my $i (0..$C->N_REAL_BITANGENTS-1) {
 +> print $Bitangentclasses->[$i]->SIGN_CONDITIONS;
 +> }
 +{5 10}
 +{}
 +{5 10}
 +{}
 +{5 10}
 +{}
 +{}
 +{}
 +</code>
 +
 +Further, the user can decide if a given real tropical quartic curve is dividing and how many ovals an real
 +algebraic lift would have.
 +<code>
 +> print $C->IS_DIVIDING;
 +false
 +> print $C->N_OVALS;
 +3
 +</code>
 +
 +For a curve with two ovals, the property ''IS_DIVIDING'' allows to decide whether or not the two ovals are nested: If the curve is not dividing, the two ovals are not nested.
 +A picture of the real tropical curve can be accessed by using the visualization option of the Patchworking function in \texttt{polymake}.
 +<code>
 +> $p= $C->PATCHWORK;
 +> $p->realize->VISUAL;
 +</code>
 +
 +Finally, the property ''TWISTED_EDGES'' records a list of edges in the dual subdivision(!) of the tropical curve that is twisted with respect to the given sign distribution. 
 +<code>
 +> print $C->TWISTED_EDGES;
 +The twisted edges in the dual subdivision are
 +(8 10) (5 7) (5 8) (5 13) (4 7) (4 5) (1 7) (1 5) (1 4)
 +</code>
 +As the properties ''IS_DIVIDING'' and ''TWISTED_EDGES'' are only dependent on the dual subdivision of the curve and the given sign distribution, they were also added to application ''fan'' in the following two styles.
 +<code>
 +> application "fan";
 +> $S = new DualSubdivisionOfQuartic(MAXIMAL_CELLS=>[[0,1,2],[1,2,4], [2,4,12],[4,7,12],[2,8,12],[2,8,13],[8,12,13],[2,5,13],[5,9,13], [9,13,14],[7,11,12],[7,10,11],[4,7,10],[4,6,10],[3,4,6],[1,3,4]]);
 +> $v = new Vector<Int>([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]);
 +> print $S->IS_DIVIDING($v);
 +false
 +> print $S->TWISTED_EDGES($v);
 +(8 13) (8 12) (4 10) (2 4) (2 12) (2 13) (2 8) (1 4) (1 2)
 +</code>
 +The second way is more general, as it works for any ''SubdivisionOfPoints'' and not just for ''DualSubdivisionOfQuartic''.
 +<code>
 +> $T = new SubdivisionOfPoints(POINTS=>[[1,0,0],[1,1,0],[1,0,1],
 +    [1,2,0],[1,1,1],[1,0,2]],MAXIMAL_CELLS=>[[0,1,2],[1,2,4],[2,4,5],
 +    [2,3,4]]);
 +> $v = new Vector<Int>([1,1,1,1,1,1]);
 +> print twisted_edges($T,$v);
 +(1 2)
 +> print is_dividing($T,$v);
 +true
 +</code>
 +
 +===Database update===
 +The updated data now additionally contains:
 +
 +  * for the 8 non-generic triangulations: ''PLUECKER_NUMBERS'' the number of possible real bitangents, and ''SIGN_REPRESENTATIVES'' an exemplary sign vector for each number of real bitangents,
 +  * the sign conditions for the bitangent classes of shape (C),
 +  * the property ''OVALS'' which contains the data that led to Theorem 3.10, i.e., the count of the number of sign vectors for which the triangulation has a given number of ovals together with an exemplary sign vector.
 +
  • extensions/tropicalquarticcurves.1638887068.txt.gz
  • Last modified: 2021/12/07 14:24
  • by panizzut