
D.13.3 tropical_lib
 Library:
 tropical.lib
 Purpose:
 Computations in Tropical Geometry
 Authors:
 Anders Jensen Needergard, email: jensen@math.tuberlin.de
Hannah Markwig, email: hannah@unimath.gwdg.de
Thomas Markwig, email: keilen@mathematik.unikl.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 NewtonKapranov 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 NewtonPuiseux 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 nonnegative 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 nonconstant 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/22x+3y,1+x+y,0}.
The main tools provided in this library are as follows:
 tropicalLifting implements the constructive proof of the Theorem of
NewtonKapranov 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 NewtonPuiseux 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 jinvaiant of a tropical
elliptic curve
 jInvariant computes the jinvariant of an elliptic curve
 weierstrassForm computes the Weierstrass form of an elliptic curve
Procedures for tropical lifting:
Procedures for drawing tropical curves:
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:
Auxilary procedures:
