# Singular

#### D.15.25.6 switchRingsAndComputeInitialIdeal

Procedure from library `tropicalNewton.lib` (see tropicalNewton_lib).

Usage:
switchRingsAndComputeInitialIdeal(I,w); I ideal, w intvec

Return:
ring, a ring containing the initial ideal with respect to w

Assume:
constant coefficient case and w strictly positive integer

Note:
if printlevel sufficiently high will print timing

Example:
 ```LIB "tropicalNewton.lib"; ring r = (0,t),(p01,p02,p12,p03,p13,p23,p04,p14,p24,p34),dp; number uniformizingParameter = t; export(uniformizingParameter); ==> // ** `uniformizingParameter` is already global ideal I = p23*p14-p13*p24+p12*p34, p23*p04-p03*p24+p02*p34, p13*p04-p03*p14+p01*p34, p12*p04-p02*p14+p01*p24, p12*p03-p02*p13+p01*p23; system("--random",1337); printlevel = 3; matrix p = tropicalPointNewton(I); ==> maximal independent set: 1,1,1,0,1,1,0,0,1,1 ==> substituting p01 with number of valuation 59 ==> substituting p02 with number of valuation 14 ==> substituting p12 with number of valuation 87 ==> substituting p13 with number of valuation 16 ==> substituting p23 with number of valuation 63 ==> substituting p24 with number of valuation 90 ==> substituting p34 with number of valuation 8 ==> computing triangular decomposition (picking first factor) ==> starting analysis of Newton polygons ==> possible valuations for p14 (picking first): (968*t^104+1870*t^95+4136*t^\ 89+7990*t^80+1738*t^74+3960*t^73+7650*t^64+7426*t^59-5658*t^58-3936*t^56-\ 3198*t^55+7110*t^43-2760*t^42-1920*t^40-1560*t^39-2760*t^35-1920*t^33-156\ 0*t^32)/(29*t^22+71) ==> possible valuations for p04 (picking first): (-9889*t^175-14674*t^174-422\ 53*t^160-62698*t^159-13079*t^156-24211*t^153-35926*t^152-40455*t^144-6003\ 0*t^143-55883*t^141-103447*t^138-153502*t^137-32021*t^134-53505*t^125-990\ 45*t^122-146970*t^121-136817*t^119-130995*t^103+36300*t^102+70125*t^93+15\ 5100*t^87+299625*t^78+7744*t^75+68563*t^72+148500*t^71+14960*t^66+6545*t^\ 63+286875*t^62+33088*t^60+292951*t^57-212175*t^56-147600*t^54-119925*t^53\ +63920*t^51+27965*t^48+13904*t^45+31680*t^44+6083*t^42+280485*t^41-103500\ *t^40-72000*t^38-58500*t^37+61200*t^35-103500*t^33+26775*t^32-72000*t^31+\ 908*t^30-45264*t^29-5497*t^27-45387*t^26-13776*t^24-11193*t^23+56880*t^14\ -22080*t^13+9525*t^11-22140*t^10-6720*t^8-5460*t^7-22080*t^6-15360*t^4-22\ 140*t^3-6720*t-5460)/(1189*t^86+580*t^70+2911*t^64+580*t^63+1420*t^48+142\ 0*t^41) ==> possible valuations for p03 (picking first): (-899*t^133-1334*t^132-1189*\ t^114-2201*t^111-3266*t^110-2911*t^92+3300*t^60+6375*t^51+704*t^33+6233*t\ ^30+1360*t^24+595*t^21+1264*t^3+553)/(82*t^80+40*t^64+40*t^57) ==> time used total: 0 ==> computing independent set: 0 ==> computing triangular decomposition: 0 ==> analyzing newton polygons: 0 print(p); ==> -59,-14,-87,57,-16,-63,41,-32,-90,-8 intvec w = cccMatrixToPositiveIntvec(p); print(w); ==> 32, ==> 77, ==> 4, ==> 148, ==> 75, ==> 28, ==> 132, ==> 59, ==> 1, ==> 83 def s = switchRingsAndComputeInitialIdeal(I,w); ==> time used computing initial ideal: 0 kill uniformizingParameter; ```