{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Application of Euler Maclaurin Summation Formula to obtain analytic continuation of Riemann zeta function\n", "\n", "Reference: Section 14 Zeta's scenary, \"Exploring Euler's Mathematics\", S.Kurokawa, Springer Japan, 2007" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{1}$}\\left[ \\mbox{ /root/quicklisp/dists/quicklisp/archives/euler-maclaurin-sum-master.gz } , \\mbox{ /root/quicklisp/local-projects/YasuakiHonda-euler-maclaurin-sum-82043ec/ } \\right] \\]" ], "text/plain": [ "(%o1) [/root/quicklisp/dists/quicklisp/archives/euler-maclaurin-sum-master.gz, \n", " /root/quicklisp/local-projects/YasuakiHonda-euler-maclaurin-sum-82043ec/]" ], "text/x-maxima": [ "[\"/root/quicklisp/dists/quicklisp/archives/euler-maclaurin-sum-master.gz\",\n", " \"/root/quicklisp/local-projects/YasuakiHonda-euler-maclaurin-sum-82043ec/\"]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "install_github(\"YasuakiHonda\",\"euler-maclaurin-sum\",\"master\");" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{2}$}\\#\\]" ], "text/plain": [ "(%o2) #" ], "text/x-maxima": [ "\\#\\" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "asdf_load_source(\"euler-maclaurin-sum\");" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{3}$}\\left[ M>N \\right] \\]" ], "text/plain": [ "(%o3) [M > N]" ], "text/x-maxima": [ "[M > N]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{4}$}\\left[ N>0 \\right] \\]" ], "text/plain": [ "(%o4) [N > 0]" ], "text/x-maxima": [ "[N > 0]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{5}$}\\left[ M>1 \\right] \\]" ], "text/plain": [ "(%o5) [M > 1]" ], "text/x-maxima": [ "[M > 1]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{6}$}\\left[ s>1 \\right] \\]" ], "text/plain": [ "(%o6) [s > 1]" ], "text/x-maxima": [ "[s > 1]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "assume(M>N); assume(N>0); assume(M>1);assume(s>1);" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{7}$}\\sum_{n=N}^{M}{f\\left(n\\right)}=\\sum_{k=1}^{K-1}{\\frac{\\left(-1\\right)^{k+1}\\,B_{k+1}\\,\\left(\\left.\\frac{d^{k}}{d\\,x^{k}}\\,f\\left(x\\right)\\right|_{x=M}-\\left.\\frac{d^{k}}{d\\,x^{k}}\\,f\\left(x\\right)\\right|_{x=N}\\right)}{\\left(k+1\\right)!}}+\\frac{\\left(-1\\right)^{K+1}\\,\\int_{N}^{M}{\\overline{B}_{K}\\left(x\\right)\\,\\left(\\frac{d^{K}}{d\\,x^{K}}\\,f\\left(x\\right)\\right)\\;dx}}{K!}+\\int_{N}^{M}{f\\left(x\\right)\\;dx}+\\frac{f\\left(N\\right)}{2}+\\frac{f\\left(M\\right)}{2}\\]" ], "text/plain": [ " M\n", " ====\n", " \\\n", "(%o7) > f(n) = \n", " /\n", " ====\n", " n = N\n", " ! !\n", " k ! k !\n", " k + 1 d ! d !\n", " (- 1) bern(k + 1) (--- (f(x))! - --- (f(x))! )\n", "K - 1 k ! k !\n", "==== dx ! dx !\n", "\\ !x = M !x = N\n", " > ------------------------------------------------------------\n", "/ (k + 1)!\n", "====\n", "k = 1\n", " M\n", " / K\n", " K + 1 [ d\n", " (- 1) I periodic_bernpoly(x, K) (--- (f(x))) dx\n", " ] K M\n", " / dx /\n", " N [ f(N)\n", " + ----------------------------------------------------- + I f(x) dx + ----\n", " K! ] 2\n", " /\n", " N\n", " f(M)\n", " + ----\n", " 2" ], "text/x-maxima": [ "'sum(f(n),n,N,M) = 'sum(((-1)^(k+1)*bern(k+1)\n", " *('at('diff(f(x),x,k),x = M)\n", " -'at('diff(f(x),x,k),x = N)))\n", " /(k+1)!,k,1,K-1)\n", " +((-1)^(K+1)*'integrate(\n", " periodic_bernpoly(x,K)*'diff(f(x),x,K),x,N,M))\n", " /K!+'integrate(f(x),x,N,M)+f(N)/2+f(M)/2" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ems;" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{8}$}\\sum_{n=N}^{M}{\\frac{1}{n^{s}}}=\\frac{\\left(-s-3\\right)\\,\\left(-s-2\\right)\\,\\left(-s-1\\right)\\,s\\,\\int_{N}^{M}{x^{-s-4}\\,\\overline{B}_{4}\\left(x\\right)\\;dx}}{24}+\\frac{N}{N^{s}\\,s-N^{s}}-\\frac{M}{M^{s}\\,s-M^{s}}-\\frac{N^{-s-3}\\,\\left(-s-2\\right)\\,\\left(-s-1\\right)\\,s-M^{-s-3}\\,\\left(-s-2\\right)\\,\\left(-s-1\\right)\\,s}{720}+\\frac{N^{-s-1}\\,s-M^{-s-1}\\,s}{12}+\\frac{1}{2\\,N^{s}}+\\frac{1}{2\\,M^{s}}\\]" ], "text/plain": [ " M\n", " ====\n", " \\ 1\n", "(%o8) > -- = \n", " / s\n", " ==== n\n", " n = N\n", " M\n", " /\n", " [ (- s) - 4\n", "((- s) - 3) ((- s) - 2) ((- s) - 1) s I x periodic_bernpoly(x, 4) dx\n", " ]\n", " /\n", " N\n", "------------------------------------------------------------------------------\n", " 24\n", " N M\n", " + --------- - ---------\n", " s s s s\n", " N s - N M s - M\n", " (- s) - 3 (- s) - 3\n", " N ((- s) - 2) ((- s) - 1) s - M ((- s) - 2) ((- s) - 1) s\n", " - ---------------------------------------------------------------------------\n", " 720\n", " (- s) - 1 (- s) - 1\n", " N s - M s 1 1\n", " + --------------------------- + ---- + ----\n", " 12 s s\n", " 2 N 2 M" ], "text/x-maxima": [ "'sum(1/n^s,n,N,M) = (((-s)-3)*((-s)-2)*((-s)-1)*s\n", " *'integrate(x^((-s)-4)*periodic_bernpoly(x,4),x,\n", " N,M))\n", " /24\n", " +N/(N^s*s-N^s)-M/(M^s*s-M^s)\n", " -(N^((-s)-3)*((-s)-2)*((-s)-1)*s\n", " -M^((-s)-3)*((-s)-2)*((-s)-1)*s)\n", " /720+(N^((-s)-1)*s-M^((-s)-1)*s)/12+1/(2*N^s)+1/(2*M^s)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "renz:ems,f(n):=n^(-s),K=4,nouns;" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{9}$}\\sum_{n=N}^{\\infty }{\\frac{1}{n^{s}}}=-\\frac{s\\,\\left(s+1\\right)\\,\\left(s+2\\right)\\,\\left(s+3\\right)\\,\\left(\\lim_{M\\rightarrow \\infty }{\\int_{N}^{M}{x^{-s-4}\\,\\overline{B}_{4}\\left(x\\right)\\;dx}}\\right)}{24}-\\frac{N^{-s-3}\\,s\\,\\left(s+1\\right)\\,\\left(s+2\\right)}{720}+\\frac{N^{-s-1}\\,s}{12}+\\frac{N^{1-s}}{s-1}+\\frac{1}{2\\,N^{s}}\\]" ], "text/plain": [ " inf\n", " ====\n", " \\ 1\n", "(%o9) > -- = (- (s (s + 1) (s + 2) (s + 3)\n", " / s\n", " ==== n\n", " n = N\n", " M\n", " /\n", " [ (- s) - 4\n", " (limit I x periodic_bernpoly(x, 4) dx))/24)\n", " M -> inf ]\n", " /\n", " N\n", " (- s) - 3 (- s) - 1 1 - s\n", " N s (s + 1) (s + 2) N s N 1\n", " - ---------------------------- + ------------ + ------ + ----\n", " 720 12 s - 1 s\n", " 2 N" ], "text/x-maxima": [ "'sum(1/n^s,n,N,inf) = (-(s*(s+1)*(s+2)*(s+3)\n", " *('limit('integrate(\n", " x^((-s)-4)*periodic_bernpoly(x,4),x,N,M),\n", " M,inf)))\n", " /24)\n", " -(N^((-s)-3)*s*(s+1)*(s+2))/720+(N^((-s)-1)*s)/12\n", " +N^(1-s)/(s-1)+1/(2*N^s)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "renz1:subst(inf,M,lhs(renz))=map(lambda([exp],factor(limit(exp,M,inf))),rhs(renz));" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{10}$}\\zeta\\left(s\\right)=-\\frac{1}{N^{s}}+\\sum_{n=N}^{\\infty }{\\frac{1}{n^{s}}}+\\sum_{n=1}^{N}{\\frac{1}{n^{s}}}\\]" ], "text/plain": [ " inf N\n", " ==== ====\n", " 1 \\ 1 \\ 1\n", "(%o10) zeta(s) = (- --) + > -- + > --\n", " s / s / s\n", " N ==== n ==== n\n", " n = N n = 1" ], "text/x-maxima": [ "zeta(s) = (-1/N^s)+'sum(1/n^s,n,N,inf)+'sum(1/n^s,n,1,N)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zeta(s)=sum(n^(-s),n,1,N)+sum(n^(-s),n,N,inf)-N^(-s);" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{11}$}\\zeta\\left(s\\right)=-\\frac{s\\,\\left(s+1\\right)\\,\\left(s+2\\right)\\,\\left(s+3\\right)\\,\\left(\\lim_{M\\rightarrow \\infty }{\\int_{N}^{M}{x^{-s-4}\\,\\overline{B}_{4}\\left(x\\right)\\;dx}}\\right)}{24}-\\frac{N^{-s-3}\\,s\\,\\left(s+1\\right)\\,\\left(s+2\\right)}{720}+\\frac{N^{-s-1}\\,s}{12}+\\frac{N^{1-s}}{s-1}-\\frac{1}{2\\,N^{s}}+\\sum_{n=1}^{N}{\\frac{1}{n^{s}}}\\]" ], "text/plain": [ "(%o11) zeta(s) = (- (s (s + 1) (s + 2) (s + 3)\n", " M\n", " /\n", " [ (- s) - 4\n", " (limit I x periodic_bernpoly(x, 4) dx))/24)\n", " M -> inf ]\n", " /\n", " N\n", " N\n", " (- s) - 3 (- s) - 1 1 - s ====\n", " N s (s + 1) (s + 2) N s N 1 \\ 1\n", " - ---------------------------- + ------------ + ------ - ---- + > --\n", " 720 12 s - 1 s / s\n", " 2 N ==== n\n", " n = 1" ], "text/x-maxima": [ "zeta(s) = (-(s*(s+1)*(s+2)*(s+3)\n", " *('limit('integrate(x^((-s)-4)*periodic_bernpoly(x,4),x,N,M),M,\n", " inf)))\n", " /24)\n", " -(N^((-s)-3)*s*(s+1)*(s+2))/720+(N^((-s)-1)*s)/12+N^(1-s)/(s-1)\n", " -1/(2*N^s)+'sum(1/n^s,n,1,N)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "renz2:%,renz1;" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{12}$}\\zeta\\left(s\\right)=\\lim_{N\\rightarrow \\infty }{-\\frac{N^{-s-3}\\,s\\,\\left(s+1\\right)\\,\\left(s+2\\right)}{720}+\\frac{N^{-s-1}\\,s}{12}+\\frac{N^{1-s}}{s-1}-\\frac{1}{2\\,N^{s}}+\\sum_{n=1}^{N}{\\frac{1}{n^{s}}}}\\]" ], "text/plain": [ " (- s) - 3 (- s) - 1\n", " N s (s + 1) (s + 2) N s\n", "(%o12) zeta(s) = limit ((- ----------------------------) + ------------\n", " N -> inf 720 12\n", " N\n", " 1 - s ====\n", " N 1 \\ 1\n", " + ------ - ---- + > --)\n", " s - 1 s / s\n", " 2 N ==== n\n", " n = 1" ], "text/x-maxima": [ "zeta(s) = 'limit((-(N^((-s)-3)*s*(s+1)*(s+2))/720)\n", " +(N^((-s)-1)*s)/12+N^(1-s)/(s-1)-1/(2*N^s)\n", " +'sum(1/n^s,n,1,N),N,inf)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "renz3:lhs(renz2)=limit(rhs(substpart(0,renz2,2,1)),N,inf);" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{13}$}-\\frac{1}{2}\\]" ], "text/plain": [ " 1\n", "(%o13) - -\n", " 2" ], "text/x-maxima": [ "-1/2" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rhs(renz3),s=0;" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{14}$}\\lim_{N\\rightarrow \\infty }{\\sum_{n=1}^{N}{n}-\\frac{N^2}{2}-\\frac{N}{2}-\\frac{1}{12}}\\]" ], "text/plain": [ " N\n", " ==== 2\n", " \\ N N 1\n", "(%o14) limit ( > n - -- - - - --)\n", " N -> inf / 2 2 12\n", " ====\n", " n = 1" ], "text/x-maxima": [ "'limit('sum(n,n,1,N)-N^2/2-N/2-1/12,N,inf)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rhs(renz3),s=-1;" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{15}$}-\\frac{1}{12}\\]" ], "text/plain": [ " 1\n", "(%o15) - --\n", " 12" ], "text/x-maxima": [ "-1/12" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%,simpsum:true,ratsimp;" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{16}$}\\lim_{N\\rightarrow \\infty }{\\sum_{n=1}^{N}{n^2}-\\frac{N^3}{3}-\\frac{N^2}{2}-\\frac{N}{6}}\\]" ], "text/plain": [ " N\n", " ==== 3 2\n", " \\ 2 N N N\n", "(%o16) limit ( > n - -- - -- - -)\n", " N -> inf / 3 2 6\n", " ====\n", " n = 1" ], "text/x-maxima": [ "'limit('sum(n^2,n,1,N)-N^3/3-N^2/2-N/6,N,inf)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rhs(renz3),s=-2;" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{17}$}0\\]" ], "text/plain": [ "(%o17) 0" ], "text/x-maxima": [ "0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%,simpsum:true,ratsimp;" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{18}$}\\lim_{N\\rightarrow \\infty }{\\sum_{n=1}^{N}{\\sqrt{n}}-\\frac{2\\,N^{\\frac{3}{2}}}{3}-\\frac{\\sqrt{N}}{2}-\\frac{1}{24\\,\\sqrt{N}}+\\frac{1}{1920\\,N^{\\frac{5}{2}}}}\\]" ], "text/plain": [ " N\n", " ==== 3/2\n", " \\ 2 N sqrt(N) 1 1\n", "(%o18) limit ( > sqrt(n) - ------ - ------- - ---------- + ---------)\n", " N -> inf / 3 2 24 sqrt(N) 5/2\n", " ==== 1920 N\n", " n = 1" ], "text/x-maxima": [ "'limit('sum(sqrt(n),n,1,N)-(2*N^(3/2))/3-sqrt(N)/2-1/(24*sqrt(N))\n", " +1/(1920*N^(5/2)),N,inf)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rhs(renz3),s=-1/2;" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{19}$}\\sum_{n=1}^{N}{\\sqrt{n}}-\\frac{2\\,N^{\\frac{3}{2}}}{3}-\\frac{\\sqrt{N}}{2}-\\frac{1}{24\\,\\sqrt{N}}+\\frac{1}{1920\\,N^{\\frac{5}{2}}}\\]" ], "text/plain": [ " N\n", " ==== 3/2\n", " \\ 2 N sqrt(N) 1 1\n", "(%o19) > sqrt(n) - ------ - ------- - ---------- + ---------\n", " / 3 2 24 sqrt(N) 5/2\n", " ==== 1920 N\n", " n = 1" ], "text/x-maxima": [ "'sum(sqrt(n),n,1,N)-(2*N^(3/2))/3-sqrt(N)/2-1/(24*sqrt(N))+1/(1920*N^(5/2))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "part(%,1);" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{20}$}-0.2078862248259483\\]" ], "text/plain": [ "(%o20) - 0.2078862248259483" ], "text/x-maxima": [ "-0.2078862248259483" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%,N:20,nouns,numer;" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{21}$}-0.2078862249773546\\]" ], "text/plain": [ "(%o21) - 0.2078862249773546" ], "text/x-maxima": [ "-0.2078862249773546" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zeta(-1/2),numer;" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Maxima", "language": "maxima", "name": "maxima" }, "language_info": { "codemirror_mode": "maxima", "file_extension": ".mac", "mimetype": "text/x-maxima", "name": "maxima", "pygments_lexer": "maxima", "version": "5.43.2" } }, "nbformat": 4, "nbformat_minor": 4 }