{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#### B.C.Berndt: Number Theory in the Spirit of Ramanujanより\n", "\n", "準備として$0\\lt x \\lt 1$の範囲で関数$F(x)$を\n", "$$F(x)=exp\\left(-\\pi\\,\\frac{{}_2 F_1\\left(\\frac{1}{2},\\frac{1}{2};1;1-x\\right)}{{}_2 F_1\\left(\\frac{1}{2},\\frac{1}{2};1;x\\right)}\\right)$$\n", "と定義します。\n", "
\n", "
\n", "
\n", "\n", "**Chapter 5 Corollary 5.2.1**
\n", "$0 \\lt x \\lt 1$の時\n", "$$F(x^2)=F\\left(\\frac{4\\,x}{(1+x)^2}\\right)^2$$\n", "\n", "今回はこの補題を証明していきます。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{0}$}F\\left(x\\right):=\\exp \\left(\\frac{-\\pi\\,{\\it hypergeometric}\\left(\\left[ \\frac{1}{2} , \\frac{1}{2} \\right] , \\left[ 1 \\right] , 1-x\\right)}{{\\it hypergeometric}\\left(\\left[ \\frac{1}{2} , \\frac{1}{2} \\right] , \\left[ 1 \\right] , x\\right)}\\right)\\]" ], "text/plain": [ " 1 1\n", " - %pi hypergeometric([-, -], [1], 1 - x)\n", " 2 2\n", "(%o0) F(x) := exp(----------------------------------------)\n", " 1 1\n", " hypergeometric([-, -], [1], x)\n", " 2 2" ], "text/x-maxima": [ "F(x):=exp(\n", " (-%pi*hypergeometric([1/2,1/2],[1],1-x))/hypergeometric([1/2,1/2],[1],x))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F(x):=exp(-%pi*hypergeometric([1/2,1/2],[1],1-x)/hypergeometric([1/2,1/2],[1],x));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "証明するべき式を確認します。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{1}$}e^ {- \\frac{\\pi\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x^2\\right)} }=e^ {- \\frac{2\\,\\pi\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)} }\\]" ], "text/plain": [ " 2\n", " %pi hypergeometric([1/2, 1/2], [1], 1 - x )\n", " - -------------------------------------------\n", " 2\n", " hypergeometric([1/2, 1/2], [1], x )\n", "(%o1) %e = \n", " 4 x\n", " 2 %pi hypergeometric([1/2, 1/2], [1], 1 - --------)\n", " 2\n", " (x + 1)\n", " - ---------------------------------------------------\n", " 4 x\n", " hypergeometric([1/2, 1/2], [1], --------)\n", " 2\n", " (x + 1)\n", " %e" ], "text/x-maxima": [ "%e^-((%pi*hypergeometric([1/2,1/2],[1],1-x^2))\n", " /hypergeometric([1/2,1/2],[1],x^2))\n", " = %e^-((2*%pi*hypergeometric([1/2,1/2],[1],1-(4*x)/(x+1)^2))\n", " /hypergeometric([1/2,1/2],[1],(4*x)/(x+1)^2))" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ "SB-KERNEL:REDEFINITION-WITH-DEFUN: redefining MAXIMA::SIMP-HYPERGEOMETRIC in DEFUN\n" ] } ], "source": [ "F(x^2)=F(4*x/(1+x)^2)^2;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Corollary 5.1.7で示した式\n", "$$F\\left(\\frac{1}{2},\\frac{1}{2};1;1-\\frac{\\left(x-1\\right)^2}{\\left(x+1\\right)^2}\\right)=(1+x)\\,F\\left(\\frac{1}{2},\\frac{1}{2};1;x^2\\right)$$\n", "において、$x$を$\\frac{1-x}{1+x}$で置換します。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{2}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-\\frac{\\left(x-1\\right)^2}{\\left(x+1\\right)^2}\\right)=F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x^2\\right)\\,\\left(x+1\\right)\\]" ], "text/plain": [ " 2\n", " 1 1 (x - 1)\n", "(%o2) hypergeometric([-, -], [1], 1 - --------) = \n", " 2 2 2\n", " (x + 1)\n", " 1 1 2\n", " hypergeometric([-, -], [1], x ) (x + 1)\n", " 2 2" ], "text/x-maxima": [ "hypergeometric([1/2,1/2],[1],1-(x-1)^2/(x+1)^2)\n", " = hypergeometric([1/2,1/2],[1],x^2)*(x+1)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Col517:hypergeometric([1/2,1/2],[1],1-((x-1)/(x+1))^2)=(1+x)*hypergeometric([1/2,1/2],[1],x^2);" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{3}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)=\\frac{2\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{x^2-2\\,x+1}{x^2+2\\,x+1}\\right)}{x+1}\\]" ], "text/plain": [ " 1 1 2\n", "(%o3) hypergeometric([-, -], [1], 1 - x ) = \n", " 2 2\n", " 2\n", " 1 1 x - 2 x + 1\n", " 2 hypergeometric([-, -], [1], ------------)\n", " 2 2 2\n", " x + 2 x + 1\n", " -------------------------------------------\n", " x + 1" ], "text/x-maxima": [ "hypergeometric([1/2,1/2],[1],1-x^2) = (2\n", " *hypergeometric([1/2,1/2],[1],\n", " (x^2-2*x+1)/(x^2+2*x+1)))\n", " /(x+1)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C2:subst((1-x)/(1+x),x,Col517),ratsimp;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "右辺の引数を因数分解します。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{4}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)=\\frac{2\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{\\left(x-1\\right)^2}{\\left(x+1\\right)^2}\\right)}{x+1}\\]" ], "text/plain": [ " 1 1 2\n", "(%o4) hypergeometric([-, -], [1], 1 - x ) = \n", " 2 2\n", " 2\n", " 1 1 (x - 1)\n", " 2 hypergeometric([-, -], [1], --------)\n", " 2 2 2\n", " (x + 1)\n", " ---------------------------------------\n", " x + 1" ], "text/x-maxima": [ "hypergeometric([1/2,1/2],[1],1-x^2) = (2\n", " *hypergeometric([1/2,1/2],[1],\n", " (x-1)^2/(x+1)^2))\n", " /(x+1)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C3:substpart(factor(part(C2,2,1,2,3)),C2,2,1,2,3);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "因数分解した部分について以下の式が成り立つので、左辺で置き換えます。" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{5}$}1-\\frac{4\\,x}{\\left(x+1\\right)^2}=\\frac{\\left(x-1\\right)^2}{\\left(x+1\\right)^2}\\]" ], "text/plain": [ " 2\n", " 4 x (x - 1)\n", "(%o5) 1 - -------- = --------\n", " 2 2\n", " (x + 1) (x + 1)" ], "text/x-maxima": [ "1-(4*x)/(x+1)^2 = (x-1)^2/(x+1)^2" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=factor(A),A=1-4*x/(x+1)^2;" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{6}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)=\\frac{2\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)}{x+1}\\]" ], "text/plain": [ " 1 1 2\n", "(%o6) hypergeometric([-, -], [1], 1 - x ) = \n", " 2 2\n", " 1 1 4 x\n", " 2 hypergeometric([-, -], [1], 1 - --------)\n", " 2 2 2\n", " (x + 1)\n", " -------------------------------------------\n", " x + 1" ], "text/x-maxima": [ "hypergeometric([1/2,1/2],[1],1-x^2) = (2\n", " *hypergeometric([1/2,1/2],[1],\n", " 1-(4*x)/(x+1)^2))\n", " /(x+1)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C4:substpart(1-4*x/(x+1)^2,C3,2,1,2,3);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Theorem 5.1.6では楕円積分$K(k)$について$K(\\frac{2\\,\\sqrt{x}}{x+1})=(x+1)\\,K(x)$ を示しました。これを超幾何関数の言葉で書くと以下の式になるのでした。" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{7}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x^2\\right)\\,\\left(x+1\\right)=F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)\\]" ], "text/plain": [ " 1 1 2\n", "(%o7) hypergeometric([-, -], [1], x ) (x + 1) = \n", " 2 2\n", " 1 1 4 x\n", " hypergeometric([-, -], [1], --------)\n", " 2 2 2\n", " (x + 1)" ], "text/x-maxima": [ "hypergeometric([1/2,1/2],[1],x^2)*(x+1) = hypergeometric([1/2,1/2],[1],\n", " (4*x)/(x+1)^2)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C5:(x+1)*hypergeometric([1/2,1/2],[1],x^2)=hypergeometric([1/2,1/2],[1],4*x/(x+1)^2);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "%o7の両辺を%o8の両辺で割って両辺を入れ替えると以下の式を得ます。" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{8}$}\\frac{2\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)\\,\\left(x+1\\right)}=\\frac{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x^2\\right)\\,\\left(x+1\\right)}\\]" ], "text/plain": [ " 1 1 4 x\n", " 2 hypergeometric([-, -], [1], 1 - --------)\n", " 2 2 2\n", " (x + 1)\n", "(%o8) --------------------------------------------- = \n", " 1 1 4 x\n", " hypergeometric([-, -], [1], --------) (x + 1)\n", " 2 2 2\n", " (x + 1)\n", " 1 1 2\n", " hypergeometric([-, -], [1], 1 - x )\n", " 2 2\n", " ---------------------------------------\n", " 1 1 2\n", " hypergeometric([-, -], [1], x ) (x + 1)\n", " 2 2" ], "text/x-maxima": [ "(2*hypergeometric([1/2,1/2],[1],1-(4*x)/(x+1)^2))\n", " /(hypergeometric([1/2,1/2],[1],(4*x)/(x+1)^2)*(x+1))\n", " = hypergeometric([1/2,1/2],[1],1-x^2)/(hypergeometric([1/2,1/2],[1],x^2)\n", " *(x+1))" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C6:rhs(C4)/rhs(C5)=lhs(C4)/lhs(C5);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "両辺に$-\\pi\\,(x+1)$を掛けてから指数関数に代入すると以下の式を得ます。これは証明するべき式そのものです!" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{9}$}e^ {- \\frac{2\\,\\pi\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)} }=e^ {- \\frac{\\pi\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x^2\\right)} }\\]" ], "text/plain": [ " 4 x\n", " 2 %pi hypergeometric([1/2, 1/2], [1], 1 - --------)\n", " 2\n", " (x + 1)\n", " - ---------------------------------------------------\n", " 4 x\n", " hypergeometric([1/2, 1/2], [1], --------)\n", " 2\n", " (x + 1)\n", "(%o9) %e = \n", " 2\n", " %pi hypergeometric([1/2, 1/2], [1], 1 - x )\n", " - -------------------------------------------\n", " 2\n", " hypergeometric([1/2, 1/2], [1], x )\n", " %e" ], "text/x-maxima": [ "%e^-((2*%pi*hypergeometric([1/2,1/2],[1],1-(4*x)/(x+1)^2))\n", " /hypergeometric([1/2,1/2],[1],(4*x)/(x+1)^2))\n", " = %e^-((%pi*hypergeometric([1/2,1/2],[1],1-x^2))\n", " /hypergeometric([1/2,1/2],[1],x^2))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp(-%pi*lhs(C6)*(x+1))=exp(-%pi*rhs(C6)*(x+1));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "念のため確認しておきましょう。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{10}$}e^ {- \\frac{2\\,\\pi\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,\\frac{4\\,x}{\\left(x+1\\right)^2}\\right)} }=e^ {- \\frac{\\pi\\,F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,1-x^2\\right)}{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x^2\\right)} }\\]" ], "text/plain": [ " 4 x\n", " 2 %pi hypergeometric([1/2, 1/2], [1], 1 - --------)\n", " 2\n", " (x + 1)\n", " - ---------------------------------------------------\n", " 4 x\n", " hypergeometric([1/2, 1/2], [1], --------)\n", " 2\n", " (x + 1)\n", "(%o10) %e = \n", " 2\n", " %pi hypergeometric([1/2, 1/2], [1], 1 - x )\n", " - -------------------------------------------\n", " 2\n", " hypergeometric([1/2, 1/2], [1], x )\n", " %e" ], "text/x-maxima": [ "%e^-((2*%pi*hypergeometric([1/2,1/2],[1],1-(4*x)/(x+1)^2))\n", " /hypergeometric([1/2,1/2],[1],(4*x)/(x+1)^2))\n", " = %e^-((%pi*hypergeometric([1/2,1/2],[1],1-x^2))\n", " /hypergeometric([1/2,1/2],[1],x^2))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F(4*x/(x+1)^2)^2=F(x^2);" ] } ], "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.46.0" } }, "nbformat": 4, "nbformat_minor": 4 }