# Singular

#### D.13.3.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"; ring r=(0,t),(x,y),dp; poly f=t2x+1/t*y-1; tropicalSubst(f,2,x,x+t,y,tx+y+t2); // 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"); // - 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); // - b=1, then it is still true, but only just ... list g1=tropicalSubst(f,1,x,x+t,y,y); tropicalJInvariant(g1); // - 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); ```