Steenbrink/resolucionlarga.ipynb
2024-04-18 17:09:03 +02:00

487 lines
9.9 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"S.<x, y, z> = PolynomialRing(QQ, order='neglex')\n",
"f=((y^2+x^3)^2 + x^5*y)*((x^2+y^3)^2 + y^5*x)\n",
"g=(y^6+x^7)*(x^6+y^7)\n",
"h = f^3 - g^2\n",
"F= z^3 - 3 * f * z + 2 * g"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h = f^3 - g^2\n",
"F.discriminant(z) - 108 * h"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"D=F.discriminant(z)\n",
"# load('ZetaFunctionsNewtonND.py')\n",
"ZD = ZetaFunctions(D)\n",
"ZD.is_newton_non_degenerated(local=True)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(-108) * y^26\n",
"(-216) * x^6 * y^19\n",
"(-108) * x^26\n",
"(-216) * y^6 * x^19\n",
"(-108) * y^19 * (y^7 + 2*x^6)\n",
"(-216) * (y + x) * x^6 * y^6 * (y^12 - x*y^11 + x^2*y^10 - x^3*y^9 - 2*x^4*y^8 + 2*x^5*y^7 - 2*x^6*y^6 + 2*x^7*y^5 - 2*x^8*y^4 - x^9*y^3 + x^10*y^2 - x^11*y + x^12)\n",
"(-108) * x^19 * (2*y^6 + x^7)\n"
]
}
],
"source": [
"for p in ZD.get_polyfaces_dictionary(compact=True):\n",
" print(p.factor())"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"y^13\n",
"x^6 * y^6\n",
"x^13\n",
"y^6 * (y^7 + x^6)\n",
"x^6 * (y^6 + x^7)\n"
]
}
],
"source": [
"for p in ZetaFunctions(g).get_polyfaces_dictionary(compact=True):\n",
" print(p.factor())"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"y^10\n",
"x^10\n",
"x^4 * y^4\n",
"y^4 * (y^3 + x^2)^2\n",
"x^4 * (y^2 + x^3)^2\n"
]
}
],
"source": [
"for p in ZetaFunctions(f).get_polyfaces_dictionary(compact=True):\n",
" print(p.factor())"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"def estrato(ff, chi, pesos):\n",
" Z1 = ZetaFunctions(ff)\n",
" zetamon1 = Z1.monodromy_zeta().value()^chi\n",
" zetatop1 = chi * Z1.topological_zeta(local=True, weights=pesos)\n",
" return zetamon1, zetatop1"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"source": [
"Veamos que la resolución larga no aporta\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"M39, Z39 = estrato(z^3+x^20*y^42*z+x^26*y^52, 1, [5,11,1])\n",
"M98, Z98 = estrato(z^3+x^42*y^21*z+x^52*y^26, 1, [11,6,1])\n",
"M38, Z38 = estrato(z^3+x^20*y^21*z+x^26*y^26, 1, [5,6,1])"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z39 + Z98 - Z38"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"estrato(z^3+x^20*y^42*z+x^26*y^52, 1, [5,11,1]) == estrato(z^3+0*x^20*y^42*z+x^26*y^52, 1, [5,11,1])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"M3, Z3 = estrato(z^3+x^20*z+x^26, 1, [5,1,1])\n",
"M8, Z8 = estrato(z^3+x^21*z+x^26, 1, [6,1,1])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z38 + Z8 - Z3"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((t + 1)^-2 * (t^2 - t + 1)^-1 * (t^2 + 1)^-1 * (t^4 - t^2 + 1)^-1 * (t^12 - t^11 + t^10 - t^9 + t^8 - t^7 + t^6 - t^5 + t^4 - t^3 + t^2 - t + 1)^-1,\n",
" (19/156) * (s + 1/2)^-2 * (s + 1)^-1 * (s^2 + 48/19*s + 39/38))"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a, b = estrato(z^3+x^4*z^2+x^13, 1, [2,1,1])\n",
"a.factor(), b.factor()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"T.<s> = QQ[]"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A1 = 3 * s / (s + 1) / (78 * s + 39)\n",
"V1 = 2 / (78 * s + 39)\n",
"V2 = 1 / (78 * s + 39)\n",
"M7, Z7 = estrato(z^3 + x^78, 1, [13,1,1])\n",
"Z7 - (V1 + V2 - A1)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(8/39) * (s + 1/2)^-1 * (s + 1)^-1 * (s + 9/8)"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"M7a, Z7a = estrato(z^3 + x^13, 1, [13/6,1,1])\n",
"Z7a.factor()"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(6 * V1 + 6 * V2 - 2 / 3 * A1 - Z7a)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"source": [
"Cálculo completo\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"ename": "SyntaxError",
"evalue": "invalid syntax (3357930205.py, line 3)",
"output_type": "error",
"traceback": [
"\u001b[0;36m Cell \u001b[0;32mIn [9], line 3\u001b[0;36m\u001b[0m\n\u001b[0;31m M17, Z17 = estrato(z**Integer(3)+, Integer(2), [Integer(2),Integer(13),Integer(1)])\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
]
}
],
"source": [
"M1, Zt1 = estrato(z^3+x^4*z^2 + x^13, -13, [2,1,1])\n",
"M1d, Zt1d = estrato(z^3+x^4*z^2 + x^13*y, 13, [2,1,1])\n",
"M17, Z17 = estrato(z^3+x^4*y^28*z^2 + x^13*y^78 , 2, [2,13,1])\n",
"M7, Z7 = estrato(z^3+x^4*z + x^13*y, -4, [13,1,1])\n",
"M7d, Z7d = estrato(z^3+x^4*z + x^13*y, -4, [13,1,1])\n",
"M7g, Z7g\n"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Newton's polyhedron of z^3 + x^4*z + x^13:\n",
" support points = [(0, 0, 3), (4, 0, 1), (13, 0, 0)]\n",
" vertices = [(0, 0, 3), (4, 0, 1), (13, 0, 0)]\n",
" number of proper faces = 15\n",
" Facet 0: z >= 0\n",
" Facet 1: -13 + 9*z + x >= 0\n",
" Facet 2: -6 + 2*z + x >= 0\n",
" Facet 3: x >= 0\n",
" Facet 4: y >= 0\n"
]
},
{
"data": {
"text/plain": [
"(-1/6) * (s + 2/3)^-1 * (s + 1)^-1 * (s - 2)"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G=z^3+x^4*z + x^13\n",
"ZG=ZetaFunctions(G)\n",
"ZG.give_info_newton(faces=False, cones=False, compact = False)\n",
"ZG.topological_zeta(local= True, weights = [2,1,1])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath 10.3.rc4",
"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.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}