/////////////////////////////////// // Modifications for Theta Graph // /////////////////////////////////// // The following contains an example for Cell7_1 combinatorial type of the modified tropical theta graphs in R^3. The curve can be visualized by means of projections. // We use the parameters b5, b4, b34, b2, where b3 = b34+b4, a5 = -b5^2, a4 = b4^2, a3 = b3^2, a2 = b2^2. we use this strategy since the modifications involve square roots. // The parameters w5,w3, w34, w2 satisfy: // PiecesTypeIICone[1][0].Hrepresentation() // (An inequality (1, -1, 0, 0) x + 0 >= 0, // An inequality (0, 0, -1, 1) x + 0 >= 0, // An inequality (-1, 2, 0, -1) x + 0 >= 0) // We want a cancellation, so we need in(b4^2) = in(b2*b5). We aim for a subdivision containing the edge x^2y--x^3. For this, we multiply our original vector by 3 (so we replace t by t^3) and take one term of b2 to be t^(6+e) for e =1, since we need ht(x3) >2*d34/3+w2+w3+7*w5/3 and we want integer heights. /////////////////////////////// // Case 7_1: [0, -1, -4, -2] // /////////////////////////////// LIB "all.lib"; LIB "poly.lib"; LIB "tropical.lib"; LIB "elim.lib"; ring rr = (0,t), (b2,b34,b4,b5, x,y,z),dp; poly f=y^2-x*(x-b2^2)*(x-(b4+b34)^2)*(x-b4^2)*(x+b5^2); // f; // b2^2*b34^2*b4^2*b5^2*x+2*b2^2*b34*b4^3*b5^2*x+b2^2*b4^4*b5^2*x+b2^2*b34^2*b4^2*x^2+2*b2^2*b34*b4^3*x^2+b2^2*b4^4*x^2-b2^2*b34^2*b5^2*x^2-2*b2^2*b34*b4*b5^2*x^2-2*b2^2*b4^2*b5^2*x^2-b34^2*b4^2*b5^2*x^2-2*b34*b4^3*b5^2*x^2-b4^4*b5^2*x^2-b2^2*b34^2*x^3-2*b2^2*b34*b4*x^3-2*b2^2*b4^2*x^3-b34^2*b4^2*x^3-2*b34*b4^3*x^3-b4^4*x^3+b2^2*b5^2*x^3+b34^2*b5^2*x^3+2*b34*b4*b5^2*x^3+2*b4^2*b5^2*x^3+b2^2*x^4+b34^2*x^4+2*b34*b4*x^4+2*b4^2*x^4-b5^2*x^4-x^5+y^2 setring(rr); poly B5 = (1); poly B4 = (2*t^1); poly B34 = (t^4); poly B2 = (4*t^2+t^3); map P2 = rr, B2, B34, B4, B5, x, y, z; poly ff = P2(f); ring r = (0,t),(x,y),dp; map newP2 = rr, 0,0,0,0,x,y,0; poly f2 = newP2(ff); // f2; // -x5+(t8+t6+12t5+16t4+8t2-1)*x4+(-t14-8t13-16t12-4t11-36t10-64t9-7t8-80t7-127t6+12t5+8t2)*x3+(4t16+32t15+63t14+8t13+112t12+252t11-20t10+64t9+248t8-80t7-128t6-16t4)*x2+y2+(4t16+32t15+64t14+16t13+128t12+256t11+16t10+128t9+256t8)*x drawTropicalCurve(f2,"max"); /////////////////// // XZ-projection // /////////////////// poly B5 = newP2(B5); poly B4 = newP2(B4); poly B34 = newP2(B34); poly B2 = newP2(B2); poly B3 = B34 + B4; poly g2 = substitute(f2, y, y+B3*B4*B5*x-B5*x^2); // g2; // -x5+(t8+t6+12t5+16t4+8t2)*x4+(-t14-8t13-16t12-4t11-36t10-64t9-7t8-80t7-127t6+8t5)*x3-2*x2y+(4t16+32t15+63t14+8t13+112t12+252t11-16t10+64t9+248t8-64t7-128t6)*x2+(4t5+8t2)*xy+y2+(4t16+32t15+64t14+16t13+128t12+256t11+16t10+128t9+256t8)*x drawTropicalCurve(g2,"max"); /////////////////// // ZY-projection // /////////////////// ring s = (0,t),(x,y,z),dp; map P = r, x,y; poly ff= P(f2); poly B5 = P(B5); poly B4 = P(B4); poly B3 = P(B3); poly B34 = P(B34); ideal I = (ff,z-y+B3*B4*B5*x-B5*x^2); poly fnox= eliminate(I,x)[1]; // Replace z by y and y by x so that the pictures are not flipped. ring r2 = (0,t),(x,y),dp; setring(r2); map PP = s,0,x,y; poly newfnox = PP(fnox); // newfnox; // x5-5*x4y+10*x3y2-10*x2y3+5*xy4-y5+(t16+6t13+t12+14t11+92t10+224t9+254t8-32t7-62t6+16t5+32t4)*x4+(-4t16-24t13-4t12-56t11-368t10-896t9-1012t8+128t7+252t6-36t5-64t4-8t2)*x3y+(6t16+36t13+6t12+84t11+552t10+1344t9+1514t8-192t7-382t6+26t5+32t4+20t2+4)*x2y2+(-4t16-24t13-4t12-56t11-368t10-896t9-1008t8+128t7+256t6-8t5-16t2-4)*xy3+(t16+6t13+t12+14t11+92t10+224t9+252t8-32t7-64t6+2t5+4t2+1)*y4+(t28+14t27+80t26+230t25+336t24+440t23+1292t22+1682t21+720t20+2310t19+3072t18-382t17-727t16+240t15+582t14+576t13+273t12+784t11+1104t10+128t9)*x3+(-3t28-42t27-240t26-690t25-1008t24-1320t23-3876t22-5046t21-2160t20-6918t19-9152t18+1338t17+2205t16-656t15-1358t14-1708t13-883t12-2348t11-3304t10-320t9+8t8+64t7+128t6)*x2y+(3t28+42t27+240t26+690t25+1008t24+1320t23+3876t22+5046t21+2160t20+6912t19+9120t18-1434t17-2217t16+624t15+1164t14+1698t13+915t12+2346t11+3300t10+288t9-12t8-96t7-192t6)*xy2+(-t28-14t27-80t26-230t25-336t24-440t23-1292t22-1682t21-720t20-2304t19-3040t18+478t17+739t16-208t15-388t14-566t13-305t12-782t11-1100t10-96t9+4t8+32t7+64t6)*y3+(-8t35-112t34-638t33-1812t32-2528t31-3120t30-9616t29-12287t28-2754t27-13760t26-21914t25+7292t24+4896t23-13364t22+9856t21+16768t20-1088t18-512t17-1024t16)*x2+(16t35+224t34+1276t33+3624t32+5056t31+6240t30+19216t29+24478t28+5252t27+27424t26+43316t25-16128t24-10032t23+25832t22-22816t21-33824t20-512t19+96t18+960t17+2048t16+128t14)*xy+(-8t35-112t34-638t33-1812t32-2528t31-3120t30-9608t29-12239t28-2626t27-13712t26-21658t25+8064t24+5016t23-12916t22+11408t21+16912t20+256t19-48t18-480t17-1024t16-64t14)*y2+(-16t40-224t39-1280t38-3712t37-5824t36-9736t35-28144t34-38272t33-28464t32-81024t31-107520t30-39008t29-103808t28-138752t27-22592t26-49664t25-66560t24+256t22+2048t21+4096t20)*x+(16t40+224t39+1280t38+3712t37+5824t36+9736t35+28144t34+38272t33+28464t32+81024t31+107520t30+39008t29+103808t28+138752t27+22592t26+49664t25+66560t24-256t22-2048t21-4096t20)*y drawTropicalCurve(newfnox,"max");