diff --git a/formastrinomialesysusresiduos.ipynb b/formastrinomialesysusresiduos.ipynb new file mode 100644 index 0000000..c78ad3e --- /dev/null +++ b/formastrinomialesysusresiduos.ipynb @@ -0,0 +1,570 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "id": "e881bcba-75d3-415b-bfe0-5e0f50a49d1d", + "metadata": {}, + "outputs": [], + "source": [ + "S. = PolynomialRing(QQ, order='neglex')" + ] + }, + { + "cell_type": "markdown", + "id": "b3884a71-e7bb-4a29-95c1-141e364eec85", + "metadata": {}, + "source": [ + "Primer caso: $f=z^3 - x^{m_3}$, $\\omega=x^{\\nu_1-1} d x d z$ y $g_3=\\gcd(3,m_3)$." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "f12e8928-4d29-4295-add0-c61c40785580", + "metadata": {}, + "outputs": [], + "source": [ + "tau1 = vector([m3, 0])\n", + "tau0 = vector(S, [0, 3])\n", + "V1 = vector(S, [0, 1])\n", + "V0 = vector(S, [1, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "bbfe6b4f-5d07-43de-8fea-0d8f62ef60f3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((3*nu1 + m3 + 3*m3*s)/g3, 1, nu1)" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Vgamma = vector([3, m3]) / g3\n", + "omega1 = vector([nu1, 1])\n", + "mu1 = 3 / g3\n", + "Pgamma = (tau0 * s + omega1) * Vgamma\n", + "volgamma = g3\n", + "P1 = (tau1 * s + omega1) * V1\n", + "P0 = (tau0 * s + omega1) * V0\n", + "Pgamma, P1, P0" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "2701f743-4d04-4b66-b8f1-ae978bdf5ac7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3/g3, m3/g3)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mu1 = Matrix([Vgamma, V1]).det()\n", + "mu0 = Matrix([V0, Vgamma]).det()\n", + "mu1, mu0" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "40a5decf-c4ec-40ad-be1c-a452c8ecf178", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "g3/(3*nu1 + m3 + 3*m3*s)" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Jtau1 = mu1 / P1 / Pgamma\n", + "Jtau0 = mu0 / P0 / Pgamma\n", + "Jgamma = 1 / Pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "a4754c02-1b72-4725-85b1-ab158979cd32", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1) * nu1^-1 * (1 + s)^-1 * (3*nu1 + m3 + 3*m3*s)^-1 * (-3*nu1 - 3*nu1*s + nu1*g3^2*s - m3 - m3*s)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta = Jtau0 + Jtau1 - s / (s + 1) * Jgamma * volgamma\n", + "Zeta.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "34d5f080-c0d6-46a9-a665-4d89fc659b59", + "metadata": {}, + "outputs": [], + "source": [ + "R1 = (Zeta * (s + 1))(s=-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "d4083af7-c4f6-4b70-b303-91598f08029a", + "metadata": {}, + "outputs": [], + "source": [ + "Rp = (Zeta * Pgamma)(s=-Pgamma(s=0) / Pgamma.derivative(s))" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "680d1454-1098-4481-90ef-a849cf3ee595", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta - R1 / (s + 1) - Rp / Pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "6b03816c-0216-43b0-b7d0-e25bffde0f27", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1/6) * (1 + s)^-2 * m3^-1 * (-9 - 9*s + 2*g3^2*s)" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta2 = Zeta(nu1=2 * m3 / 3)\n", + "Zeta2.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "deee339d-836e-4572-94aa-a16b3f95bd0f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1/6) * m3^-1 * (-9 + 2*g3^2)" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "R2a = (Zeta2 * (s + 1)^2)(s=-1)\n", + "R1a = ((s + 1)^2 * Zeta2 - R2a) / (s + 1)\n", + "R1a.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "4c078f46-552b-40d9-a9bf-a133ba42e8be", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta2 - R1a / (s + 1) - R2a / (s + 1)^2" + ] + }, + { + "cell_type": "markdown", + "id": "883017aa-31fa-45ea-9f47-90ced9eaacf1", + "metadata": {}, + "source": [ + "Segundo caso: $f=z^3 + x^{m_2}z + x^{m_3}$" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "c9ebb2ca-6ea3-4492-84b4-7057e22184cb", + "metadata": {}, + "outputs": [], + "source": [ + "S. = PolynomialRing(QQ, order='neglex')" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "4fd45644-e41a-4b74-9f38-75ae1120e59b", + "metadata": {}, + "outputs": [], + "source": [ + "tau1 = vector([m2, 1])\n", + "tau0 = vector(S, [0, 3])\n", + "V1 = vector(S, [0, 1])\n", + "V0 = vector(S, [1, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "13a43344-f27a-425b-8ce6-eb9d452651d0", + "metadata": {}, + "outputs": [], + "source": [ + "Vgamma = vector([2, m2]) / g2\n", + "omega1 = vector([nu1, 1])\n", + "mu1 = Matrix([Vgamma, V1]).det()\n", + "mu0 = Matrix([V0, Vgamma]).det()\n", + "Pgamma = (tau0 * s + omega1) * Vgamma\n", + "volgamma = g2\n", + "P1 = (tau1 * s + omega1) * V1\n", + "P0 = (tau0 * s + omega1) * V0" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "04b82282-4fd4-4e7f-9982-c59c380c0a61", + "metadata": {}, + "outputs": [], + "source": [ + "Jtau1 = mu1 / P1 / Pgamma\n", + "Jtau0 = mu0 / P0 / Pgamma\n", + "Jgamma = 1 / Pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "cb8f8ee3-6f40-423d-80bc-f3985c0dc70e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "g2 * (2*nu1 + m2 + 3*m2*s)^-1" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Jgamma.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "0ef91b6f-62c6-4b39-9651-1e5f60729893", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\\(\\displaystyle \\left(-1\\right) \\cdot \\nu_{1}^{-1} \\cdot (1 + s)^{-1} \\cdot (2 \\nu_{1} + m_{2} + 3 m_{2} s)^{-1} \\cdot (-2 \\nu_{1} + \\nu_{1} g_{2}^{2} s - m_{2} - m_{2} s)\\)" + ], + "text/latex": [ + "$\\displaystyle \\left(-1\\right) \\cdot \\nu_{1}^{-1} \\cdot (1 + s)^{-1} \\cdot (2 \\nu_{1} + m_{2} + 3 m_{2} s)^{-1} \\cdot (-2 \\nu_{1} + \\nu_{1} g_{2}^{2} s - m_{2} - m_{2} s)$" + ], + "text/plain": [ + "(-1) * nu1^-1 * (1 + s)^-1 * (2*nu1 + m2 + 3*m2*s)^-1 * (-2*nu1 + nu1*g2^2*s - m2 - m2*s)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Zeta = Jtau0 + Jtau1 - s / (s + 1) * Jgamma * volgamma\n", + "show(Zeta.factor())" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "0719a53b-fa90-42b1-ac78-418acb0fd0c8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1/2) * (-nu1 + m2)^-1 * nu1^-1 * g2^-1 * (2*nu1 + m2) * (nu1*g2^2 + 2*m2)" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "R1 = (Zeta * (s + 1))(s=-1)\n", + "Rp = (Zeta * Pgamma)(s=-Pgamma(s=0) / Pgamma.derivative(s))\n", + "Rp.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "37c88cb0-c2e1-4c18-ada0-a593435bd250", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta - R1 / (s + 1) - Rp / Pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "54e9c4b8-a3f7-45d8-b48e-de8234f4d829", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2*nu1 - 2*m2)/g2" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Pgamma(s=-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "66efc352-66e3-4c39-8dd0-17c85c37ccf1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-1/3) * (1 + s)^-2 * m2^-1 * (-3 - s + g2^2*s)" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta2 = Zeta(nu1=m2)\n", + "Zeta2.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "8ac89af7-786c-4504-923d-938ab424400b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((-1/3) * m2^-1 * (-1 + g2) * (1 + g2), (1/3) * m2^-1 * (2 + g2^2))" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "R2a = (Zeta2 * (s + 1)^2)(s=-1)\n", + "R1a = ((s + 1)^2 * Zeta2 - R2a) / (s + 1)\n", + "R1a.factor(), R2a.factor()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "afd51c00-c529-416a-98c3-13c6cfaf3760", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Zeta2 - R1a / (s + 1) - R2a / (s + 1)^2" + ] + }, + { + "cell_type": "markdown", + "id": "8301561c-7e6a-4fd2-8bfb-d8690c1f9700", + "metadata": {}, + "source": [ + "Tercer caso: $f=z^3 + x^{m_1}z^2 + x^{m_3}$, $m_3 > 3 m_1$." + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "1a73caca-514d-4133-9345-ccb80b276d00", + "metadata": {}, + "outputs": [], + "source": [ + "S. = PolynomialRing(QQ, order='neglex')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "9d30e804-9dec-4e73-8f8b-4927873a8445", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2*c - c*d^2*s + a + a*s)/(2*c^2 + 2*c^2*s + a*c + 4*a*c*s + 3*a*c*s^2)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Tau2 - Gamma2*s / (s+1) + Tau1 - d*Gamma1*s / (s+1) + Tau0" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "ff7811d0-081a-4cd9-9a18-83d39c6d0e4b", + "metadata": {}, + "outputs": [], + "source": [ + "tau2 = vector([m3, 0])\n", + "tau1 = vector([m1, 2])\n", + "tau0 = vector(S, [0, 3])\n", + "V2 = vector(S, [0, 1])\n", + "V0 = vector(S, [1, 0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8199a7d-0205-4e39-8c56-c378dc664164", + "metadata": {}, + "outputs": [], + "source": [ + "Vgamma1 = vector([1, m1]) \n", + "Vgamma2 = vector([2, m3 - m1]) / g2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4fc1a581-aa5e-425a-99f4-f43dd992aaee", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "SageMath 10.5.rc0", + "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 +}