{
"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
}