{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### B.C.Berndt: Number Theory in the Spirit of Ramanujanより\n",
"**Chapter 5 Lemma 5.2.2**
\n",
"$0 \\lt x \\lt 1$である$x$を
\n",
"$$\\frac{1-x}{x+1}=\\frac{\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2}=\\Lambda\\left(q\\right)$$\n",
"を満たすものとして定める。この時以下が成り立つ。\n",
"$$1-x^2=\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}=\\Lambda\\left(q^2\\right)^2$$\n",
"
\n",
"
\n",
"まずA1〜A3として$x$の条件の式を定義します。"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{73}$}\\frac{1-x}{x+1}=\\frac{\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2}\\]"
],
"text/plain": [
" 2\n",
" 1 - x phi (- q)\n",
"(%o73) ----- = ---------\n",
" x + 1 2\n",
" phi (q)"
],
"text/x-maxima": [
"(1-x)/(x+1) = phi(-q)^2/phi(q)^2"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{74}$}\\frac{\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2}=\\Lambda\\left(q\\right)\\]"
],
"text/plain": [
" 2\n",
" phi (- q)\n",
"(%o74) --------- = Lambda(q)\n",
" 2\n",
" phi (q)"
],
"text/x-maxima": [
"phi(-q)^2/phi(q)^2 = Lambda(q)"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{75}$}\\Lambda\\left(q\\right)=\\frac{1-x}{x+1}\\]"
],
"text/plain": [
" 1 - x\n",
"(%o75) Lambda(q) = -----\n",
" x + 1"
],
"text/x-maxima": [
"Lambda(q) = (1-x)/(x+1)"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A1:(1-x)/(1+x)=phi(-q)^2/phi(q)^2;\n",
"A2:phi(-q)^2/phi(q)^2=Lambda(q);\n",
"A3:rhs(A2)=lhs(A1);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"証明したい式をQ1, Q2として定義しておきます。"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{40}$}1-x^2=\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}\\]"
],
"text/plain": [
" 4 2\n",
" 2 phi (- q )\n",
"(%o40) 1 - x = ----------\n",
" 4 2\n",
" phi (q )"
],
"text/x-maxima": [
"1-x^2 = phi(-q^2)^4/phi(q^2)^4"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{41}$}\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}=\\Lambda\\left(q^2\\right)^2\\]"
],
"text/plain": [
" 4 2\n",
" phi (- q ) 2 2\n",
"(%o41) ---------- = Lambda (q )\n",
" 4 2\n",
" phi (q )"
],
"text/x-maxima": [
"phi(-q^2)^4/phi(q^2)^4 = Lambda(q^2)^2"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q1:1-x^2=phi(-q^2)^4/phi(q^2)^4;\n",
"Q2:phi(-q^2)^4/phi(q^2)^4=Lambda(q^2)^2;"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ラマヌジャンのテータ関数に関する既知の恒等式の中から今回使う以下のものをC1332, C367として定義しておきます。\n",
"$$\\tag{$1.3.32$}\\varphi\\left(-q^2\\right)^2=\\varphi\\left(-q\\right)\\,\\varphi\\left(q\\right)$$\n",
"$$\\tag{$3.6.7$}\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2=2\\,\\varphi\\left(q^2\\right)^2$$"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{30}$}\\varphi\\left(-q^2\\right)^2=\\varphi\\left(-q\\right)\\,\\varphi\\left(q\\right)\\]"
],
"text/plain": [
" 2 2\n",
"(%o30) phi (- q ) = phi(- q) phi(q)"
],
"text/x-maxima": [
"phi(-q^2)^2 = phi(-q)*phi(q)"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{31}$}2\\,\\varphi\\left(q^2\\right)^2=\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2\\]"
],
"text/plain": [
" 2 2 2 2\n",
"(%o31) 2 phi (q ) = phi (q) + phi (- q)"
],
"text/x-maxima": [
"2*phi(q^2)^2 = phi(q)^2+phi(-q)^2"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"C1332:phi(-q^2)^2=phi(-q)*phi(q);\n",
"C367:2*phi(q^2)^2=phi(q)^2+phi(-q)^2;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
証明に取り掛かります。まずQ2を示しますが、実はこれは簡単です。A2で$q$を$q^2$で置き換えて、両辺を二乗すれば良いのです。"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{42}$}\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}=\\Lambda\\left(q^2\\right)^2\\]"
],
"text/plain": [
" 4 2\n",
" phi (- q ) 2 2\n",
"(%o42) ---------- = Lambda (q )\n",
" 4 2\n",
" phi (q )"
],
"text/x-maxima": [
"phi(-q^2)^4/phi(q^2)^4 = Lambda(q^2)^2"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"subst(q^2,q,A2)^2;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"次にQ2の左辺を式変形して$1-x^2$にすることでQ1を示します。"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{43}$}\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}\\]"
],
"text/plain": [
" 4 2\n",
" phi (- q )\n",
"(%o43) ----------\n",
" 4 2\n",
" phi (q )"
],
"text/x-maxima": [
"phi(-q^2)^4/phi(q^2)^4"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q3:lhs(Q2);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"この式の分子を、C1332の両辺を二乗したものを使って書き換えます。さらに分母をC367の両辺を2で割ってから2乗したものを使って書き換えます。"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{44}$}\\frac{\\varphi\\left(-q\\right)^2\\,\\varphi\\left(q\\right)^2}{\\varphi\\left(q^2\\right)^4}\\]"
],
"text/plain": [
" 2 2\n",
" phi (- q) phi (q)\n",
"(%o44) -----------------\n",
" 4 2\n",
" phi (q )"
],
"text/x-maxima": [
"(phi(-q)^2*phi(q)^2)/phi(q^2)^4"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q4:Q3,C1332^2;"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{65}$}\\frac{4\\,\\varphi\\left(-q\\right)^2\\,\\varphi\\left(q\\right)^2}{\\left(\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2\\right)^2}\\]"
],
"text/plain": [
" 2 2\n",
" 4 phi (- q) phi (q)\n",
"(%o65) ----------------------\n",
" 2 2 2\n",
" (phi (q) + phi (- q))"
],
"text/x-maxima": [
"(4*phi(-q)^2*phi(q)^2)/(phi(q)^2+phi(-q)^2)^2"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q5:Q4,(C367/2)^2;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ここからは上記式の分子と分母をそれぞれ$\\varphi(q)^4$で割る、という式変形を行います。まず分子はそのまま割ります。"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{66}$}\\frac{4\\,\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2}\\]"
],
"text/plain": [
" 2\n",
" 4 phi (- q)\n",
"(%o66) -----------\n",
" 2\n",
" phi (q)"
],
"text/x-maxima": [
"(4*phi(-q)^2)/phi(q)^2"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q6:num(Q5)/phi(q)^4;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"上記式をA2を使って$\\Lambda(q)$の式にします。"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{69}$}4\\,\\Lambda\\left(q\\right)\\]"
],
"text/plain": [
"(%o69) 4 Lambda(q)"
],
"text/x-maxima": [
"4*Lambda(q)"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q7:4*ev(Q6/4,A2);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"分子は一旦二乗を外した式を$\\varphi(q)^2$で割ります。"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{70}$}\\frac{\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2}+1\\]"
],
"text/plain": [
" 2\n",
" phi (- q)\n",
"(%o70) --------- + 1\n",
" 2\n",
" phi (q)"
],
"text/x-maxima": [
"phi(-q)^2/phi(q)^2+1"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q8:expand(sqrt(denom(Q5))/phi(q)^2);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"上記式をA2を使って$\\Lambda(q)$の式にします。"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{71}$}\\left(\\Lambda\\left(q\\right)+1\\right)^2\\]"
],
"text/plain": [
" 2\n",
"(%o71) (Lambda(q) + 1)"
],
"text/x-maxima": [
"(Lambda(q)+1)^2"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q9:ev(Q8,A2)^2;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"結局$\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}$は以下の式に等しいことが分かりました。"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{77}$}\\frac{4\\,\\Lambda\\left(q\\right)}{\\left(\\Lambda\\left(q\\right)+1\\right)^2}\\]"
],
"text/plain": [
" 4 Lambda(q)\n",
"(%o77) ----------------\n",
" 2\n",
" (Lambda(q) + 1)"
],
"text/x-maxima": [
"(4*Lambda(q))/(Lambda(q)+1)^2"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q10:Q7/Q9;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"上記式をA3を使って、$\\Lambda(q)$を$\\frac{1-x}{1+x}$で置き換えます。"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{78}$}\\frac{4\\,\\left(1-x\\right)}{\\left(x+1\\right)\\,\\left(\\frac{1-x}{x+1}+1\\right)^2}\\]"
],
"text/plain": [
" 4 (1 - x)\n",
"(%o78) --------------------\n",
" 1 - x 2\n",
" (x + 1) (----- + 1)\n",
" x + 1"
],
"text/x-maxima": [
"(4*(1-x))/((x+1)*((1-x)/(x+1)+1)^2)"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q10,A3;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"この式を整理すると所望の式が得られます。"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{79}$}1-x^2\\]"
],
"text/plain": [
" 2\n",
"(%o79) 1 - x"
],
"text/x-maxima": [
"1-x^2"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ratsimp(%);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
この本に載っている証明は上記の通りなのですが、もう少し自然な式変形もやってみました。A1を$x$について解いて、それを$1-x^2$に代入して変形することでQ1を得る、という方針です。"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{84}$}\\frac{1-x}{x+1}=\\frac{\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2}\\]"
],
"text/plain": [
" 2\n",
" 1 - x phi (- q)\n",
"(%o84) ----- = ---------\n",
" x + 1 2\n",
" phi (q)"
],
"text/x-maxima": [
"(1-x)/(x+1) = phi(-q)^2/phi(q)^2"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A1;"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{97}$}\\left[ x=\\frac{\\varphi\\left(q\\right)^2-\\varphi\\left(-q\\right)^2}{\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2} \\right] \\]"
],
"text/plain": [
" 2 2\n",
" phi (q) - phi (- q)\n",
"(%o97) [x = -------------------]\n",
" 2 2\n",
" phi (q) + phi (- q)"
],
"text/x-maxima": [
"[x = (phi(q)^2-phi(-q)^2)/(phi(q)^2+phi(-q)^2)]"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve(A1,x);"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{98}$}1-\\frac{\\left(\\varphi\\left(q\\right)^2-\\varphi\\left(-q\\right)^2\\right)^2}{\\left(\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2\\right)^2}\\]"
],
"text/plain": [
" 2 2 2\n",
" (phi (q) - phi (- q))\n",
"(%o98) 1 - ----------------------\n",
" 2 2 2\n",
" (phi (q) + phi (- q))"
],
"text/x-maxima": [
"1-(phi(q)^2-phi(-q)^2)^2/(phi(q)^2+phi(-q)^2)^2"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"1-x^2,%;"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{99}$}\\frac{4\\,\\varphi\\left(-q\\right)^2\\,\\varphi\\left(q\\right)^2}{\\varphi\\left(q\\right)^4+2\\,\\varphi\\left(-q\\right)^2\\,\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^4}\\]"
],
"text/plain": [
" 2 2\n",
" 4 phi (- q) phi (q)\n",
"(%o99) -----------------------------------------\n",
" 4 2 2 4\n",
" phi (q) + 2 phi (- q) phi (q) + phi (- q)"
],
"text/x-maxima": [
"(4*phi(-q)^2*phi(q)^2)/(phi(q)^4+2*phi(-q)^2*phi(q)^2+phi(-q)^4)"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ratsimp(%);"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{100}$}\\frac{4\\,\\varphi\\left(-q\\right)^2\\,\\varphi\\left(q\\right)^2}{\\left(\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2\\right)^2}\\]"
],
"text/plain": [
" 2 2\n",
" 4 phi (- q) phi (q)\n",
"(%o100) ----------------------\n",
" 2 2 2\n",
" (phi (q) + phi (- q))"
],
"text/x-maxima": [
"(4*phi(-q)^2*phi(q)^2)/(phi(q)^2+phi(-q)^2)^2"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"factor(%);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"明らかに上記式にC1332とC367を適用することが可能です。"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{101}$}\\frac{4\\,\\varphi\\left(-q^2\\right)^4}{\\left(\\varphi\\left(q\\right)^2+\\varphi\\left(-q\\right)^2\\right)^2}\\]"
],
"text/plain": [
" 4 2\n",
" 4 phi (- q )\n",
"(%o101) ----------------------\n",
" 2 2 2\n",
" (phi (q) + phi (- q))"
],
"text/x-maxima": [
"(4*phi(-q^2)^4)/(phi(q)^2+phi(-q)^2)^2"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%,(2*rhs(C1332))^2=(2*lhs(C1332))^2;"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\[\\tag{${\\it \\%o}_{102}$}\\frac{\\varphi\\left(-q^2\\right)^4}{\\varphi\\left(q^2\\right)^4}\\]"
],
"text/plain": [
" 4 2\n",
" phi (- q )\n",
"(%o102) ----------\n",
" 4 2\n",
" phi (q )"
],
"text/x-maxima": [
"phi(-q^2)^4/phi(q^2)^4"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%,rhs(C367)=lhs(C367);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"これでQ1を示すことができました。"
]
},
{
"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.44.0"
}
},
"nbformat": 4,
"nbformat_minor": 4
}