{ "cells": [ { "cell_type": "code", "execution_count": 65, "id": "232ac4e6-80fb-4842-bab2-97c82a517a6d", "metadata": {}, "outputs": [], "source": [ "S0 = PolynomialRing(QQ, 'a', 12)\n", "S0.inject_variables(verbose=False)\n", "R. = S0[]\n", "def fct(p):\n", " RF = PolynomialRing(QQ, S0.gens() + R.gens())\n", " p1 = sum(RF(a0) * RF(b0) for a0, b0 in p)\n", " fc = p1.factor()\n", " unidad = fc.unit()\n", " fcts = [(R(p0), m) for p0, m in fc]\n", " return (unidad, fcts)" ] }, { "cell_type": "code", "execution_count": 66, "id": "ec7af5b3-8106-4d16-999f-09da392c48f5", "metadata": {}, "outputs": [], "source": [ "f = (y^4 - x^6 + a0 * x^2 * y^3) * (x^4 - y^6 + a1 * x^3 * y^2)\n", "g = (y^6 + x^7 + a2 * x^6 * y + a4 * x^5 * y^2 + a6 * x^4 * y^3 + a8 * x^3 * y^4 + a10 * x * y^6) * (x^6 + y^7 + a3 * x * y^6 + a5 * x^2 * y^5 + a7 * x^3 * y^4 + a9 * x^4 * y^3 + a11 * x^6 * y)\n", "p = f^3 - g^2" ] }, { "cell_type": "code", "execution_count": 67, "id": "15b0b7dd-286d-41cd-b6a8-afb1243bbf1b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-1, [(x, 19), (x^7 + 2*y^6, 1)]),\n", " (-1, [(y, 19), (y^7 + 2*x^6, 1)]),\n", " (-1,\n", " [(y, 6),\n", " (x, 6),\n", " (2*x^13 + 2*a2*x^12*y + 2*a4*x^11*y^2 + 2*a6*x^10*y^3 + 2*a8*x^9*y^4 + (-3*a0)*x^8*y^5 + 2*a10*x^7*y^6 + 2*a11*x^6*y^7 + (-3*a1)*x^5*y^8 + 2*a9*x^4*y^9 + 2*a7*x^3*y^10 + 2*a5*x^2*y^11 + 2*a3*x*y^12 + 2*y^13,\n", " 1)])]" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Z = ZetaFunctions(p)\n", "u = [fct(q) for q in Z.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]\n", "u" ] }, { "cell_type": "code", "execution_count": 68, "id": "b9a91f1d-2d4e-46fc-b2fb-b19e8ac3f097", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2*a2 - 26)*x^12*y + (2*a4 - 156)*x^11*y^2 + (2*a6 - 572)*x^10*y^3 + (2*a8 - 1430)*x^9*y^4 + (-3*a0 - 2574)*x^8*y^5 + (2*a10 - 3432)*x^7*y^6 + (2*a11 - 3432)*x^6*y^7 + (-3*a1 - 2574)*x^5*y^8 + (2*a9 - 1430)*x^4*y^9 + (2*a7 - 572)*x^3*y^10 + (2*a5 - 156)*x^2*y^11 + (2*a3 - 26)*x*y^12" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "q = 2*x^13 + 2*a2*x^12*y + 2*a4*x^11*y^2 + 2*a6*x^10*y^3 + 2*a8*x^9*y^4 + (-3*a0)*x^8*y^5 + 2*a10*x^7*y^6 + 2*a11*x^6*y^7 + (-3*a1)*x^5*y^8 + 2*a9*x^4*y^9 + 2*a7*x^3*y^10 + 2*a5*x^2*y^11 + 2*a3*x*y^12 + 2*y^13 - 2 * (x + y)^13\n", "q" ] }, { "cell_type": "code", "execution_count": 69, "id": "a573d7e3-c568-4210-8b03-1a2333c432cd", "metadata": {}, "outputs": [], "source": [ "J = S0.ideal(q.coefficients())" ] }, { "cell_type": "code", "execution_count": 75, "id": "4869bc3a-a30c-4f74-b33f-cd9a621fe2ad", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1716*x^6*y + 715*x^4*y^3 + 286*x^3*y^4 + 78*x^2*y^5 + 13*x*y^6 + y^7 + x^6) * (x^7 + 13*x^6*y + 78*x^5*y^2 + 286*x^4*y^3 + 715*x^3*y^4 + 1716*x*y^6 + y^6)" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G.factor()" ] }, { "cell_type": "code", "execution_count": 74, "id": "7d0e90b3-1955-4a84-8c8b-137765241570", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-1) * x^19 * (x^7 + 2*y^6),\n", " (-1) * y^19 * (y^7 + 2*x^6),\n", " (-2) * y^6 * x^6 * (x + y)^13]" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F = f.map_coefficients(lambda u: u.reduce(J)).change_ring(QQ)\n", "G = g.map_coefficients(lambda u: u.reduce(J)).change_ring(QQ)\n", "P = F^3 - G^2\n", "Z = ZetaFunctions(P)\n", "u = [q.factor() for q in Z.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]\n", "u" ] }, { "cell_type": "code", "execution_count": 76, "id": "7b07cd90-991b-4c1a-899d-4eb51c3f1c5a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Defining x, y\n" ] } ], "source": [ "RQ = R.change_ring(QQ)\n", "RQ.inject_variables()" ] }, { "cell_type": "code", "execution_count": 78, "id": "b97e77ca-e99e-4050-847e-bb8287a94a8e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(-2) * (y^13 - 3784272*x)]" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1 = RQ(P(y=x*(y - 1)) / x^25)\n", "Z = ZetaFunctions(P1)\n", "u = [q.factor() for q in Z.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]\n", "u" ] }, { "cell_type": "code", "execution_count": null, "id": "d16f3d74-fb25-4332-8049-f360eeb9da92", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 10.5.beta8", "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.5" } }, "nbformat": 4, "nbformat_minor": 5 }