### D.13.3 tropical_lib

Library:
  tropical.lib
Purpose:
  Computations in Tropical Geometry

Authors:
  Anders Jensen Needergard, email: jensen@math.tu-berlin.de
  Hannah Markwig, email: hannah@uni-math.gwdg.de
  Thomas Markwig, email: keilen@mathematik.uni-kl.de

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 kghostview
  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 @sc{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, whereever 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.3.1 tropicalLifting |  | computes a point in the tropical variety
> D.13.3.2 displayTropicalLifting |  | displays the output of tropicalLifting
> D.13.3.3 puiseuxExpansion |  | computes a Newton-Puiseux expansion in the plane
> D.13.3.4 displayPuiseuxExpansion |  | displays the output of puiseuxExpansion

Procedures for drawing tropical curves:

> D.13.3.5 tropicalCurve |  | computes a tropical curve and its Newton subdivision
> D.13.3.6 drawTropicalCurve |  | produces a post script image of a tropical curve
> D.13.3.7 drawNewtonSubdivision |  | produces a post script image of a Newton subdivision PROCEDURES FOR J-INVARIANTS:
> D.13.3.8 tropicalJInvariant |  | computes the tropical j-invariant of a tropical curve
> D.13.3.9 weierstrassForm |  | computes the Weierstrass form of a cubic polynomial
> D.13.3.10 jInvariant |  | computes the j-invariant of a cubic polynomial

General procedures:

> D.13.3.11 conicWithTangents |  | computes a conic through five points with tangents
> D.13.3.12 tropicalise |  | computes the tropicalisation of a polynomial
> D.13.3.13 tropicaliseSet |  | computes the tropicalisation several polynomials
> D.13.3.14 tInitialForm |  | computes the tInitial form of a polynomial in Q[t,x_1,...,x_n]
> D.13.3.15 tInitialIdeal |  | computes the tInitial ideal of an ideal in Q[t,x_1,...,x_n]
> D.13.3.16 initialForm |  | computes the initial form of poly in Q[x_1,...,x_n]
> D.13.3.17 initialIdeal |  | computes the initial ideal of an ideal in Q[x_1,...,x_n]

Procedures for latex conversion:

> D.13.3.18 texNumber |  | outputs the texcommand for the leading coefficient of poly
> D.13.3.19 texPolynomial |  | outputs the texcommand for the polynomial poly
> D.13.3.20 texMatrix |  | outputs the texcommand for the matrix
> D.13.3.21 texDrawBasic |  | embeds output of texDrawTropical in a texdraw environment
> D.13.3.22 texDrawTropical |  | computes the texdraw commands for a tropical curve
> D.13.3.23 texDrawNewtonSubdivision |  | computes texdraw commands for a Newton subdivision
> D.13.3.24 texDrawTriangulation |  | computes texdraw commands for a triangulation

Auxilary procedures:

> D.13.3.25 radicalMemberShip |  | checks radical membership
> D.13.3.26 tInitialFormPar |  | computes the t-initial form of poly in Q(t)[x_1,...,x_n]
> D.13.3.27 tInitialFormParMax |  | same as tInitialFormPar, but uses maximum
> D.13.3.28 solveTInitialFormPar |  | displays approximated solution of a 0-dim ideal
> D.13.3.29 detropicalise |  | computes the detropicalisation of a linear form
> D.13.3.30 tDetropicalise |  | computes the detropicalisation of a linear form
> D.13.3.31 dualConic |  | computes the dual of an affine plane conic
> D.13.3.32 parameterSubstitute |  | substitutes in the polynomial the parameter t by t^N
> D.13.3.33 tropicalSubst |  | makes certain substitutions in a tropical polynomial
> D.13.3.34 randomPolyInT |  | computes a polynomial with random coefficients
> D.13.3.35 cleanTmp |  | clears /tmp from files created by other procedures

User manual for Singular version 4-0-3, 2016, generated by texi2html.