From ed571e5734d60d914f2f5f214a72b0d756b55206 Mon Sep 17 00:00:00 2001 From: Enrique Artal Date: Thu, 18 Apr 2024 23:10:09 +0200 Subject: [PATCH] monomios --- monomios.ipynb | 490 +++++++++++++++++++++++++++++++++++++++++++++++++ script.txt | 29 +++ 2 files changed, 519 insertions(+) create mode 100644 monomios.ipynb create mode 100644 script.txt diff --git a/monomios.ipynb b/monomios.ipynb new file mode 100644 index 0000000..ebb4331 --- /dev/null +++ b/monomios.ipynb @@ -0,0 +1,490 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "ea248dab-bd2f-4d8e-a687-f41b117bef64", + "metadata": {}, + "outputs": [], + "source": [ + "load('ZetaFunctionsNewtonND.py')\n", + "load('zetas_triples_general.py')\n", + "R3. = PolynomialRing(QQ, order='negdeglex')\n", + "R2. = PolynomialRing(QQ, order='negdeglex')" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "id": "f369a302-9ee1-4be2-8a76-97ca8d5eb6ad", + "metadata": {}, + "outputs": [], + "source": [ + "def monomios(a,b):\n", + " f = (u^a * v^b)^2 + u^(2 * (a + b) + 1) + v^(2 * (a + b) + 1)\n", + " g = (u^a * v^b)^3 + u^(3 * (a + b) + 1) + v^(3 * (a + b) + 1)\n", + " F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)\n", + " A = -2 * identity_matrix(QQ, 3 * (a + b) + 1)\n", + " A[0, 0] = -(3 * (a + b) + 1)\n", + " A[3 * a, 3 * a] = A[3 * (a + b), 3 * (a + b)] = -1\n", + " A[0, 3 * a] = A[3 * a, 0] = A[3 * (a + b), 0] = A[0, 3 * (a + b)] = 1\n", + " for i in (1 .. 3 * a - 1):\n", + " A[i, i + 1] = A[i + 1, i] = 1\n", + " for i in (3 * a + 1 .. 3 * (a + b) - 1):\n", + " A[i, i + 1] = A[i + 1, i] = 1\n", + " Vf, Vg, Vd = [vector(QQ, 3 * (a + b) + 1) for i in (1, 2, 3)]\n", + " Vf[2 * a] = Vf[3 * a + 2 * b] = 1\n", + " Vg[3 * a] = Vg[3 * (a + b)] = 1\n", + " Vd[3 * a] = Vd[3 * (a + b)] = 1\n", + " Vd[0] = 3 * (a + b) + 1\n", + " n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, (), (), Vd, total=False)\n", + " zetatop, zetamon, dic = zetas(n, pols, info=True)\n", + " return zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "id": "5f8aee10-7503-4b67-a4ae-383e8403faa3", + "metadata": {}, + "outputs": [], + "source": [ + "res = {}\n", + "for a in (1, .., 3):\n", + " for b in (a, .., 3):\n", + " res[a, b] = monomios(a, b)" + ] + }, + { + "cell_type": "code", + "execution_count": 181, + "id": "4bdb4ada-8bc8-496f-81cf-e95475adeabd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{(1, 1): [(-9/14, 1), (-2/3, 1)],\n", + " (1, 2): [(-11/20, 2)],\n", + " (1, 3): [(-58/117, 1), (-1/2, 1)],\n", + " (2, 2): [(-1/2, 3)],\n", + " (2, 3): [(-67/144, 1), (-15/32, 2)],\n", + " (3, 3): [(-17/38, 1), (-4/9, 2)]}" + ] + }, + "execution_count": 181, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "id": "4e634605-7ee0-47b7-b8c4-a1f98f1d227f", + "metadata": {}, + "outputs": [], + "source": [ + "resd = {}\n", + "for a in (1, .., 10):\n", + " resd[a] = monomios(a, a)" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "id": "8041f471-95a5-4f02-a8d1-e736c455b1d8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: [(-9/14, 1), (-2/3, 1)],\n", + " 2: [(-1/2, 3)],\n", + " 3: [(-17/38, 1), (-4/9, 2)],\n", + " 4: [(-21/50, 1), (-5/12, 2)],\n", + " 5: [(-25/62, 1), (-2/5, 2)],\n", + " 6: [(-29/74, 1), (-7/18, 2)],\n", + " 7: [(-33/86, 1), (-8/21, 2)],\n", + " 8: [(-37/98, 1), (-3/8, 2)],\n", + " 9: [(-41/110, 1), (-10/27, 2)],\n", + " 10: [(-45/122, 1), (-11/30, 2)]}" + ] + }, + "execution_count": 183, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resd" + ] + }, + { + "cell_type": "code", + "execution_count": 184, + "id": "0dd038ee-bc15-419e-acf7-f9ccf9764e68", + "metadata": {}, + "outputs": [], + "source": [ + "res1 = {}\n", + "for a in (1, .., 10):\n", + " res1[a] = monomios(a, a + 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "id": "eadc277f-445c-4c3d-ab55-aa11ee483aff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: [(-11/20, 2)],\n", + " 2: [(-67/144, 1), (-15/32, 2)],\n", + " 3: [(-113/264, 1), (-85/198, 1), (-19/44, 1)],\n", + " 4: [(-57/140, 1), (-137/336, 1), (-23/56, 1)],\n", + " 5: [(-241/612, 1), (-67/170, 1), (-27/68, 1)],\n", + " 6: [(-323/840, 1), (-277/720, 1), (-31/80, 1)],\n", + " 7: [(-139/368, 1), (-365/966, 1), (-35/92, 1)],\n", + " 8: [(-523/1404, 1), (-155/416, 1), (-3/8, 1)],\n", + " 9: [(-641/1740, 1), (-577/1566, 1), (-43/116, 1)],\n", + " 10: [(-257/704, 1), (-701/1920, 1), (-47/128, 1)]}" + ] + }, + "execution_count": 185, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res1" + ] + }, + { + "cell_type": "code", + "execution_count": 186, + "id": "36173be3-59b2-4722-881f-9181790318fe", + "metadata": {}, + "outputs": [], + "source": [ + "res2 = {}\n", + "for a in (1, .., 10):\n", + " res1[a] = monomios(1, a)" + ] + }, + { + "cell_type": "code", + "execution_count": 188, + "id": "47d76b05-751c-40e1-a5b6-9cefb902f973", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{1: [(-9/14, 1), (-2/3, 1)],\n", + " 2: [(-11/20, 2)],\n", + " 3: [(-58/117, 1), (-1/2, 1)],\n", + " 4: [(-89/192, 1), (-15/32, 1)],\n", + " 5: [(-42/95, 1), (-17/38, 1)],\n", + " 6: [(-169/396, 1), (-19/44, 1)],\n", + " 7: [(-218/525, 1), (-21/50, 1)],\n", + " 8: [(-13/32, 1), (-23/56, 1)],\n", + " 9: [(-334/837, 1), (-25/62, 1)],\n", + " 10: [(-401/1020, 1), (-27/68, 1)]}" + ] + }, + "execution_count": 188, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res1" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "id": "e98caf07-4d97-46aa-9e81-77911f5865e6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(-1) * v^31 * (2*u^6 + v^7),\n", + " (-1) * u^25 * (2*v^12 + u^13),\n", + " (-1) * (u + v) * u^6 * v^12 * (2*u^18 - 2*u^17*v + 2*u^16*v^2 - 2*u^15*v^3 - u^14*v^4 + u^13*v^5 - u^12*v^6 + u^11*v^7 - u^10*v^8 + u^9*v^9 - u^8*v^10 + u^7*v^11 - u^6*v^12 + u^5*v^13 - u^4*v^14 + u^3*v^15 - u^2*v^16 - 2*u*v^17 + 2*v^18)]" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h = f^3 - g^2\n", + "Zh = ZetaFunctions(h)\n", + "[p.factor() for p in Zh.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "id": "32f4df55-f5c5-4de9-9683-48fafa69f496", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(u + v) * (-2*u^24*v^12 + 2*u^23*v^13 - 2*u^22*v^14 + 2*u^21*v^15 + u^20*v^16 - u^19*v^17 + u^18*v^18 - u^17*v^19 + u^16*v^20 - u^15*v^21 + u^14*v^22 - u^13*v^23 + u^12*v^24 - u^11*v^25 + u^10*v^26 - u^9*v^27 + u^8*v^28 + 2*u^7*v^29 - 2*u^6*v^30 - u^37 + u^36*v - u^35*v^2 + u^34*v^3 - u^33*v^4 + u^32*v^5 - u^31*v^6 + u^30*v^7 + 2*u^29*v^8 - 2*u^28*v^9 + 2*u^27*v^10 - 2*u^26*v^11 + 2*u^25*v^12 - 2*u^24*v^13 + 2*u^23*v^14 - 2*u^22*v^15 + 2*u^21*v^16 - 2*u^20*v^17 + 2*u^19*v^18 - 4*u^18*v^19 + 4*u^17*v^20 + 2*u^16*v^21 - 2*u^15*v^22 + 2*u^14*v^23 - 2*u^13*v^24 + 2*u^12*v^25 - 2*u^11*v^26 + 2*u^10*v^27 - 2*u^9*v^28 + 2*u^8*v^29 - 2*u^7*v^30 + 2*u^6*v^31 - 2*u^5*v^32 + 2*u^4*v^33 + u^3*v^34 - u^2*v^35 + u*v^36 - v^37 + u^38 - u^37*v + u^36*v^2 - u^35*v^3 + u^34*v^4 - u^33*v^5 + u^32*v^6 - u^31*v^7 + u^30*v^8 - u^29*v^9 + u^28*v^10 - u^27*v^11 + u^26*v^12 + 2*u^25*v^13 - 2*u^24*v^14 + 2*u^23*v^15 - 2*u^22*v^16 + 2*u^21*v^17 - 2*u^20*v^18 + 2*u^19*v^19 - 2*u^18*v^20 + 2*u^17*v^21 - 2*u^16*v^22 + 2*u^15*v^23 - 2*u^14*v^24 + 2*u^13*v^25 + u^12*v^26 - u^11*v^27 + u^10*v^28 - u^9*v^29 + u^8*v^30 - u^7*v^31 + u^6*v^32 - u^5*v^33 + u^4*v^34 - u^3*v^35 + u^2*v^36 - u*v^37 + v^38)" + ] + }, + "execution_count": 170, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "id": "42926fc0-d334-4b53-a604-24bddddd227a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1" + ] + }, + "execution_count": 171, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = -2 * identity_matrix(QQ, 3 * (a + b) + 1)\n", + "A[0, 0] = -(3 * (a + b) + 1)\n", + "A[3 * a, 3 * a] = A[3 * (a + b), 3 * (a + b)] = -1\n", + "A[0, 3 * a] = A[3 * a, 0] = A[3 * (a + b), 0] = A[0, 3 * (a + b)] = 1\n", + "for i in (1 .. 3 * a - 1):\n", + " A[i, i + 1] = A[i + 1, i] = 1\n", + "for i in (3 * a + 1 .. 3 * (a + b) - 1):\n", + " A[i, i + 1] = A[i + 1, i] = 1\n", + "A.det()" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "id": "648d85dd-3ce7-49e1-942e-f0f0b1ffa6fb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(\\begin{array}{rrrrrrrrrrrrrrrrrrr}\n", + "-19 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "1 & 0 & 0 & 0 & 0 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(\\begin{array}{rrrrrrrrrrrrrrrrrrr}\n", + "-19 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n", + "0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "1 & 0 & 0 & 0 & 0 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 \\\\\n", + "0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 \\\\\n", + "1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1\n", + "\\end{array}\\right)$" + ], + "text/plain": [ + "[-19 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1]\n", + "[ 0 -2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + "[ 0 1 -2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + "[ 0 0 1 -2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + "[ 0 0 0 1 -2 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n", + "[ 0 0 0 0 1 -2 1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + "[ 1 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 -2 1 0 0 0 0 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 1 -2 1 0 0 0 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 1 -2 1 0 0 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 1 -2 1 0 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 1 -2 1 0 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 0 1 -2 1 0 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 0 0 1 -2 1 0 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -2 1 0 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -2 1 0 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -2 1 0]\n", + "[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -2 1]\n", + "[ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "show(A)" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "id": "415e0f1b-90e0-4ea6-bd50-510bd2b4b874", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0),\n", + " (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1),\n", + " (19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1))" + ] + }, + "execution_count": 173, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Vf, Vg, Vd = [vector(QQ, 3 * (a + b) + 1) for i in (1, 2, 3)]\n", + "Vf[2 * a] = Vf[3 * a + 2 * b] = 1\n", + "Vg[3 * a] = Vg[3 * (a + b)] = 1\n", + "Vd[3 * a] = Vd[3 * (a + b)] = 1\n", + "Vd[0] = 3 * (a + b) + 1\n", + "Vf, Vg, Vd" + ] + }, + { + "cell_type": "code", + "execution_count": 174, + "id": "21b47dc8-3b3a-432d-8f8a-6e5d503a6eb1", + "metadata": {}, + "outputs": [], + "source": [ + "n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, (), (), Vd, total=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "id": "3a43ec80-1022-472a-a1b6-fc5bd772dd89", + "metadata": {}, + "outputs": [], + "source": [ + "zetatop, zetamon, dic = zetas(n, pols, info=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "654176fc-9802-4f9b-8973-3f57a9c48daf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1/12) * (s + 17/38)^-2 * (s + 101/228)^-1 * (s + 1)^-1 * (s^3 - 4771/1083*s^2 - 374405/82308*s - 29189/27436)" + ] + }, + "execution_count": 176, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zetatop.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "id": "bbaa3846-7d46-46ae-b74b-f8e107d1d8c7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "228 1\n", + "1 3\n", + "38 21\n" + ] + } + ], + "source": [ + "for r0, m0 in zetatop.denominator().roots():\n", + " s0 = r0.denominator()\n", + " print(s0, dic[s0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "055eeb9a-5dfa-43ac-b4ff-ddcdae124b2b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.4.beta3", + "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.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/script.txt b/script.txt new file mode 100644 index 0000000..159d771 --- /dev/null +++ b/script.txt @@ -0,0 +1,29 @@ +load('ZetaFunctionsNewtonND.py') +load('zetas_triples_general.py') +R3. = PolynomialRing(QQ, order='negdeglex') +R2. = PolynomialRing(QQ, order='negdeglex') +def monomios(a,b): + f = (u^a * v^b)^2 + u^(2 * (a + b) + 1) + v^(2 * (a + b) + 1) + g = (u^a * v^b)^3 + u^(3 * (a + b) + 1) + v^(3 * (a + b) + 1) + F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y) + A = -2 * identity_matrix(QQ, 3 * (a + b) + 1) + A[0, 0] = -(3 * (a + b) + 1) + A[3 * a, 3 * a] = A[3 * (a + b), 3 * (a + b)] = -1 + A[0, 3 * a] = A[3 * a, 0] = A[3 * (a + b), 0] = A[0, 3 * (a + b)] = 1 + for i in (1 .. 3 * a - 1): + A[i, i + 1] = A[i + 1, i] = 1 + for i in (3 * a + 1 .. 3 * (a + b) - 1): + A[i, i + 1] = A[i + 1, i] = 1 + Vf, Vg, Vd = [vector(QQ, 3 * (a + b) + 1) for i in (1, 2, 3)] + Vf[2 * a] = Vf[3 * a + 2 * b] = 1 + Vg[3 * a] = Vg[3 * (a + b)] = 1 + Vd[3 * a] = Vd[3 * (a + b)] = 1 + Vd[0] = 3 * (a + b) + 1 + n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, (), (), Vd, total=False) + zetatop, zetamon, dic = zetas(n, pols, info=True) + return zetatop, dic +res = {} +for a in (1, .., 100): + for b in (a, .., 100): + res[a, b] = monomios(a, b) +save(res,'zetas') \ No newline at end of file