///////////////////////////////////////////// // Vertical Modifications for Type V Graph // ///////////////////////////////////////////// // The following contains an example for the modified Type V graph in R^4 (with two smooth genus 1 components). The curve can be visualized by means of planar projections, after a sequence of 2 vertical modifications // Since our modifications involve square roots, we take our branch points to be squares, resp. negative of squares, for computational convenience. // The parameters w2,..., w5 satisfy w2 = w3 < w4 = w5 with val(a5-a4)=val(a5) = val(a4) and val(a3-a2)=val(a3) = val(a2). LIB "all.lib"; LIB "poly.lib"; LIB "all.lib"; LIB "tropical.lib"; LIB "elim.lib"; ring rr = (0,t), (a2,a3,a4,a5, x,y,z),dp; poly f=y^2-x*(x-a2)*(x-a3)*(x-a4)*(x-a5); // f; // -a2*a3*a4*a5*x+a2*a3*a4*x^2+a2*a3*a5*x^2+a2*a4*a5*x^2+a3*a4*a5*x^2-a2*a3*x^3-a2*a4*x^3-a3*a4*x^3-a2*a5*x^3-a3*a5*x^3-a4*a5*x^3+a2*x^4+a3*x^4+a4*x^4+a5*x^4-x^5+y^2 setring(rr); poly b2 = (5*t^14+t^16); poly b3 = (t^14+t^19); poly b4 = (3+t^8); poly b5 = (1+t^5); poly A2 = b2^2; poly A3 = b3^2; poly A4 = b4^2; poly A5 = -1*b5^2; map P2 = rr, A2, A3, A4, A5, 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+(t38+2t33+t32+10t30+26t28+t16-t10+6t8-2t5+8)*x4+(-t70-10t68-25t66-2t65-20t63-50t61-t60-10t58-25t56-t54-2t49-16t46-26t44+4t43+t42-12t41+4t40-38t38+2t37-156t36+20t35+36t33-8t32-80t30-208t28+t26+2t21+6t18+t16+12t13+9t10+6t8+18t5+9)*x3+(t86+10t84+25t82+2t81-t80+20t79-4t78+50t77+36t76-4t75+160t74-28t73+25t72+20t71+3t70+300t69+36t68+135t66+14t65+149t64+140t63+350t61+8t60-4t59+79t58+184t56-31t54-2t53-44t51-6t50-54t49-70t48-196t46-12t45-26t44-156t43-9t42-324t41-96t40-339t38-18t37-156t36-180t35-486t33-9t32-90t30-234t28)*x2+y2+(t96+10t94+25t92+4t91+40t89+6t88+100t87+66t86+210t84+24t83+150t82+244t81+9t80+640t79+126t78+100t77+586t76+36t75+910t74+384t73+25t72+1140t71+54t70+600t69+546t68+1410t66+36t65+150t64+360t63+900t61+9t60+90t58+225t56)*x drawTropicalCurve(f2,"max"); /////////////////// // Z_4Y-projection // /////////////////// poly b2 = newP2(b2); poly b3 = newP2(b3); poly b4 = newP2(b4); poly b5 = newP2(b5); poly A4 = newP2(A4); poly g2 = substitute(f2, x, x+A4); // g2; // -x5+(t38+2t33+t32+10t30+26t28-4t16-t10-24t8-2t5-37)*x4+(-t70-10t68-25t66-2t65-20t63-50t61-t60-10t58-25t56+3t54+6t49+4t48+48t46+78t44+4t43+t42+36t41+28t40+238t38+2t37+468t36+20t35+108t33+22t32+280t30+728t28-3t26-72t24-6t21-18t18-327t16-36t13-27t10-666t8-54t5-513)*x3+(-2t86-20t84-50t82-4t81-t80-40t79-22t78-100t77-147t76-4t75-320t74-64t73-50t72-340t71-21t70-600t69-252t68-720t66-34t65-295t64-400t63+66t62-1000t61+59t60+8t59-188t58+72t57-407t56+584t54+4t53+936t52+88t51+12t50+432t49+298t48+2336t46+24t45+4264t44+312t43+15t42+1296t41+444t40+4161t38+30t37+8736t36+360t35-36t34+1458t33-282t32+2610t30-72t29+6786t28-162t26-2196t24-324t21-324t18-5022t16-648t13-243t10-6156t8-486t5-3159)*x2+y2+(-t102-10t100-25t98-2t97-t96-20t95-22t94-50t93-146t92-4t91-310t90-64t89-31t88-340t87-119t86-600t85-762t84-24t83-1620t82-350t81-307t80-1720t79-206t78-2800t77-1694t76-32t75-4149t74-564t73-1335t72-3300t71+211t70-5998t69-996t68+68t67-4503t66+126t65-2541t64-1980t63+2272t62-4926t61+3446t60+456t59-847t58+1728t57-1074t56+8409t54+106t53+14352t52+1512t51+90t50+5346t49+2177t48+17496t46+180t45+32994t44+2484t43-54t42+8748t41+846t40+18900t38-108t37+40716t36+1620t35-540t34+5832t33-4995t32+8100t30-1080t29+21060t28-1215t26-14148t24-2430t21-1458t18-21627t16-2916t13-729t10-18954t8-1458t5-7290)*x drawTropicalCurve(g2,"max"); ///////////////////// // Z_2Y-projection // ///////////////////// poly A2 = newP2(A2); poly h2 = substitute(f2, x, x+A2); // h2; // -x5+(t38+2t33-4t32-40t30-99t28+t16-t10+6t8-2t5+8)*x4+(3t70+30t68+75t66+6t65-6t64+60t63-120t62+150t61-897t60-2970t58-3675t56-t54-2t49+4t48+24t46+74t44+4t43-3t42-12t41-12t40+102t38-6t37+444t36-60t35-164t33+24t32+240t30+592t28+t26+2t21+6t18+t16+12t13+9t10+6t8+18t5+9)*x3+(3t102+60t100+450t98+6t97+1496t96+120t95+1755t94+900t93-1497t92+3000t91-9940t90+3750t89-37050t88-73502t86-60645t84-50t82-4t81+5t80-40t79+68t78-100t77+378t76+8t75+1177t74+56t73+1783t72-40t71-96t70-606t69+1128t68-120t67+6855t66-928t65+10973t64-3280t63+480t62-4450t61+3584t60-4t59+11842t58+14614t56+44t54+4t53+16t51+12t50+96t49+113t48+284t46+24t45+49t44+204t43+18t42+576t41+192t40+516t38+36t37+294t36+360t35+864t33+18t32+180t30+441t28)*x2+y2+(t134+30t132+375t130+2t129+2499t128+60t127+9335t126+750t125+18051t124+5000t123+8655t122+18750t121-43375t120+37500t119-172501t118+31250t117-428145t116-606400t114-2t113-375498t112-40t111-581t110-300t109+404t108-996t107+2079t106-1182t105+6826t104+360t103+14302t102+198t101+14684t100-3560t99+5055t98-8264t97+35107t96-5280t95+92230t94-20850t93+92967t92-44504t91+19841t90-40040t89+73814t88-100t87+146084t86+2t85+120290t84+16t83+481t82+56t81+112t80+360t79+794t78+1162t77+2564t76+204t75+3349t74+1416t73+786t72+4860t71+1416t70+6918t69+4854t68+360t67+7215t66+2664t65+3609t64+8640t63+180t62+10350t61+1341t60+4410t58+5400t56)*x drawTropicalCurve(h2,"max");