1010 lines
22 KiB
Plaintext
1010 lines
22 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# load('ZetaFunctionsNewtonND.py')\n",
|
|
"R.<x, y, z> = PolynomialRing(QQ, order='neglex')\n",
|
|
"S.<u, v> = PolynomialRing(QQ, order='neglex')\n",
|
|
"S.<s> = PolynomialRing(QQ)\n",
|
|
"f = u^5 + v^6\n",
|
|
"F = z^10 + f(u=x, v=y)\n",
|
|
"ZF = ZetaFunctions(F)\n",
|
|
"Zf = ZetaFunctions(f)\n",
|
|
"dd = (1, 2, 3, 4, 5, 6, 8, 10, 15, 30)\n",
|
|
"K = {d: ZF.topological_zeta(local=True, d=d) for d in dd}\n",
|
|
"k = {d: Zf.topological_zeta(local=True, d=d) for d in dd}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{1}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{7}{3})\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{1}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{7}{3})$"
|
|
],
|
|
"text/plain": [
|
|
"(1/5) * (s + 7/15)^-1 * (s + 1)^-1 * (s + 7/3)"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"2\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle 0\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle 0$"
|
|
],
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"3\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(2/5) * (s + 7/15)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"4\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle 0\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle 0$"
|
|
],
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"5\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{1}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{1}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(1/30) * (s + 7/15)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"6\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{2}{5}\\right) \\cdot (s + \\frac{7}{15})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(2/5) * (s + 7/15)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"8\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle 0\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle 0$"
|
|
],
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"10\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(-\\frac{1}{6}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(-\\frac{1}{6}\\right) \\cdot (s + \\frac{7}{15})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(-1/6) * (s + 7/15)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"15\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(7/30) * (s + 7/15)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"30\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{7}{30}\\right) \\cdot (s + \\frac{7}{15})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(7/30) * (s + 7/15)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for d in dd:\n",
|
|
" if K[d] == 0:\n",
|
|
" print(d)\n",
|
|
" show(0)\n",
|
|
" else:\n",
|
|
" print(d)\n",
|
|
" show(K[d].factor())\n",
|
|
" print(\"========================\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{1}{3}\\right) \\cdot (s + \\frac{11}{30})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{11}{10})\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{1}{3}\\right) \\cdot (s + \\frac{11}{30})^{-1} \\cdot (s + 1)^{-1} \\cdot (s + \\frac{11}{10})$"
|
|
],
|
|
"text/plain": [
|
|
"(1/3) * (s + 11/30)^-1 * (s + 1)^-1 * (s + 11/10)"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"2\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(2/15) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"3\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(2/15) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"4\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle 0\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle 0$"
|
|
],
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"5\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{1}{6}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{1}{6}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(1/6) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"6\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(\\frac{2}{15}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(2/15) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"8\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle 0\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle 0$"
|
|
],
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"10\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(-1/30) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"15\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(-1/30) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n",
|
|
"30\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<html>\\(\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}\\)</html>"
|
|
],
|
|
"text/latex": [
|
|
"$\\displaystyle \\left(-\\frac{1}{30}\\right) \\cdot (s + \\frac{11}{30})^{-1}$"
|
|
],
|
|
"text/plain": [
|
|
"(-1/30) * (s + 11/30)^-1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"========================\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for d in dd:\n",
|
|
" if k[d] == 0:\n",
|
|
" print(d)\n",
|
|
" show(0)\n",
|
|
" else:\n",
|
|
" print(d)\n",
|
|
" show(k[d].factor())\n",
|
|
" print(\"========================\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[1, 5]"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"divisors(5)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def corchete(fz, e, N):\n",
|
|
" res = 0\n",
|
|
" for l0 in divisors(N / e):\n",
|
|
" l = l0 * e\n",
|
|
" res += moebius(l0) * fz[l]\n",
|
|
" return res"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"1/6/(s + 7/15)"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"corchete(k, 2, 10)(s=s + 1 / 10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"1/5/(s + 7/15)"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"corchete(k, 5, 10)(s=s + 1 / 10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"-1/30/(s + 7/15)"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"corchete(k, 10, 10)(s=s + 1 / 10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def Ztopmanuel(dic, N):\n",
|
|
" res = 1 / (N * s + 1) \n",
|
|
" res += (N - 1) / N * s / (s+1) * ((N * s+ N + 1)/ (N * s + 1)) * dic[1](s=s + 1 / N)\n",
|
|
" div = [e for e in divisors(N) if e != 1]\n",
|
|
" for e in div:\n",
|
|
" res += -s / (s + 1) * (e^2 - 1) / N * corchete(dic, e, N)(s=s + 1 / N)\n",
|
|
" return res"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"(Ztopmanuel(k, 10) - K[1])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(4/15/(s^2 + 22/15*s + 7/15),\n",
|
|
" 0,\n",
|
|
" 0,\n",
|
|
" 1/5/(s + 7/15),\n",
|
|
" 1/6/(s + 7/15),\n",
|
|
" -2/5/(s + 7/15),\n",
|
|
" 0,\n",
|
|
" (7/30) * (s + 7/15)^-1)"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"AK10t30 = K10t30\n",
|
|
"AK10t15 = K10t15 - AK10t30\n",
|
|
"AK10t10 = K10t10 - AK10t30\n",
|
|
"AK10t6 = K10t6 - AK10t30\n",
|
|
"AK10t5 = K10t5 - AK10t10 - AK10t15 - AK10t30\n",
|
|
"AK10t3 = K10t3 - AK10t6 - AK10t30\n",
|
|
"AK10t2 = K10t2 - AK10t6 - AK10t10 - AK10t30\n",
|
|
"AK10 = K10 - AK10t3 - AK10t5 - AK10t6 - AK10t10 - AK10t30\n",
|
|
"\n",
|
|
"AK10, AK10t2, AK10t3, AK10t5, AK10t6, AK10t10, AK10t15, AK10t30"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"K10- AK10 - AK10t5 - AK10t6 - AK10t10 - AK10t30"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"((1/3*s + 2/5)/(s^2 + 47/30*s + 77/150),\n",
|
|
" 2/15/(s + 7/15),\n",
|
|
" 2/15/(s + 7/15),\n",
|
|
" 0,\n",
|
|
" 1/6/(s + 7/15),\n",
|
|
" 2/15/(s + 7/15),\n",
|
|
" 0,\n",
|
|
" -1/30/(s + 7/15),\n",
|
|
" -1/30/(s + 7/15),\n",
|
|
" -1/30/(s + 7/15))"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"g=x^5 + y^6\n",
|
|
"Zg = ZetaFunctions(g)\n",
|
|
"G=Zg.topological_zeta(local=True).value()\n",
|
|
"GS=G(s=s+1/10)\n",
|
|
"G2=Zg.topological_zeta(local=True, d=2).value()\n",
|
|
"GS2=G2(s=s+1/10)\n",
|
|
"G3=Zg.topological_zeta(local=True, d=3).value()\n",
|
|
"GS3=G3(s=s+1/10)\n",
|
|
"G4=Zg.topological_zeta(local=True, d=4)\n",
|
|
"GS4=G4(s=s+1/10)\n",
|
|
"G5=Zg.topological_zeta(local=True, d=5).value()\n",
|
|
"GS5=G5(s=s+1/10)\n",
|
|
"G6=Zg.topological_zeta(local=True, d=6).value()\n",
|
|
"GS6=G6(s=s+1/10)\n",
|
|
"G8=Zg.topological_zeta(local=True, d=8)\n",
|
|
"GS8=G8(s=s+1/10)\n",
|
|
"G10=Zg.topological_zeta(local=True, d=10).value()\n",
|
|
"GS10=G10(s=s+1/10)\n",
|
|
"G15=Zg.topological_zeta(local=True, d=15).value()\n",
|
|
"GS15=G15(s=s+1/10)\n",
|
|
"G30=Zg.topological_zeta(local=True, d=30).value()\n",
|
|
"GS30=G30(s=s+1/10)\n",
|
|
"GS, GS2, GS3, GS4, GS5, GS6, GS8, GS10, GS15, GS30"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(1/30/(s^2 + 47/30*s + 77/150),\n",
|
|
" 0,\n",
|
|
" 0,\n",
|
|
" 1/5/(s + 7/15),\n",
|
|
" 1/6/(s + 7/15),\n",
|
|
" 0,\n",
|
|
" 0,\n",
|
|
" -1/30/(s + 7/15))"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"AGS30 = GS30\n",
|
|
"AGS15 = GS15 - AGS30\n",
|
|
"AGS10 = GS10 - AGS30\n",
|
|
"AGS6 = GS6 - AGS30\n",
|
|
"AGS5 = GS5 - AGS10 - AGS15 - AGS30\n",
|
|
"AGS3 = GS3 - AGS6 - AGS30\n",
|
|
"AGS2 = GS2 - AGS6 - AGS10 - AGS30\n",
|
|
"AGS = GS - AGS2 - AGS3 - AGS5 - AGS6 - AGS10 - AGS15 - AGS30\n",
|
|
"\n",
|
|
"AGS, AGS2, AGS3, AGS5, AGS6, AGS10, AGS15, AGS30"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"GS - AGS - AGS5 - AGS6 - AGS30 "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"0"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"aux = K10 - 1/((10*s+1)) - (9/10)*(s/(s+1))*((10*s+11)/(10*s+1))*GS + (3/10)*(s/(s+1))*AGS6 + (24/10)*(s/(s+1))*AGS5 + (99/10)*(s/(s+1))*AGS30\n",
|
|
"aux"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\u001b[0;31mSignature:\u001b[0m \u001b[0mmoebius\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
|
"\u001b[0;31mType:\u001b[0m Moebius\n",
|
|
"\u001b[0;31mString form:\u001b[0m The Moebius function\n",
|
|
"\u001b[0;31mFile:\u001b[0m /usr/local/sagedev/src/sage/arith/misc.py\n",
|
|
"\u001b[0;31mDocstring:\u001b[0m \n",
|
|
" Return the value of the Möbius function of abs(n), where n is an\n",
|
|
" integer.\n",
|
|
"\n",
|
|
" DEFINITION: \\mu(n) is 0 if n is not square free, and otherwise\n",
|
|
" equals (-1)^r, where n has r distinct prime factors.\n",
|
|
"\n",
|
|
" For simplicity, if n=0 we define \\mu(n) = 0.\n",
|
|
"\n",
|
|
" IMPLEMENTATION: Factors or - for integers - uses the PARI C\n",
|
|
" library.\n",
|
|
"\n",
|
|
" INPUT:\n",
|
|
"\n",
|
|
" * \"n\" - anything that can be factored.\n",
|
|
"\n",
|
|
" OUTPUT: 0, 1, or -1\n",
|
|
"\n",
|
|
" EXAMPLES:\n",
|
|
"\n",
|
|
" sage: moebius(-5)\n",
|
|
" -1\n",
|
|
" sage: moebius(9)\n",
|
|
" 0\n",
|
|
" sage: moebius(12)\n",
|
|
" 0\n",
|
|
" sage: moebius(-35)\n",
|
|
" 1\n",
|
|
" sage: moebius(-1)\n",
|
|
" 1\n",
|
|
" sage: moebius(7)\n",
|
|
" -1\n",
|
|
"\n",
|
|
" sage: moebius(0) # potentially nonstandard!\n",
|
|
" 0\n",
|
|
"\n",
|
|
" The moebius function even makes sense for non-integer inputs.\n",
|
|
"\n",
|
|
" sage: x = GF(7)['x'].0\n",
|
|
" sage: moebius(x + 2)\n",
|
|
" -1\n",
|
|
"\n",
|
|
" Tests with numpy and gmpy2 numbers:\n",
|
|
"\n",
|
|
" sage: from numpy import int8\n",
|
|
" sage: moebius(int8(-5))\n",
|
|
" -1\n",
|
|
" sage: from gmpy2 import mpz\n",
|
|
" sage: moebius(mpz(-5))\n",
|
|
" -1\n",
|
|
"\u001b[0;31mInit docstring:\u001b[0m Initialize self. See help(type(self)) for accurate signature.\n",
|
|
"\u001b[0;31mCall docstring:\u001b[0m\n",
|
|
" EXAMPLES:\n",
|
|
"\n",
|
|
" sage: from sage.arith.misc import Moebius\n",
|
|
" sage: Moebius().__call__(7)\n",
|
|
" -1"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"moebius?"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(-1, -1)"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"moebius(5), moebius(-5)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"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": 4
|
|
}
|