{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7d23f412-95ba-469b-95ea-dd19e111b468",
   "metadata": {},
   "source": [
    "超幾何関数の関係式として別の2次変換公式とクローゼンの公式を組み合わせることで、別の「クローゼンの公式の特別な場合」を導くことができます。さらにその結果をアイゼンシュタイン級数の変換公式と組み合わせることで、$P(e^{-2\\,\\pi\\,\\sqrt{n}})$に関する別の公式を導出できます。そうすることで別のラマヌジャンの円周率公式を証明することができます。\n",
    "\n",
    "今回は今までとは別のクローゼンの公式の特別な場合と別の$P(e^{-2\\,\\pi\\,\\sqrt{n}})$に関する公式を導きます。\n",
    "\n",
    "使う2次変換公式は次のとおりです[DLMF, Eq. 15.8.16]。\n",
    "$${}_2F_1\\left(a,b; -b+a+1;z\\right)=\\frac{1}{\\left(1-z\\right)^{a}}\\cdot{}_2F_1\\left(\\frac{a}{2},-b+\\frac{a}{2}+\\frac{1}{2};-b+a+1; -\\frac{4\\,z}{\\left(1-z\\right)^2}\\right)$$\n",
    "
\n",
    "\n",
    "\n",
    "\n",
    "定理1\n",
    "$${}_2F_1\\left(\\frac12,\\frac12;1;x\\right)^2=\\frac{1}{1-x}\\cdot{}_3F_2\\left(\\frac12,\\frac12,\\frac12;1,1;-\\frac{4\\,x}{(1-x)^2}\\right)$$
\n",
    "\n",
    "定理2 $Y=\\frac{4\\,x}{(1-x)^2}, Y_n=\\frac{4\\,x_n}{(1-x_n)^2}, A_k=\\frac{\\left(\\frac12 \\right)_k^3}{k!^3}$として\n",
    "$$P\\left(q^2\\right)=-\\frac{\\left(\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(3\\,k+1\\right)\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)\\,\\left(x+1\\right)}{x-1}$$\n",
    "$$P\\left(e^ {- 2\\,\\pi\\,\\sqrt{n} }\\right)=-\\frac{\\left(x_{n}+1\\right)\\,\\sum_{k=0}^{\\infty }{\\left(3\\,k+1\\right)\\,\\left(-1\\right)^{k}\\,A_{k}\\,Y_{n}^{k}}}{x_{n}-1}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ad3bf6ff-901b-4bea-8cc7-be3fada1af0d",
   "metadata": {},
   "source": [
    "まず定理1の証明から始めます。最初にクローゼンの公式を思い出しましょう。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "06b473ec-968b-438d-9ed2-1ca9493b4bdf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{18}$}F\\left( \\left. \\begin{array}{c}a,\\;b\\\\b+a+\\frac{1}{2}\\end{array} \\right |,z\\right)^2=F\\left( \\left. \\begin{array}{c}2\\,a,\\;2\\,b,\\;b+a\\\\b+a+\\frac{1}{2},\\;2\\,b+2\\,a\\end{array} \\right |,z\\right)\\]"
      ],
      "text/plain": [
       "                     2                  1\n",
       "(%o18) hypergeometric ([a, b], [b + a + -], z) = \n",
       "                                        2\n",
       "                                                              1\n",
       "                   hypergeometric([2 a, 2 b, b + a], [b + a + -, 2 b + 2 a], z)\n",
       "                                                              2"
      ],
      "text/x-maxima": [
       "hypergeometric([a,b],[b+a+1/2],z)^2 = hypergeometric([2*a,2*b,b+a],\n",
       "                                                     [b+a+1/2,2*b+2*a],z)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL:hypergeometric([a,b],[a+b+1/2],z)^2=hypergeometric([2*a,2*b,a+b],[2*a+2*b,a+b+1/2],z);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b3cdd0af-6ea5-40e7-9f6f-0bf0b848d388",
   "metadata": {},
   "source": [
    "定理の式の右辺をターゲットとしてクローゼンの公式の右辺を睨んで$a,b,z$に代入する値を考えます。この場合$a=b=\\frac{1}{4}, z=-\\frac{4\\,x}{(1-x)^2}$が良さそうなので、これらを代入した式を計算し、$CL1$とします。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "7b69ae6b-cbfd-4cb9-b7c2-e5d1e2656935",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{19}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{4},\\;\\frac{1}{4}\\\\1\\end{array} \\right |,-\\frac{4\\,x}{\\left(1-x\\right)^2}\\right)^2=F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2},\\;\\frac{1}{2}\\\\1,\\;1\\end{array} \\right |,-\\frac{4\\,x}{\\left(1-x\\right)^2}\\right)\\]"
      ],
      "text/plain": [
       "                     2  1  1            4 x\n",
       "(%o19) hypergeometric ([-, -], [1], - --------) = \n",
       "                        4  4                 2\n",
       "                                      (1 - x)\n",
       "                                                  1  1  1               4 x\n",
       "                                  hypergeometric([-, -, -], [1, 1], - --------)\n",
       "                                                  2  2  2                    2\n",
       "                                                                      (1 - x)"
      ],
      "text/x-maxima": [
       "hypergeometric([1/4,1/4],[1],-(4*x)/(1-x)^2)^2\n",
       "  = hypergeometric([1/2,1/2,1/2],[1,1],-(4*x)/(1-x)^2)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL1:CL,a=1/4,b=1/4,z=-4*x/(1-x)^2;"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "472e37c6-80b3-4814-8d3c-ae54600608ec",
   "metadata": {},
   "source": [
    "次にNISTのデータベースから式15.8.16を参照し、$DLMF15\\_8\\_16$として定義します。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "4de72826-4f63-43d2-b64e-90cfcf65c9a6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{20}$}F\\left( \\left. \\begin{array}{c}a,\\;b\\\\-b+a+1\\end{array} \\right |,z\\right)=\\frac{F\\left( \\left. \\begin{array}{c}\\frac{a}{2},\\;-b+\\frac{a}{2}+\\frac{1}{2}\\\\-b+a+1\\end{array} \\right |,-\\frac{4\\,z}{\\left(1-z\\right)^2}\\right)}{\\left(1-z\\right)^{a}}\\]"
      ],
      "text/plain": [
       "(%o20) hypergeometric([a, b], [(- b) + a + 1], z) = \n",
       "                                a          a   1                        4 z\n",
       "                hypergeometric([-, (- b) + - + -], [(- b) + a + 1], - --------)\n",
       "                                2          2   2                             2\n",
       "                                                                      (1 - z)\n",
       "                ---------------------------------------------------------------\n",
       "                                                  a\n",
       "                                           (1 - z)"
      ],
      "text/x-maxima": [
       "hypergeometric([a,b],[(-b)+a+1],z) = hypergeometric([a/2,(-b)+a/2+1/2],\n",
       "                                                    [(-b)+a+1],-(4*z)/(1-z)^2)\n",
       "                                   /(1-z)^a"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DLMF15_8_16:hypergeometric([a,b],[a-b+1],z)=(1-z)^(-a)*hypergeometric([a/2,a/2-b+1/2],[a-b+1],-4*z/(1-z)^2);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "119a1567-4a51-4df5-be9d-522fe3481067",
   "metadata": {},
   "source": [
    "今度は$CL1$の左辺をターゲットとして$DLMF15\\_8\\_16$の右辺を睨んで$a,b$に代入する値を考えます。ここでは$a=b=\\frac12$が良さそうです。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "83397411-5386-442c-8bc7-b0ae065c0fbb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{29}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x\\right)=\\frac{F\\left( \\left. \\begin{array}{c}\\frac{1}{4},\\;\\frac{1}{4}\\\\1\\end{array} \\right |,-\\frac{4\\,x}{\\left(1-x\\right)^2}\\right)}{\\sqrt{1-x}}\\]"
      ],
      "text/plain": [
       "                                                        1  1            4 x\n",
       "                                        hypergeometric([-, -], [1], - --------)\n",
       "                                                        4  4                 2\n",
       "                       1  1                                           (1 - x)\n",
       "(%o29) hypergeometric([-, -], [1], x) = ---------------------------------------\n",
       "                       2  2                           sqrt(1 - x)"
      ],
      "text/x-maxima": [
       "hypergeometric([1/2,1/2],[1],x) = hypergeometric([1/4,1/4],[1],-(4*x)/(1-x)^2)\n",
       "                                /sqrt(1-x)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DLMF15_8_16,a=1/2,b=1/2,z:x;"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9ea084d-098a-45b8-a3fc-40ff73797cdd",
   "metadata": {},
   "source": [
    "この式の右辺を、$CL1$の左辺と同じになるように、両辺を自乗して$1-x$をかけます。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "7a80a1a8-fc66-4aa2-9f96-7489a3ec50a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{30}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x\\right)^2\\,\\left(1-x\\right)=F\\left( \\left. \\begin{array}{c}\\frac{1}{4},\\;\\frac{1}{4}\\\\1\\end{array} \\right |,-\\frac{4\\,x}{\\left(1-x\\right)^2}\\right)^2\\]"
      ],
      "text/plain": [
       "                     2  1  1\n",
       "(%o30) hypergeometric ([-, -], [1], x) (1 - x) = \n",
       "                        2  2\n",
       "                                                     2  1  1            4 x\n",
       "                                       hypergeometric ([-, -], [1], - --------)\n",
       "                                                        4  4                 2\n",
       "                                                                      (1 - x)"
      ],
      "text/x-maxima": [
       "hypergeometric([1/2,1/2],[1],x)^2*(1-x) = hypergeometric([1/4,1/4],[1],\n",
       "                                                         -(4*x)/(1-x)^2)\n",
       "                                        ^2"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%^2*(1-x);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e530ec61-3c6a-42b0-a115-3a88de2f5400",
   "metadata": {},
   "source": [
    "$CL1$を使って右辺を書き換えます。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f297b276-42a5-4433-9ecf-292784414a61",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{5}$}F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2}\\\\1\\end{array} \\right |,x\\right)^2\\,\\left(1-x\\right)=F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2},\\;\\frac{1}{2}\\\\1,\\;1\\end{array} \\right |,-\\frac{4\\,x}{\\left(1-x\\right)^2}\\right)\\]"
      ],
      "text/plain": [
       "                    2  1  1\n",
       "(%o5) hypergeometric ([-, -], [1], x) (1 - x) = \n",
       "                       2  2\n",
       "                                                  1  1  1               4 x\n",
       "                                  hypergeometric([-, -, -], [1, 1], - --------)\n",
       "                                                  2  2  2                    2\n",
       "                                                                      (1 - x)"
      ],
      "text/x-maxima": [
       "hypergeometric([1/2,1/2],[1],x)^2*(1-x) = hypergeometric([1/2,1/2,1/2],[1,1],\n",
       "                                                         -(4*x)/(1-x)^2)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%,CL1;"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3067acfa-2b1b-4a33-b0c6-b8c7398b6050",
   "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 |,x\\right)^2=\\frac{F\\left( \\left. \\begin{array}{c}\\frac{1}{2},\\;\\frac{1}{2},\\;\\frac{1}{2}\\\\1,\\;1\\end{array} \\right |,-\\frac{4\\,x}{\\left(1-x\\right)^2}\\right)}{1-x}\\]"
      ],
      "text/plain": [
       "                    2  1  1\n",
       "(%o6) hypergeometric ([-, -], [1], x) = \n",
       "                       2  2\n",
       "                                                  1  1  1               4 x\n",
       "                                  hypergeometric([-, -, -], [1, 1], - --------)\n",
       "                                                  2  2  2                    2\n",
       "                                                                      (1 - x)\n",
       "                                  ---------------------------------------------\n",
       "                                                      1 - x"
      ],
      "text/x-maxima": [
       "hypergeometric([1/2,1/2],[1],x)^2 = hypergeometric([1/2,1/2,1/2],[1,1],\n",
       "                                                   -(4*x)/(1-x)^2)\n",
       "                                  /(1-x)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%/(1-x);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "054d2ad8-d4d8-4c97-b7c2-85aa468d7b99",
   "metadata": {},
   "source": [
    "これで定理1の証明は終了です。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8aa39260-77c4-4358-81c0-5a4a97aec804",
   "metadata": {},
   "source": [
    "定理1の公式をもとにして定理2を証明します。そのために定理1の公式を書き換えます。まず$z={}_2F_1\\left(\\frac12,\\frac12;1;x\\right)$でした。ですから左辺は$z^2$です。また右辺はまず$-\\frac{4\\,x}{(1-x)^2}=-Y$を使って書き換えた上で、一般超幾何関数の定義に従って級数展開し、パラメータを代入すると、$$\\frac{1}{1-x}\\cdot \\sum_{k=0}^{\\infty}\\frac{\\left(\\frac12 \\right)_k\\,\\left(\\frac12 \\right)_k\\,\\left(\\frac12 \\right)_k\\,(-Y)^k}{(1)_k\\,(1)_k\\,k!}$$\n",
    "$(1)_k=k!$に注意すると結局次の式が得られます。\n",
    "$$z^2=\\frac{1}{1-x}\\cdot \\sum_{k=0}^{\\infty}\\frac{\\left(\\frac12 \\right)_k^3\\,(-1)^k\\,Y^k}{k!^3}$$\n",
    "以下ではこの式の両辺を微分するところから証明が始まります。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "12d299ce-731d-4623-9c8d-11f2d3a63554",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{7}$}\\left[ z\\left(x\\right) , Y\\left(x\\right) \\right] \\]"
      ],
      "text/plain": [
       "(%o7)                            [z(x), Y(x)]"
      ],
      "text/x-maxima": [
       "[z(x),Y(x)]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{8}$}z^2=\\frac{\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(-1\\right)^{k}\\,A_{k}}}{1-x}\\]"
      ],
      "text/plain": [
       "                                 inf\n",
       "                                 ====\n",
       "                                 \\      k      k\n",
       "                                  >    Y  (- 1)  A\n",
       "                                 /                k\n",
       "                                 ====\n",
       "                             2   k = 0\n",
       "(%o8)                       z  = ------------------\n",
       "                                       1 - x"
      ],
      "text/x-maxima": [
       "z^2 = ('sum(Y^k*(-1)^k*A[k],k,0,inf))/(1-x)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{9}$}2\\,z\\,\\left(\\frac{d}{d\\,x}\\,z\\right)=\\frac{\\frac{d}{d\\,x}\\,Y\\,\\sum_{k=0}^{\\infty }{Y^{k-1}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}}{1-x}+\\frac{\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(-1\\right)^{k}\\,A_{k}}}{\\left(1-x\\right)^2}\\]"
      ],
      "text/plain": [
       "                       inf                        inf\n",
       "                       ====                       ====\n",
       "                    dY \\      k - 1        k      \\      k      k\n",
       "                    --  >    Y      k (- 1)  A     >    Y  (- 1)  A\n",
       "                    dx /                      k   /                k\n",
       "                       ====                       ====\n",
       "               dz      k = 0                      k = 0\n",
       "(%o9)      2 z -- = --------------------------- + ------------------\n",
       "               dx              1 - x                          2\n",
       "                                                       (1 - x)"
      ],
      "text/x-maxima": [
       "2*z*'diff(z,x,1) = ('diff(Y,x,1)*'sum(Y^(k-1)*k*(-1)^k*A[k],k,0,inf))/(1-x)\n",
       "                 +('sum(Y^k*(-1)^k*A[k],k,0,inf))/(1-x)^2"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "depends([z,Y],x);\n",
    "D1:z^2=sum((-Y)^k*A[k],k,0,inf)/(1-x);\n",
    "DD1:diff(D1,x);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "246b732a-8cc5-429c-a42c-ddd775eca0ab",
   "metadata": {},
   "source": [
    "右辺の第1項の$Y$の指数を$k$にするために第1項を$Y$倍して$\\frac{4\\,x}{(1-x)^2}=Y$で割る操作を行い$D2$とします。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "14b0fc93-6a5c-4892-8568-66c12851986c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{10}$}2\\,z\\,\\left(\\frac{d}{d\\,x}\\,z\\right)=\\frac{\\frac{d}{d\\,x}\\,Y\\,\\left(\\sum_{k=0}^{\\infty }{Y^{k}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)\\,\\left(1-x\\right)}{4\\,x}+\\frac{\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(-1\\right)^{k}\\,A_{k}}}{\\left(1-x\\right)^2}\\]"
      ],
      "text/plain": [
       "                     inf                             inf\n",
       "                     ====                            ====\n",
       "                 dY  \\      k        k               \\      k      k\n",
       "                 -- ( >    Y  k (- 1)  A ) (1 - x)    >    Y  (- 1)  A\n",
       "                 dx  /                  k            /                k\n",
       "                     ====                            ====\n",
       "            dz       k = 0                           k = 0\n",
       "(%o10)  2 z -- = --------------------------------- + ------------------\n",
       "            dx                  4 x                              2\n",
       "                                                          (1 - x)"
      ],
      "text/x-maxima": [
       "2*z*'diff(z,x,1) = ('diff(Y,x,1)*('sum(Y^k*k*(-1)^k*A[k],k,0,inf))*(1-x))\n",
       "                 /(4*x)\n",
       "                 +('sum(Y^k*(-1)^k*A[k],k,0,inf))/(1-x)^2"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D2:substpart(subst(Y^k,Y^(k-1),part(DD1,2,1,1))/(4*x/(1-x)^2),DD1,2,1,1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "73362532-45ab-46b5-9bc1-ffc7dee7eba2",
   "metadata": {},
   "source": [
    "$Y$は$x$の式ですからその微分は簡単に計算できます。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "0f623818-23fa-497a-aef5-617aa9fe15c6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{11}$}\\frac{d}{d\\,x}\\,Y=\\frac{8\\,x}{\\left(1-x\\right)^3}+\\frac{4}{\\left(1-x\\right)^2}\\]"
      ],
      "text/plain": [
       "                           dY     8 x         4\n",
       "(%o11)                     -- = -------- + --------\n",
       "                           dx          3          2\n",
       "                                (1 - x)    (1 - x)"
      ],
      "text/x-maxima": [
       "'diff(Y,x,1) = (8*x)/(1-x)^3+4/(1-x)^2"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D3:diff(Y,x)=diff(4*x/(1-x)^2,x);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f10ad1a-0d3a-4cf1-b0bf-df912db07165",
   "metadata": {},
   "source": [
    "このこの微分の結果を$D2$の右辺第1項に見える微分に代入し結果を$D4$とします。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "d73a164d-f0c9-41a9-888d-0bd620446781",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{12}$}2\\,z\\,\\left(\\frac{d}{d\\,x}\\,z\\right)=\\frac{\\left(\\sum_{k=0}^{\\infty }{Y^{k}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}+\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)\\,x+\\sum_{k=0}^{\\infty }{Y^{k}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}}{x^3-2\\,x^2+x}\\]"
      ],
      "text/plain": [
       "           dz\n",
       "(%o12) 2 z -- = \n",
       "           dx\n",
       "            inf                    inf                     inf\n",
       "            ====                   ====                    ====\n",
       "            \\      k        k      \\      k      k         \\      k        k\n",
       "           ( >    Y  k (- 1)  A  +  >    Y  (- 1)  A ) x +  >    Y  k (- 1)  A\n",
       "            /                  k   /                k      /                  k\n",
       "            ====                   ====                    ====\n",
       "            k = 0                  k = 0                   k = 0\n",
       "           --------------------------------------------------------------------\n",
       "                                       3      2\n",
       "                                      x  - 2 x  + x"
      ],
      "text/x-maxima": [
       "2*z*'diff(z,x,1) = (('sum(Y^k*k*(-1)^k*A[k],k,0,inf)\n",
       "                 +'sum(Y^k*(-1)^k*A[k],k,0,inf))\n",
       "                 *x\n",
       "                 +'sum(Y^k*k*(-1)^k*A[k],k,0,inf))\n",
       "                 /(x^3-2*x^2+x)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "D4:D2,D3,ratsimp;"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc2de850-1a1b-43db-83f5-a35efcb85cd0",
   "metadata": {},
   "source": [
    "アイゼンシュタイン級数の変換公式を思い出します。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "af429b09-b792-4d72-9905-c91a7ae724c7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{13}$}P\\left(q^2\\right)=6\\,\\left(1-x\\right)\\,x\\,z\\,\\left(\\frac{d}{d\\,x}\\,z\\right)+\\left(1-2\\,x\\right)\\,z^2\\]"
      ],
      "text/plain": [
       "                       2                  dz              2\n",
       "(%o13)              P(q ) = 6 (1 - x) x z -- + (1 - 2 x) z\n",
       "                                          dx"
      ],
      "text/x-maxima": [
       "P(q^2) = 6*(1-x)*x*z*'diff(z,x,1)+(1-2*x)*z^2"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "EIZ:P(q^2)=(1-2*x)*z^2+6*x*(1-x)*z*diff(z,x);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f84b0df-10ca-4cec-907b-c9bfba7be670",
   "metadata": {},
   "source": [
    "この式の微分の部分に$D4$を$2\\,z$で割った式を代入し$EIZ2$とします。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "6e84f451-b3ee-43fb-bb69-59804d5000ca",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{14}$}P\\left(q^2\\right)=\\left(1-2\\,x\\right)\\,z^2+\\frac{3\\,\\left(1-x\\right)\\,x\\,\\left(\\left(\\sum_{k=0}^{\\infty }{Y^{k}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}+\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)\\,x+\\sum_{k=0}^{\\infty }{Y^{k}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)}{x^3-2\\,x^2+x}\\]"
      ],
      "text/plain": [
       "          2               2\n",
       "(%o14) P(q ) = (1 - 2 x) z  + (3 (1 - x) x\n",
       "   inf                    inf                     inf\n",
       "   ====                   ====                    ====\n",
       "   \\      k        k      \\      k      k         \\      k        k\n",
       " (( >    Y  k (- 1)  A  +  >    Y  (- 1)  A ) x +  >    Y  k (- 1)  A ))\n",
       "   /                  k   /                k      /                  k\n",
       "   ====                   ====                    ====\n",
       "   k = 0                  k = 0                   k = 0\n",
       "   3      2\n",
       "/(x  - 2 x  + x)"
      ],
      "text/x-maxima": [
       "P(q^2) = (1-2*x)*z^2+(3*(1-x)*x\n",
       "                       *(('sum(Y^k*k*(-1)^k*A[k],k,0,inf)\n",
       "                        +'sum(Y^k*(-1)^k*A[k],k,0,inf))\n",
       "                        *x\n",
       "                        +'sum(Y^k*k*(-1)^k*A[k],k,0,inf)))\n",
       "                     /(x^3-2*x^2+x)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "EIZ2:EIZ,D4/(2*z);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9a473f4-b3c6-4b66-80d2-7196092df092",
   "metadata": {},
   "source": [
    "$EIZ2$の右辺第1項に見える$z^2$に$z^2=\\frac{1}{1-x}\\cdot \\sum_{k=0}^{\\infty}\\frac{\\left(\\frac12 \\right)_k^3\\,(-1)^k\\,Y^k}{k!^3}$を代入し整理した結果を$EIZ3$とします。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "61d2359c-ad41-4b4d-8075-daf2df618a39",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{31}$}P\\left(q^2\\right)=-\\frac{\\left(3\\,\\sum_{k=0}^{\\infty }{Y^{k}\\,k\\,\\left(-1\\right)^{k}\\,A_{k}}+\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)\\,\\left(x+1\\right)}{x-1}\\]"
      ],
      "text/plain": [
       "                     inf                    inf\n",
       "                     ====                   ====\n",
       "                     \\      k        k      \\      k      k\n",
       "                  (3  >    Y  k (- 1)  A  +  >    Y  (- 1)  A ) (x + 1)\n",
       "                     /                  k   /                k\n",
       "                     ====                   ====\n",
       "           2         k = 0                  k = 0\n",
       "(%o31)  P(q ) = - -----------------------------------------------------\n",
       "                                          x - 1"
      ],
      "text/x-maxima": [
       "P(q^2) = -((3*'sum(Y^k*k*(-1)^k*A[k],k,0,inf)+'sum(Y^k*(-1)^k*A[k],k,0,inf))\n",
       "       *(x+1))\n",
       "       /(x-1)"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "EIZ3:EIZ2,D1,factor;"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86d345a3-cda5-45a6-aa3b-a1e0546a32fc",
   "metadata": {},
   "source": [
    "右辺の分子に現れる$3$を総和記号の中に移し、2つの総和記号をまとめ、それを整理してまとめると次の式になります。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "83d99386-fbea-4926-b45b-c7e5ad59523b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{33}$}P\\left(q^2\\right)=-\\frac{\\left(\\sum_{k=0}^{\\infty }{Y^{k}\\,\\left(3\\,k+1\\right)\\,\\left(-1\\right)^{k}\\,A_{k}}\\right)\\,\\left(x+1\\right)}{x-1}\\]"
      ],
      "text/plain": [
       "                          inf\n",
       "                          ====\n",
       "                          \\      k                k\n",
       "                         ( >    Y  (3 k + 1) (- 1)  A ) (x + 1)\n",
       "                          /                          k\n",
       "                          ====\n",
       "                  2       k = 0\n",
       "(%o33)         P(q ) = - --------------------------------------\n",
       "                                         x - 1"
      ],
      "text/x-maxima": [
       "P(q^2) = -(('sum(Y^k*(3*k+1)*(-1)^k*A[k],k,0,inf))*(x+1))/(x-1)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "substpart(factor(sumcontract(intosum(part(EIZ3,2,1,1,1,1))+part(EIZ3,2,1,1,1,2))),EIZ3,2,1,1,1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aeec9c4c-aa18-4622-9cc5-e7a47a416650",
   "metadata": {},
   "source": [
    "これで定理2の第1式の照明は終了しました。
\n",
    "\n",
    "第2式の証明は簡単です。$q=e^{-\\pi\\,\\sqrt{n}}$のとき$x=x_n, Y=Y_n$なのでこれらを代入します。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "3440421c-14e2-4b16-9625-0543957a6156",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "\\[\\tag{${\\it \\%o}_{17}$}P\\left(e^ {- 2\\,\\pi\\,\\sqrt{n} }\\right)=-\\frac{\\left(x_{n}+1\\right)\\,\\sum_{k=0}^{\\infty }{\\left(3\\,k+1\\right)\\,\\left(-1\\right)^{k}\\,A_{k}\\,Y_{n}^{k}}}{x_{n}-1}\\]"
      ],
      "text/plain": [
       "                                          inf\n",
       "                                          ====\n",
       "                                          \\                    k     k\n",
       "                                 (x  + 1)  >    (3 k + 1) (- 1)  A  Y\n",
       "                                   n      /                       k  n\n",
       "                                          ====\n",
       "            - 2 %pi sqrt(n)               k = 0\n",
       "(%o17)  P(%e               ) = - -------------------------------------\n",
       "                                                x  - 1\n",
       "                                                 n"
      ],
      "text/x-maxima": [
       "P(%e^-(2*%pi*sqrt(n))) = -((x[n]+1)*'sum((3*k+1)*(-1)^k*A[k]*Y[n]^k,k,0,inf))\n",
       "                       /(x[n]-1)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%,q=exp(-%pi*sqrt(n)),Y=Y[n],x=x[n];"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3db027fc-8989-45cf-b732-b5f4c65a2776",
   "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.46.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}