Home Online Manual
Top
Back: realizationDimPoly
Forward: tropicalLifting
FastBack:
FastForward:
Up: Singular Manual
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.13.6 tropical_lib

Library:
tropical.lib
Purpose:
Computations in Tropical Geometry

Authors:
Anders Jensen Needergard, email: [email protected]
Hannah Markwig, email: [email protected]
Thomas Markwig, email: [email protected]
Yue Ren, email: [email protected]

Warning:
- tropicalLifting will only work with LINUX and if in addition gfan is installed.
- drawTropicalCurve and drawTropicalNewtonSubdivision will only display the
tropical curve with LINUX and if in addition latex and xdg-open
are installed.
- For tropicalLifting in the definition of the basering the parameter t
from the Puiseux series field C{{t}} must be defined as a variable,
while for all other procedures it must be defined as a parameter.

Theory:
Fix some base field K and a bunch of lattice points v0,...,vm in the integer lattice Z^n, then this defines a toric variety as the closure of (K*)^n in the projective space P^m, where the torus is embedded via the map sending a point x in (K*)^n to the point (x^v0,...,x^vm).
The generic hyperplane sections are just the images of the hypersurfaces in (K*)^n defined by the polynomials f=a0*x^v0+...+am*x^vm=0. Some properties of these hypersurfaces can be studied via tropicalisation.

For this we suppose that K=C{{t}} is the field of Puiseux series over the field of complex numbers (or any other field with a valuation into the real numbers). One associates to the hypersurface given by f=a0*x^v0+...+am*x^vm the tropical hypersurface defined by the tropicalisation trop(f)=min{val(a0)+<v0,x>,...,val(am)+<vm,x>}.
Here, <v,x> denotes the standard scalar product of the integer vector v in Z^n with the vector x=(x1,...,xn) of variables, so that trop(f) is a piecewise linear function on R^n. The corner locus of this function (i.e. the points at which the minimum is attained a least twice) is the tropical hypersurface defined by trop(f).
The theorem of Newton-Kapranov states that this tropical hypersurface is the same as if one computes pointwise the valuation of the hypersurface given by f. The analogue holds true if one replaces one equation f by an ideal I. A constructive proof of the theorem is given by an adapted version of the Newton-Puiseux algorithm. The hard part is to find a point in the variety over C{{t}} which corresponds to a given point in the tropical variety.

It is the purpose of this library to provide basic means to deal with tropical varieties. Of course we cannot represent the field of Puiseux series over C in its full strength, however, in order to compute interesting examples it will be sufficient to replace the complex numbers C by the rational numbers Q and to replace Puiseux series in t by rational functions in t, i.e. we replace C{{t}} by Q(t), or sometimes even by Q[t]. Note, that this in particular forbids rational exponents for the t's.

Moreover, in Singular no negative exponents of monomials are allowed, so that the integer vectors vi will have to have non-negative entries. Shifting all exponents by a fixed integer vector does not change the tropicalisation nor does it change the toric variety. Thus this does not cause any restriction.
If, however, for some reason you prefer to work with general vi, then you have to pass right away to the tropicalisation of the equations, wherever this is allowed -- these are linear polynomials where the constant coefficient corresponds to the valuation of the original coefficient and where the non-constant coefficient correspond to the exponents of the monomials, thus they may be rational numbers respectively negative numbers: e.g. if f=t^{1/2}*x^{-2}*y^3+2t*x*y+4 then trop(f)=min{1/2-2x+3y,1+x+y,0}.

The main tools provided in this library are as follows:
- tropicalLifting implements the constructive proof of the Theorem of Newton-Kapranov and constructs a point in the variety over C{{t}} corresponding to a given point in the
corresponding tropical variety associated to an
ideal I; the generators of I have to be in the
polynomial ring Q[t,x1,...,xn] considered as a
subring of C{{t}}[x1,...,xn]; a solution will be
constructed up to given order; note that several
field extensions of Q might be necessary throughout
the intermediate computations; the procedures use
the external program gfan
- puiseuxExpansion computes a Newton-Puiseux expansion of a plane curve singularity
- drawTropicalCurve visualises a tropical plane curve either given by a polynomial in Q(t)[x,y] or by a list of linear
polynomials of the form ax+by+c with a,b in Z and c
in Q; latex must be installed on your computer
- tropicalJInvariant computes the tropical j-invaiant of a tropical elliptic curve
- jInvariant computes the j-invariant of an elliptic curve
- weierstrassForm computes the Weierstrass form of an elliptic curve

Procedures for tropical lifting:

D.13.6.1 tropicalLifting  computes a point in the tropical variety
D.13.6.2 displayTropicalLifting  displays the output of tropicalLifting
D.13.6.3 puiseuxExpansion  computes a Newton-Puiseux expansion in the plane
D.13.6.4 displayPuiseuxExpansion  displays the output of puiseuxExpansion
Procedures for drawing tropical curves:
D.13.6.5 tropicalCurve  computes a tropical curve and its Newton subdivision
D.13.6.6 drawTropicalCurve  produces a post script image of a tropical curve
D.13.6.7 drawNewtonSubdivision  produces a post script image of a Newton subdivision PROCEDURES FOR J-INVARIANTS:
D.13.6.8 tropicalJInvariant  computes the tropical j-invariant of a tropical curve
D.13.6.9 weierstrassForm  computes the Weierstrass form of a cubic polynomial
D.13.6.10 jInvariant  computes the j-invariant of a cubic polynomial
General procedures:
D.13.6.11 conicWithTangents  computes a conic through five points with tangents
D.13.6.12 tropicalise  computes the tropicalisation of a polynomial
D.13.6.13 tropicaliseSet  computes the tropicalisation several polynomials
D.13.6.14 tInitialForm  computes the tInitial form of a polynomial in Q[t,x_1,...,x_n]
D.13.6.15 tInitialIdeal  computes the tInitial ideal of an ideal in Q[t,x_1,...,x_n]
D.13.6.16 initialForm  computes the initial form of poly in Q[x_1,...,x_n]
D.13.6.17 initialIdeal  computes the initial ideal of an ideal in Q[x_1,...,x_n]
Procedures for latex conversion:
D.13.6.18 texNumber  outputs the texcommand for the leading coefficient of poly
D.13.6.19 texPolynomial  outputs the texcommand for the polynomial poly
D.13.6.20 texMatrix  outputs the texcommand for the matrix
D.13.6.21 texDrawBasic  embeds output of texDrawTropical in a texdraw environment
D.13.6.22 texDrawTropical  computes the texdraw commands for a tropical curve
D.13.6.23 texDrawNewtonSubdivision  computes texdraw commands for a Newton subdivision
D.13.6.24 texDrawTriangulation  computes texdraw commands for a triangulation
Auxiliary procedures:
D.13.6.25 radicalMemberShip  checks radical membership
D.13.6.26 tInitialFormPar  computes the t-initial form of poly in Q(t)[x_1,...,x_n]
D.13.6.27 tInitialFormParMax  same as tInitialFormPar, but uses maximum
D.13.6.28 solveTInitialFormPar  displays approximated solution of a 0-dim ideal
D.13.6.29 detropicalise  computes the detropicalisation of a linear form
D.13.6.30 tDetropicalise  computes the detropicalisation of a linear form
D.13.6.31 dualConic  computes the dual of an affine plane conic
D.13.6.32 parameterSubstitute  substitutes in the polynomial the parameter t by t^N
D.13.6.33 tropicalSubst  makes certain substitutions in a tropical polynomial
D.13.6.34 randomPolyInT  computes a polynomial with random coefficients
D.13.6.35 cleanTmp  clears /tmp from files created by other procedures
Procedures from binary library:
D.13.6.36 groebnerCone  constructs the Groebner cone with respect to a weight vector
D.13.6.37 maximalGroebnerCone  constructs the Groebner cone with respect to the current ordering
D.13.6.38 homogeneitySpace  constructs the homogeneity space
D.13.6.39 initial  constructs the initial form resp. ideal
D.13.6.40 tropicalVariety  computes the tropical variety of a poly or ideal
D.13.6.41 groebnerFan  computes the Groebner fan of a poly or ideal
D.13.6.42 groebnerComplex  computes the Groebner complex of a poly or ideal