Singular Manual: tropicalSubst

| #### D.13.4.33 tropicalSubst Procedure from library `tropical.lib` (see tropical_lib). Usage: parameterSubstitute(f,N,L); f poly, N int, L list Assume: f is a polynomial in Q(t)[x_1,...,x_k] and L is a list of the form var(i_1),poly_1,...,v(i_k),poly_k Return: list, the list is the tropical polynomial which we get from f by replacing the i-th variable be the i-th polynomial but in the i-th polynomial the parameter t is replaced by t^1/N Example:
    LIB "tropical.lib";
    ==> Welcome to polymake version
    ==> Copyright (c) 1997-2015
    ==> Ewgenij Gawrilow, Michael Joswig (TU Darmstadt)
    ==> http://www.polymake.org
    ring r=(0,t),(x,y),dp;
    poly f=t2x+1/t*y-1;
    tropicalSubst(f,2,x,x+t,y,tx+y+t2);
    ==> [1]:
    ==>    x-1/2
    ==> [2]:
    ==>    y-1
    ==> [3]:
    ==>    5/2
    // The procedure can be used to study the effect of a transformation of
    // the form x -> x+t^b, with b a rational number, on the tropicalisation and
    // the j-invariant of a cubic over the Puiseux series.
    f=t7*y3+t3*y2+t*(x3+xy2+y+1)+xy;
    // - the j-invariant, and hence its valuation,
    //   does not change under the transformation
    jInvariant(f,"ord");
    ==> -5
    // - b=3/2, then the cycle length of the tropical cubic equals -val(j-inv)
    list g32=tropicalSubst(f,2,x,x+t3,y,y);
    tropicalJInvariant(g32);
    ==> // ** int division with `/`: use `div` instead in line >>  genus=-genus/2\
       ; // we have counted each bounded edge twice<<
    ==> 5
    // - b=1, then it is still true, but only just ...
    list g1=tropicalSubst(f,1,x,x+t,y,y);
    tropicalJInvariant(g1);
    ==> // ** int division with `/`: use `div` instead in line >>  genus=-genus/2\
       ; // we have counted each bounded edge twice<<
    ==> 5
    // - b=2/3, as soon as b<1, the cycle length is strictly less than -val(j-inv)
    list g23=tropicalSubst(f,3,x,x+t2,y,y);
    tropicalJInvariant(g23);
    ==> // ** int division with `/`: use `div` instead in line >>  genus=-genus/2\
       ; // we have counted each bounded edge twice<<
    ==> 14/3

User manual for Singular version 4-1-3p2, 2020, generated by texi2html.