{ "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.beta6", "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.3" } }, "nbformat": 4, "nbformat_minor": 5 }