Tutorial
Here is a minimal and not-so-minimal example of computing a zero-dimensional tropical variety using the functions in the library tropicalProjection.lib
.
SINGULAR / Development
A Computer Algebra System for Polynomial Computations / version 4.1.1
0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Feb 2018
FB Mathematik der Universitaet, D-67653 Kaiserslautern \
> LIB "tropicalProjection.lib";
> ring r = 0,(w,z,y,x),lp;
> number uniformizingParameter = 2;
> ideal I =
. (x-1)*(x-2)*(x-4)*(x-6)*(x-8),
. y-2x,
. z-2y,
. w-2z;
> ideal stdI = std(I);
> list TropI1 = tropicalVarietyViaProjection(stdI,uniformizingParameter);
> list mergeStrat = getStrat("overlap");
> string elimStrat = "minpoly";
> int useModular = 1;
> int useParallel = 1
> list TropI2 = tropicalVarietyViaProjection(stdI,uniformizingParameter,mergeStrat,elimStrat,useModular,useParallel);
Please note that the library requires a lexicographical Groebner basis of an ideal in shape position. Functions for coaxing degenerate ideals into shape position will soon follow.
The optional parameters are
mergeStrat: the strategy of gluing the projections (default: getStrat(“overlap”))
elimStrat: the strategy of computing eliminations (default: minpoly)
useModular: 1 if modular approach should be used, 0 otherwise (default: 1 if char(basering)=0, 0 otherwise)
useParallel: 1 if parallelization should be used; 0 otherwise (default: 0)
For a list of possible strategies, please see the documentation.