////////////////////////////////////////////////// // Modifications for Theta Graph yz-projections // ////////////////////////////////////////////////// // The following contains an example for Cell1 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][1].Hrepresentation() // (An inequality (1, -1, 0, 0) x + 0 >= 0, // An inequality (0, 0, 1, -1) x + 0 >= 0, // An inequality (-1, 2, -1, 0) x + 0 >= 0) ///////////////////////////// // Case 1: [0, -1, -3, -4] // ///////////////////////////// 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+t^2); poly B4 = (11*t^1); poly B34 = (5*t^3); poly B2 = (3*t^4); 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+(9t8+25t6+109t4+240t2-1)*x4+(-225t14-981t12-2135t10-2856t8-12823t6-14047t4+242t2)*x3+(-225t18+25785t16+115407t14+123398t12-21538t10-44286t8-42592t6-14641t4)*x2+y2+(27225t20+174240t18+398574t16+383328t14+131769t12)*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+(9t8+25t6+110t4+242t2)*x4+(-225t14-981t12-2135t10-2966t8-13285t6-14641t4)*x3+(-2t2-2)*x2y+(-225t18+25785t16+115407t14+126423t12-2178t10)*x2+(110t6+352t4+242t2)*xy+y2+(27225t20+174240t18+398574t16+383328t14+131769t12)*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+(81t18+81t16+148t14+3270t12+12315t10+9243t8+50t6)*x4+(-324t18-324t16-556t14-12872t12-48962t10-37208t8-1156t6-836t4-242t2)*x3y+(486t18+486t16+798t14+19100t12+73149t10+56068t8+2730t6+2130t4+625t2+4)*x2y2+(-324t18-324t16-520t14-12664t12-48668t10-37464t8-2152t6-1712t4-504t2-4)*xy3+(81t18+81t16+130t14+3166t12+12167t10+9366t8+538t6+428t4+126t2+1)*y4+(50625t32+435375t30+1149111t28-1471293t26-13695751t24-34186044t22-64719205t20-131860804t18-197158543t16-153141991t14-46217019t12-366025t10)*x3+(-151875t32-1306125t30-3447333t28+4489029t26+41553993t24+103065400t22+190330983t20+378937182t18+561160739t16+430156533t14+123968565t12-1945097t10-18150t8)*x2y+(151875t32+1306125t30+3447333t28-4526604t26-41787363t24-103319034t22-188417667t20-370614567t18-546003294t16-415521813t14-116627319t12+3466683t10+27225t8)*xy2+(-50625t32-435375t30-1149111t28+1508868t26+13929121t24+34439678t22+62805889t20+123538189t18+182001098t16+138507271t14+38875773t12-1155561t10-9075t8)*y3+(2835000t42-297796500t40-3016303425t38-10049782275t36-1840944825t34+84398919525t32+283197145725t30+463370565375t28+423435917025t26+203762752875t24+37720564200t22-1698622200t20-13176900t18)*x2+(-5670000t42+595593000t40+6032606850t38+20023334550t36+2797893900t34-172715540750t32-572109466300t30-908636197200t28-735592151250t26-132852371850t24+329405584200t22+383597926800t20+223951198350t18+75837451800t16+11458778650t14+88578050t12)*xy+(2835000t42-297796500t40-3016303425t38-10011667275t36-1398946950t34+86357770375t32+286054733150t30+454318098600t28+367796075625t26+66426185925t24-164702792100t22-191798963400t20-111975599175t18-37918725900t16-5729389325t14-44289025t12)*y2+(-18866925000t50-279163108125t48-1711263039750t46-4998661207650t44-2178636003225t42+38768916158775t40+165973245735825t38+378332470701900t36+564297786681750t34+576979374497625t32+403137517770900t30+184826387398950t28+50390768263275t26+6309458790525t24+48230748225t22)*x+(18866925000t50+279163108125t48+1711263039750t46+4998661207650t44+2178636003225t42-38768916158775t40-165973245735825t38-378332470701900t36-564297786681750t34-576979374497625t32-403137517770900t30-184826387398950t28-50390768263275t26-6309458790525t24-48230748225t22)*y drawTropicalCurve(newfnox,"max");