{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "72d5a30c-1a59-4a55-9680-fdfa7979625b", "metadata": {}, "outputs": [], "source": [ "# load('zetas_triples_general.py')\n", "R. = PolynomialRing(QQ, order='neglex')\n", "S. = PolynomialRing(QQ, order='neglex')\n", "f = v^2 - u^2\n", "g = u^4\n", "F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)\n", "h = F.discriminant(z)(x=u, y=v)" ] }, { "cell_type": "code", "execution_count": 2, "id": "57f4e587-fd6a-4aa2-8423-78e8b5f0d2dd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F.jacobian_ideal().vector_space_dimension()" ] }, { "cell_type": "code", "execution_count": 3, "id": "9207fe2e-adca-4549-a083-74d467563684", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R0. = QQ[]\n", "Kt = R0.fraction_field()\n", "Rt. = PolynomialRing(Kt, order='neglex')\n", "S. = PolynomialRing(Kt, order='neglex')\n", "f = v^2 - u^2\n", "g = u^4\n", "F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)\n", "h = F.discriminant(z)(x=u, y=v)\n", "F.jacobian_ideal().vector_space_dimension()" ] }, { "cell_type": "code", "execution_count": 4, "id": "27e92ddc-34d6-4290-880f-9d3561a8ec4e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ft = F + t * x * z^2\n", "Ft.jacobian_ideal().vector_space_dimension()" ] }, { "cell_type": "code", "execution_count": 5, "id": "8cc358aa-03d1-4b9c-b4ff-87b0324bd55b", "metadata": {}, "outputs": [], "source": [ "load('zetas_triples_general.py')\n", "ht = Ft.discriminant(z)(x=u, y=v)" ] }, { "cell_type": "code", "execution_count": 8, "id": "d21a93b0-b0c4-4cd2-b648-f4bca8f78376", "metadata": {}, "outputs": [], "source": [ "Zt = ZetaFunctions(ht)\n", "Z = ZetaFunctions(h)" ] }, { "cell_type": "code", "execution_count": 11, "id": "59240908-d672-4520-90e5-7358840f8c23", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-108) * (-v + u)^3 * (v + u)^3]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.factor() for p in Z.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 12, "id": "a1a4111c-050d-4656-be38-ceac87684b47", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(9) * (v - u)^2 * (v + u)^2 * (12*v^2 + (t^2 - 12)*u^2)]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.factor() for p in Zt.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 13, "id": "8ac2847d-121a-4a78-a202-7e1692998c99", "metadata": {}, "outputs": [], "source": [ "Zta = ZetaFunctions(ht(v=v + u))\n", "Za = ZetaFunctions(h(v=v + u))" ] }, { "cell_type": "code", "execution_count": 15, "id": "e7884c6b-458b-4d7c-8c8f-376ec4b87c9a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(108) * v^3 * (v + 2*u)^3, (108) * u^3 * (8*v^3 - u^5)]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.factor() for p in Za.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 16, "id": "442b2c9c-c7f1-4fb9-ac12-bf372d90a342", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(9) * v^2 * (v + 2*u)^2 * (12*v^2 + 24*u*v + (t^2)*u^2),\n", " ((4*t^2)) * u^4 * (9*v^2 + (-2*t)*u^3)]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.factor() for p in Zta.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 17, "id": "bb3b178d-c56c-491d-8bc6-c951d101ff92", "metadata": {}, "outputs": [], "source": [ "Ztb = ZetaFunctions(ht(v=v - u))\n", "Zb = ZetaFunctions(h(v=v -u ))" ] }, { "cell_type": "code", "execution_count": 18, "id": "7121f34f-2792-4ed5-8e20-fb0024e1638d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-108) * (-v + 2*u)^3 * v^3, (-108) * u^3 * (8*v^3 + u^5)]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.factor() for p in Zb.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 19, "id": "9986d1b9-fc85-4019-845f-438f79021f2b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(9) * v^2 * (v - 2*u)^2 * (12*v^2 - 24*u*v + (t^2)*u^2),\n", " ((4*t^2)) * u^4 * (9*v^2 + (-2*t)*u^3)]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.factor() for p in Ztb.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 24, "id": "fb974d4e-ea53-48e8-97e3-6878039dfbe6", "metadata": {}, "outputs": [], "source": [ "Zt = ZetaFunctions(Ft)\n", "Z = ZetaFunctions(F)" ] }, { "cell_type": "code", "execution_count": 47, "id": "9974eefe-db38-4da1-b438-eb56f6effbe4", "metadata": {}, "outputs": [], "source": [ "def nwt(p):\n", " return p(u=u^2, v=u^7 * (v + 1))" ] }, { "cell_type": "code", "execution_count": 27, "id": "2b0713c1-0f81-4477-b0e4-b37c3ad80456", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Z.newton_plot()" ] }, { "cell_type": "code", "execution_count": 28, "id": "9ce635a7-c084-458e-889c-62d791adbf57", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Zt.newton_plot()" ] }, { "cell_type": "code", "execution_count": 30, "id": "974b2099-0fdb-42b4-829b-72b6e0a7b38b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Newton's polyhedron of z^3 - 3*y^2*z + 3*x^2*z + 2*x^4:\n", " support points = [(0, 0, 3), (0, 2, 1), (2, 0, 1), (4, 0, 0)]\n", " vertices = [(0, 0, 3), (0, 2, 1), (2, 0, 1), (4, 0, 0)]\n", " number of compact faces = 11\n", " Facet 1: -4 + 2*z + y + x >= 0\n", " Facet 4: -3 + z + y + x >= 0\n" ] } ], "source": [ "Z.give_info_newton(compact=True)" ] }, { "cell_type": "code", "execution_count": 31, "id": "7a653a38-c2f6-45e5-bf44-81173d1ede55", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Newton's polyhedron of z^3 - 3*y^2*z + t*x*z^2 + 3*x^2*z + 2*x^4:\n", " support points = [(0, 0, 3), (0, 2, 1), (1, 0, 2), (2, 0, 1), (4, 0, 0)]\n", " vertices = [(0, 0, 3), (0, 2, 1), (4, 0, 0), (2, 0, 1)]\n", " number of compact faces = 11\n", " Facet 0: -4 + 2*z + y + x >= 0\n", " Facet 4: -3 + z + y + x >= 0\n" ] } ], "source": [ "Zt.give_info_newton(compact=True)" ] }, { "cell_type": "code", "execution_count": 32, "id": "448680b0-7998-4c7a-a400-f44bbed407bb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "z^3 - 3*y^2*z + t*x*z^2 + 3*x^2*z + 2*x^4" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Ft" ] }, { "cell_type": "code", "execution_count": 48, "id": "05705617-d0f6-464a-a9a0-4cefb5bce4d1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "u^14 * (2*v + v^2 + u^3 + u^3*v)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nwt(f).factor()" ] }, { "cell_type": "code", "execution_count": 49, "id": "4eb24e43-3a10-4db9-8502-8c62289a3fe7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "u^24 * (1 + 6*u^3 + 6*u^3*v + 4*u^4*v^2 + 4*u^4*v^3 + u^4*v^4 + 15*u^6 + 30*u^6*v + 15*u^6*v^2 + 4*u^7*v + 6*u^7*v^2 + 2*u^7*v^3 + 20*u^9 + 60*u^9*v + 60*u^9*v^2 + 20*u^9*v^3 + u^10 + 2*u^10*v + u^10*v^2 + 15*u^12 + 60*u^12*v + 90*u^12*v^2 + 60*u^12*v^3 + 15*u^12*v^4 + 6*u^15 + 30*u^15*v + 60*u^15*v^2 + 60*u^15*v^3 + 30*u^15*v^4 + 6*u^15*v^5 + u^18 + 6*u^18*v + 15*u^18*v^2 + 20*u^18*v^3 + 15*u^18*v^4 + 6*u^18*v^5 + u^18*v^6)" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nwt(g).factor()" ] }, { "cell_type": "code", "execution_count": 50, "id": "28776340-947d-4ed6-a492-79f9341b9f18", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1 + v)^2 * u^14" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nwt(f2).factor()" ] }, { "cell_type": "code", "execution_count": 39, "id": "358b6044-7de1-4bfe-9e4f-283adfc93aca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3/2) * (1 + v) * u^21 * (2*v + v^2 + u^3 + u^3*v)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nwt(g1).factor()" ] }, { "cell_type": "code", "execution_count": 40, "id": "cda085bf-987d-44c2-8dbd-ae21afaa3251", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1 + v)^3 * u^21" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nwt(g3).factor()" ] }, { "cell_type": "code", "execution_count": 41, "id": "9684ce50-7ff0-4b4c-9580-497c3e3b3964", "metadata": {}, "outputs": [], "source": [ "h1 = F1.discriminant(z)(x=u, y=v)" ] }, { "cell_type": "code", "execution_count": 42, "id": "220532f1-226a-4898-9ff8-5f0344a7de16", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-27) * (v^2 - u^7) * (3965*v^4 + 2735*u^7*v^2 + 2048*u^14)]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Z1 = ZetaFunctions(h1)\n", "[q.factor() for q in Z1.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 20, "id": "17c661cd-7293-41a1-b9ec-2e71269ae582", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(108) * u^21 * (3*v^2 - 2*u^3)]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "h1a = S(h1(u=u^2, v=u^7 * (1 + v)) / u^21)\n", "Z1a = ZetaFunctions(h1a)\n", "[q.factor() for q in Z1a.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]" ] }, { "cell_type": "code", "execution_count": 55, "id": "aa670fe5-7aa2-4b88-9e85-4351e528b2a1", "metadata": {}, "outputs": [], "source": [ "Rt. = QQ[]\n", "Ft = Rt(F - 3 * f2(u=x, v=y) * t^2 * z + 2 * g1(u=x, v=y) * t + 2 * g3(u=x, v=y) * t^3)" ] }, { "cell_type": "code", "execution_count": 58, "id": "198a37ca-5a9d-4fe4-8949-e9ca06d48119", "metadata": {}, "outputs": [], "source": [ "J = Rt.ideal([Ft.derivative(a) for a in Rt.gens()[:-1]] + [Ft])" ] }, { "cell_type": "code", "execution_count": 66, "id": "77792a73-db8e-43a5-93b7-dacb75f92c4f", "metadata": {}, "outputs": [], "source": [ "Gt = Ft(z=z + y * t)" ] }, { "cell_type": "code", "execution_count": 67, "id": "18ec2301-7665-436a-9a9c-e1070d99dfd1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3*y*z^2" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Gt.derivative(t)" ] }, { "cell_type": "code", "execution_count": null, "id": "0fa40cb1-67c3-40c4-bf4b-60dd202979d2", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 10.4.rc3", "language": "sage", "name": "sagemath-devel" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 5 }