{ "cells": [ { "cell_type": "markdown", "id": "eefca126-0432-4a34-810f-51b7fdac0c81", "metadata": {}, "source": [ "### ガウス超幾何関数の2次変換公式\n", "$${}_2F_1\\left(a,b;\\frac{a+b+1}{2};z\\right)={}_2F_1\\left(\\frac{a}{2},\\frac{b}{2}; \\frac{a+b+1}{2}; 4\\,z\\,(1-z)\\right)$$\n", "を証明します。

\n", "\n", "証明の方針は公式の右辺と左辺が同じ微分方程式を満足すること、初期値が十分に等しいことを示すこととします。\n", "この証明は[子葉さんの記事](https://mathlog.info/articles/1980)の定理4(2次変換公式)をほぼそのままMaximaの式変形コマンドに直したものになっています。

\n", "\n", "まず平行代入のための道具をロードしておきます。" ] }, { "cell_type": "code", "execution_count": 1, "id": "30f10a0a-2f2c-4a45-bce0-fe495e0af88b", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{0}$}\\mbox{ /Users/yasube/Programming2/maxima-5.44.0-install/share/maxima/5.44.0/share/to\\_poly\\_solve/to\\_poly\\_solve\\_extra.lisp }\\]" ], "text/plain": [ "(%o0) /Users/yasube/Programming2/maxima-5.44.0-install/share/maxima/5.44.0/sha\\\n", "re/to_poly_solve/to_poly_solve_extra.lisp" ], "text/x-maxima": [ "\"/Users/yasube/Programming2/maxima-5.44.0-install/share/maxima/5.44.0/share/to_poly_solve/to_poly_solve_extra.lisp\"" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ "SB-KERNEL:REDEFINITION-WITH-DEFUN: redefining MAXIMA::$NONNEGINTEGERP in DEFUN\n", "SB-KERNEL:REDEFINITION-WITH-DEFUN: redefining MAXIMA::$POLYNOMIALP in DEFUN\n", "SB-KERNEL:REDEFINITION-WITH-DEFUN: redefining MAXIMA::POLYNOMIALP in DEFUN\n", "SB-KERNEL:REDEFINITION-WITH-DEFMACRO: redefining MAXIMA::OPAPPLY in DEFMACRO\n", "SB-KERNEL:REDEFINITION-WITH-DEFMACRO: redefining MAXIMA::OPCONS in DEFMACRO\n" ] } ], "source": [ "load(\"to_poly_solve_extra.lisp\");" ] }, { "cell_type": "markdown", "id": "05b4b184-9cfb-463b-a3e9-c3c37a58fe2f", "metadata": {}, "source": [ "以下のDFはガウス超幾何関数$F(x)={}_2F_1(a,b;c;z)$が満たす超幾何微分方程式です。" ] }, { "cell_type": "code", "execution_count": 2, "id": "5689776d-5275-4243-9d79-a6535ccdabdc", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{1}$}\\left(x-x^2\\right)\\,\\left(\\frac{d^2}{d\\,x^2}\\,F\\left(x\\right)\\right)+\\left(\\left(-b-a-1\\right)\\,x+c\\right)\\,\\left(\\frac{d}{d\\,x}\\,F\\left(x\\right)\\right)-a\\,b\\,F\\left(x\\right)=0\\]" ], "text/plain": [ " 2\n", " 2 d d\n", "(%o1) (x - x ) (--- (F(x))) + (((- b) - a - 1) x + c) (-- (F(x))) - a b F(x) = \n", " 2 dx\n", " dx\n", " 0" ], "text/x-maxima": [ "(x-x^2)*'diff(F(x),x,2)+(((-b)-a-1)*x+c)*'diff(F(x),x,1)-a*b*F(x) = 0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF:(x-x^2)*diff(F(x),x,2)+((-b-a-1)*x+c)*diff(F(x),x)-a*b*F(x)=0;" ] }, { "cell_type": "markdown", "id": "ce8ce8f2-7206-44b6-b586-23a6089e010d", "metadata": {}, "source": [ "以下のDF1は公式の左辺$F(z)={}_2F_1\\left(a,b;\\frac{a+b+1}{2};z\\right)$が満たす微分方程式です。超幾何微分方程式の$c$に$\\frac{a+b+1}{2}$を代入して得られます。" ] }, { "cell_type": "code", "execution_count": 3, "id": "62e9ee08-7bcf-4f65-983a-eb325a0adf23", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{2}$}\\left(z-z^2\\right)\\,\\left(\\frac{d^2}{d\\,z^2}\\,F\\left(z\\right)\\right)+\\left(\\left(-b-a-1\\right)\\,z+\\frac{b+a+1}{2}\\right)\\,\\left(\\frac{d}{d\\,z}\\,F\\left(z\\right)\\right)-a\\,b\\,F\\left(z\\right)=0\\]" ], "text/plain": [ " 2\n", " 2 d b + a + 1 d\n", "(%o2) (z - z ) (--- (F(z))) + (((- b) - a - 1) z + ---------) (-- (F(z)))\n", " 2 2 dz\n", " dz\n", " - a b F(z) = 0" ], "text/x-maxima": [ "(z-z^2)*'diff(F(z),z,2)+(((-b)-a-1)*z+(b+a+1)/2)*'diff(F(z),z,1)-a*b*F(z) = 0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF1:subst_parallel([c=(a+b+1)/2,x=z],DF);" ] }, { "cell_type": "markdown", "id": "6f2cd188-977f-47bd-8097-197d5c80c98d", "metadata": {}, "source": [ "公式の右辺を$G(z)={}_2F_1\\left(\\frac{a}{2},\\frac{b}{2}; \\frac{a+b+1}{2}; 4\\,z\\,(1-z)\\right)$とします。またこの右辺で$w=4\\,z\\,(1-z)$とした$g(w)={}_2F_1\\left(\\frac{a}{2},\\frac{b}{2}; \\frac{a+b+1}{2}; w\\right)$とします。次の式が成り立ちます。\n", "$$G(z)=g(w)$$\n", "以下のDF2は$g(w)$が満たす微分方程式です。" ] }, { "cell_type": "code", "execution_count": 4, "id": "58e1479b-9393-4c4c-9b5d-70e6e4a20828", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{3}$}\\left(w-w^2\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)+\\left(\\left(-\\frac{b}{2}-\\frac{a}{2}-1\\right)\\,w+\\frac{b+a+1}{2}\\right)\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)-\\frac{a\\,b\\,g\\left(w\\right)}{4}=0\\]" ], "text/plain": [ " 2\n", " 2 d b a b + a + 1 d\n", "(%o3) (w - w ) (--- (g(w))) + (((- -) - - - 1) w + ---------) (-- (g(w)))\n", " 2 2 2 2 dw\n", " dw\n", " a b g(w)\n", " - -------- = 0\n", " 4" ], "text/x-maxima": [ "(w-w^2)*'diff(g(w),w,2)+(((-b/2)-a/2-1)*w+(b+a+1)/2)*'diff(g(w),w,1)\n", " -(a*b*g(w))/4\n", " = 0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF2:subst_parallel([F=g,a=a/2,b=b/2,c=(a+b+1)/2,x=w],DF);" ] }, { "cell_type": "markdown", "id": "965b4d5f-c81d-42e0-b088-acd4024c50ee", "metadata": {}, "source": [ "ここからは$G(z)$の1階微分、2階微分を計算し、それらをDF1の左辺の$F(z)$に代入して整理すると$0$になること、従って$G(z)$もDF1を満たすことを示します。

\n", "\n", "まず$\\frac{d}{d\\,z}\\,G(z)$を、合成関数の微分および$w=4\\,z\\,(1-z)$を使って計算し、結果をD1とします。" ] }, { "cell_type": "code", "execution_count": 5, "id": "244f100b-0cd1-48e7-8e5f-e17c1cc39609", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{4}$}\\left[ w\\left(z\\right) \\right] \\]" ], "text/plain": [ "(%o4) [w(z)]" ], "text/x-maxima": [ "[w(z)]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{5}$}G\\left(z\\right)=g\\left(w\\right)\\]" ], "text/plain": [ "(%o5) G(z) = g(w)" ], "text/x-maxima": [ "G(z) = g(w)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{6}$}\\frac{d}{d\\,z}\\,G\\left(z\\right)=\\frac{d}{d\\,z}\\,w\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\]" ], "text/plain": [ " d dw d\n", "(%o6) -- (G(z)) = -- (-- (g(w)))\n", " dz dz dw" ], "text/x-maxima": [ "'diff(G(z),z,1) = 'diff(w,z,1)*'diff(g(w),w,1)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{7}$}\\frac{d}{d\\,z}\\,G\\left(z\\right)=\\frac{d}{d\\,w}\\,g\\left(w\\right)\\,\\left(4\\,\\left(1-z\\right)-4\\,z\\right)\\]" ], "text/plain": [ " d d\n", "(%o7) -- (G(z)) = (-- (g(w))) (4 (1 - z) - 4 z)\n", " dz dw" ], "text/x-maxima": [ "'diff(G(z),z,1) = 'diff(g(w),w,1)*(4*(1-z)-4*z)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "depends(w,z);\n", "D0:G(z)=g(w);\n", "diff(G(z),z)=diff(g(w),w)*diff(w,z);\n", "D1:%,diff(w,z)=diff(4*(1-z)*z,z);" ] }, { "cell_type": "markdown", "id": "60dd9d04-d5c9-41ca-bacb-2fe649170876", "metadata": {}, "source": [ "D1を微分することで$G(z)$の2階微分を計算します。またこの段階で$z$と$w$の関係式を使うことで計算結果から$z$を消去しておきます。その結果をD2とします。" ] }, { "cell_type": "code", "execution_count": 6, "id": "7e954208-4065-407f-9550-d455b9dddf4e", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{8}$}\\frac{d^2}{d\\,z^2}\\,G\\left(z\\right)=\\frac{d^2}{d\\,w\\,d\\,z}\\,g\\left(w\\right)\\,\\left(4\\,\\left(1-z\\right)-4\\,z\\right)-8\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\]" ], "text/plain": [ " 2 2\n", " d d d\n", "(%o8) --- (G(z)) = (----- (g(w))) (4 (1 - z) - 4 z) - 8 (-- (g(w)))\n", " 2 dw dz dw\n", " dz" ], "text/x-maxima": [ "'diff(G(z),z,2) = 'diff(g(w),w,1,z,1)*(4*(1-z)-4*z)-8*'diff(g(w),w,1)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{9}$}\\frac{d^2}{d\\,z^2}\\,G\\left(z\\right)=\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\,\\left(4\\,\\left(1-z\\right)-4\\,z\\right)^2-8\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\]" ], "text/plain": [ " 2 2\n", " d d 2 d\n", "(%o9) --- (G(z)) = (--- (g(w))) (4 (1 - z) - 4 z) - 8 (-- (g(w)))\n", " 2 2 dw\n", " dz dw" ], "text/x-maxima": [ "'diff(G(z),z,2) = 'diff(g(w),w,2)*(4*(1-z)-4*z)^2-8*'diff(g(w),w,1)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{10}$}\\left[ 16-16\\,w \\right] \\]" ], "text/plain": [ "(%o10) [16 - 16 w]" ], "text/x-maxima": [ "[16-16*w]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{11}$}\\frac{d^2}{d\\,z^2}\\,G\\left(z\\right)=\\left(16-16\\,w\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)-8\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\]" ], "text/plain": [ " 2 2\n", " d d d\n", "(%o11) --- (G(z)) = (16 - 16 w) (--- (g(w))) - 8 (-- (g(w)))\n", " 2 2 dw\n", " dz dw" ], "text/x-maxima": [ "'diff(G(z),z,2) = (16-16*w)*'diff(g(w),w,2)-8*'diff(g(w),w,1)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(D1,z);\n", "DD:%,diff(diff(g(w),w),z)=diff(diff(g(w),w),w)*diff(4*(1-z)*z,z);\n", "EL:eliminate([k=(4*(1-z)-4*z)^2,w=4*z-4*z^2],[z,k]);\n", "D2:subst(EL[1],(4*(1-z)-4*z)^2,DD);" ] }, { "cell_type": "markdown", "id": "56251a14-5138-48ab-90ff-10f7ecb54f11", "metadata": {}, "source": [ "DF1の左辺の$F(z)$に$G(z)$を代入してみます。" ] }, { "cell_type": "code", "execution_count": 7, "id": "f74d7372-dc49-46bc-9b69-8c36245b4c69", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{12}$}\\left(z-z^2\\right)\\,\\left(\\frac{d^2}{d\\,z^2}\\,G\\left(z\\right)\\right)+\\left(\\left(-b-a-1\\right)\\,z+\\frac{b+a+1}{2}\\right)\\,\\left(\\frac{d}{d\\,z}\\,G\\left(z\\right)\\right)-a\\,b\\,G\\left(z\\right)\\]" ], "text/plain": [ " 2\n", " 2 d b + a + 1 d\n", "(%o12) (z - z ) (--- (G(z))) + (((- b) - a - 1) z + ---------) (-- (G(z)))\n", " 2 2 dz\n", " dz\n", " - a b G(z)" ], "text/x-maxima": [ "(z-z^2)*'diff(G(z),z,2)+(((-b)-a-1)*z+(b+a+1)/2)*'diff(G(z),z,1)-a*b*G(z)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lhs(DF1),F=G;" ] }, { "cell_type": "markdown", "id": "610e1089-0e5b-465e-8a2a-086405d34073", "metadata": {}, "source": [ "すでに求めた$G(z)$の1階微分、2階微分、及び定義式そのものを上記の式に代入し、DF3とします。" ] }, { "cell_type": "code", "execution_count": 8, "id": "2c627d4a-ac10-4cbe-a5f3-b47439ef9906", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{13}$}\\left(\\left(16-16\\,w\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)-8\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\right)\\,\\left(z-z^2\\right)+\\frac{d}{d\\,w}\\,g\\left(w\\right)\\,\\left(4\\,\\left(1-z\\right)-4\\,z\\right)\\,\\left(\\left(-b-a-1\\right)\\,z+\\frac{b+a+1}{2}\\right)-a\\,b\\,g\\left(w\\right)\\]" ], "text/plain": [ " 2\n", " d d 2\n", "(%o13) ((16 - 16 w) (--- (g(w))) - 8 (-- (g(w)))) (z - z )\n", " 2 dw\n", " dw\n", " d b + a + 1\n", " + (-- (g(w))) (4 (1 - z) - 4 z) (((- b) - a - 1) z + ---------) - a b g(w)\n", " dw 2" ], "text/x-maxima": [ "((16-16*w)*'diff(g(w),w,2)-8*'diff(g(w),w,1))*(z-z^2)\n", " +'diff(g(w),w,1)*(4*(1-z)-4*z)*(((-b)-a-1)*z+(b+a+1)/2)-a*b*g(w)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF3:%,D1,D2,D0;" ] }, { "cell_type": "markdown", "id": "0b959882-69b2-4948-bb18-ba7a0a2dd4cd", "metadata": {}, "source": [ "DF3は3つの項の和になっています。それぞれの項に含まれる変数$z$を$w$の式に置き換えることで消去します。" ] }, { "cell_type": "code", "execution_count": 9, "id": "079ec7ea-766b-4554-b020-1b92c4bd49f3", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{14}$}\\left(4\\,w-4\\,w^2\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)-2\\,w\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\]" ], "text/plain": [ " 2\n", " 2 d d\n", "(%o14) (4 w - 4 w ) (--- (g(w))) - 2 w (-- (g(w)))\n", " 2 dw\n", " dw" ], "text/x-maxima": [ "(4*w-4*w^2)*'diff(g(w),w,2)-2*w*'diff(g(w),w,1)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF31:args(DF3)[1],z-z^2=w/4,ratsimp;" ] }, { "cell_type": "code", "execution_count": 10, "id": "4466a3ce-b2c2-4db8-960d-296dd10fb352", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{15}$}2\\,\\left(b+a+1\\right)\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\,\\left(2\\,z-1\\right)^2\\]" ], "text/plain": [ " d 2\n", "(%o15) 2 (b + a + 1) (-- (g(w))) (2 z - 1)\n", " dw" ], "text/x-maxima": [ "2*(b+a+1)*'diff(g(w),w,1)*(2*z-1)^2" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{16}$}2\\,\\left(b+a+1\\right)\\,\\left(1-w\\right)\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)\\]" ], "text/plain": [ " d\n", "(%o16) 2 (b + a + 1) (1 - w) (-- (g(w)))\n", " dw" ], "text/x-maxima": [ "2*(b+a+1)*(1-w)*'diff(g(w),w,1)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factor(args(DF3)[2]);\n", "DF32:%,(2*z-1)^2=1-w;" ] }, { "cell_type": "code", "execution_count": 11, "id": "4dc95ff3-eef5-43a8-be7c-d41a95b60854", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{17}$}-a\\,b\\,g\\left(w\\right)\\]" ], "text/plain": [ "(%o17) - a b g(w)" ], "text/x-maxima": [ "-a*b*g(w)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF33:args(DF3)[3];" ] }, { "cell_type": "markdown", "id": "0fb88307-036a-40c6-85bb-0611a4e89915", "metadata": {}, "source": [ "等式変形の結果のDF31, DF32, DF33を足すことでDF3と等しい式を求めます。" ] }, { "cell_type": "code", "execution_count": 12, "id": "0dbc4df3-50cc-4ff8-8085-ea5fd9129575", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{18}$}\\left(4\\,w-4\\,w^2\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)-2\\,w\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)+2\\,\\left(b+a+1\\right)\\,\\left(1-w\\right)\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)-a\\,b\\,g\\left(w\\right)\\]" ], "text/plain": [ " 2\n", " 2 d d\n", "(%o18) (4 w - 4 w ) (--- (g(w))) - 2 w (-- (g(w)))\n", " 2 dw\n", " dw\n", " d\n", " + 2 (b + a + 1) (1 - w) (-- (g(w))) - a b g(w)\n", " dw" ], "text/x-maxima": [ "(4*w-4*w^2)*'diff(g(w),w,2)-2*w*'diff(g(w),w,1)\n", " +2*(b+a+1)*(1-w)*'diff(g(w),w,1)-a*b*g(w)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DF31+DF32+DF33;" ] }, { "cell_type": "markdown", "id": "7f1fa2b3-09d3-4553-a455-d71006c05291", "metadata": {}, "source": [ "上記の式からDF2の左辺を4倍した式(それはゼロなのですが)を引いてみます。" ] }, { "cell_type": "code", "execution_count": 13, "id": "56bc2ead-5317-49ee-815b-7a2664fbe926", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{19}$}-4\\,\\left(\\left(w-w^2\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)+\\left(\\left(-\\frac{b}{2}-\\frac{a}{2}-1\\right)\\,w+\\frac{b+a+1}{2}\\right)\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)-\\frac{a\\,b\\,g\\left(w\\right)}{4}\\right)+\\left(4\\,w-4\\,w^2\\right)\\,\\left(\\frac{d^2}{d\\,w^2}\\,g\\left(w\\right)\\right)-2\\,w\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)+2\\,\\left(b+a+1\\right)\\,\\left(1-w\\right)\\,\\left(\\frac{d}{d\\,w}\\,g\\left(w\\right)\\right)-a\\,b\\,g\\left(w\\right)\\]" ], "text/plain": [ " 2\n", " 2 d b a b + a + 1\n", "(%o19) (- 4 ((w - w ) (--- (g(w))) + (((- -) - - - 1) w + ---------)\n", " 2 2 2 2\n", " dw\n", " 2\n", " d a b g(w) 2 d d\n", " (-- (g(w))) - --------)) + (4 w - 4 w ) (--- (g(w))) - 2 w (-- (g(w)))\n", " dw 4 2 dw\n", " dw\n", " d\n", " + 2 (b + a + 1) (1 - w) (-- (g(w))) - a b g(w)\n", " dw" ], "text/x-maxima": [ "(-4*((w-w^2)*'diff(g(w),w,2)+(((-b/2)-a/2-1)*w+(b+a+1)/2)*'diff(g(w),w,1)\n", " -(a*b*g(w))/4))\n", " +(4*w-4*w^2)*'diff(g(w),w,2)-2*w*'diff(g(w),w,1)\n", " +2*(b+a+1)*(1-w)*'diff(g(w),w,1)-a*b*g(w)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%-lhs(DF2)*4;" ] }, { "cell_type": "code", "execution_count": 14, "id": "04c96484-20a2-4695-80d6-58cc3fa51648", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{20}$}0\\]" ], "text/plain": [ "(%o20) 0" ], "text/x-maxima": [ "0" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ratsimp(%);" ] }, { "cell_type": "markdown", "id": "e14f35c2-deae-416d-a292-fd6875394253", "metadata": {}, "source": [ "これでDF3が実は$0$と等しいこと、従って$G(z)$はDF1を満たすことが証明できました。" ] }, { "cell_type": "markdown", "id": "09a94616-8569-4769-881c-6b6f5ee443a1", "metadata": {}, "source": [ "最後に$F(0)=G(0), F'(0)=G'(0), F''(0)=G''(0)$を示します。これらは定義に戻って示しても良いのですが、面倒なので、これらの微分係数を全てMaximaで数式計算して等しいことを示します。" ] }, { "cell_type": "code", "execution_count": 23, "id": "c6b85ada-3f46-4276-81c2-9b8777609239", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{42}$}F\\left(x\\right):=F\\left( \\left. \\begin{array}{c}a,\\;b\\\\\\frac{a+b+1}{2}\\end{array} \\right |,x\\right)\\]" ], "text/plain": [ " a + b + 1\n", "(%o42) F(x) := hypergeometric([a, b], [---------], x)\n", " 2" ], "text/x-maxima": [ "F(x):=hypergeometric([a,b],[(a+b+1)/2],x)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{43}$}{\\it DF}\\left(x\\right):=\\frac{2\\,a\\,F\\left( \\left. \\begin{array}{c}a+1,\\;b+1\\\\\\frac{b+a+1}{2}+1\\end{array} \\right |,x\\right)\\,b}{b+a+1}\\]" ], "text/plain": [ " b + a + 1\n", " 2 a hypergeometric([a + 1, b + 1], [--------- + 1], x) b\n", " 2\n", "(%o43) DF(x) := --------------------------------------------------------\n", " b + a + 1" ], "text/x-maxima": [ "DF(x):=(2*a*hypergeometric([a+1,b+1],[(b+a+1)/2+1],x)*b)/(b+a+1)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{44}$}{\\it DDF}\\left(x\\right):=\\frac{2\\,a\\,\\left(a+1\\right)\\,F\\left( \\left. \\begin{array}{c}a+2,\\;b+2\\\\\\frac{b+a+1}{2}+2\\end{array} \\right |,x\\right)\\,b\\,\\left(b+1\\right)}{\\left(b+a+1\\right)\\,\\left(\\frac{b+a+1}{2}+1\\right)}\\]" ], "text/plain": [ "(%o44) DDF(x) := \n", " b + a + 1\n", " 2 a (a + 1) hypergeometric([a + 2, b + 2], [--------- + 2], x) b (b + 1)\n", " 2\n", " ------------------------------------------------------------------------\n", " b + a + 1\n", " (b + a + 1) (--------- + 1)\n", " 2" ], "text/x-maxima": [ "DDF(x):=(2*a*(a+1)*hypergeometric([a+2,b+2],[(b+a+1)/2+2],x)*b*(b+1))\n", " /((b+a+1)*((b+a+1)/2+1))" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{45}$}\\left[ 1 , \\frac{2\\,a\\,b}{b+a+1} , \\frac{\\left(4\\,a^2+4\\,a\\right)\\,b^2+\\left(4\\,a^2+4\\,a\\right)\\,b}{b^2+\\left(2\\,a+4\\right)\\,b+a^2+4\\,a+3} \\right] \\]" ], "text/plain": [ " 2 2 2\n", " 2 a b (4 a + 4 a) b + (4 a + 4 a) b\n", "(%o45) [1, ---------, --------------------------------]\n", " b + a + 1 2 2\n", " b + (2 a + 4) b + a + 4 a + 3" ], "text/x-maxima": [ "[1,(2*a*b)/(b+a+1),((4*a^2+4*a)*b^2+(4*a^2+4*a)*b)/(b^2+(2*a+4)*b+a^2+4*a+3)]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F(x):=hypergeometric([a,b],[(a+b+1)/2],x);\n", "define(DF(x),diff(F(x),x));\n", "define(DDF(x),diff(F(x),x,2));\n", "[F(0),DF(0),DDF(0)],ratsimp;" ] }, { "cell_type": "code", "execution_count": 22, "id": "58f56405-b360-4b87-a2fa-45dc779bacd6", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{38}$}G\\left(x\\right):=F\\left( \\left. \\begin{array}{c}\\frac{a}{2},\\;\\frac{b}{2}\\\\\\frac{a+b+1}{2}\\end{array} \\right |,4\\,x\\,\\left(1-x\\right)\\right)\\]" ], "text/plain": [ " a b a + b + 1\n", "(%o38) G(x) := hypergeometric([-, -], [---------], 4 x (1 - x))\n", " 2 2 2" ], "text/x-maxima": [ "G(x):=hypergeometric([a/2,b/2],[(a+b+1)/2],4*x*(1-x))" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{39}$}{\\it DG}\\left(x\\right):=\\frac{F\\left( \\left. \\begin{array}{c}\\frac{a}{2}+1,\\;\\frac{b}{2}+1\\\\\\frac{b+a+1}{2}+1\\end{array} \\right |,4\\,\\left(1-x\\right)\\,x\\right)\\,a\\,b\\,\\left(4\\,\\left(1-x\\right)-4\\,x\\right)}{2\\,\\left(b+a+1\\right)}\\]" ], "text/plain": [ " a b b + a + 1\n", "(%o39) DG(x) := (hypergeometric([- + 1, - + 1], [--------- + 1], 4 (1 - x) x) a\n", " 2 2 2\n", " b (4 (1 - x) - 4 x))/(2 (b + a + 1))" ], "text/x-maxima": [ "DG(x):=\n", " (hypergeometric([a/2+1,b/2+1],[(b+a+1)/2+1],4*(1-x)*x)*a*b*(4*(1-x)-4*x))\n", " /(2*(b+a+1))" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{40}$}{\\it DDG}\\left(x\\right):=\\frac{F\\left( \\left. \\begin{array}{c}\\frac{a}{2}+2,\\;\\frac{b}{2}+2\\\\\\frac{b+a+1}{2}+2\\end{array} \\right |,4\\,\\left(1-x\\right)\\,x\\right)\\,\\left(\\frac{a}{2}+1\\right)\\,a\\,\\left(\\frac{b}{2}+1\\right)\\,b\\,\\left(4\\,\\left(1-x\\right)-4\\,x\\right)^2}{2\\,\\left(b+a+1\\right)\\,\\left(\\frac{b+a+1}{2}+1\\right)}-\\frac{4\\,F\\left( \\left. \\begin{array}{c}\\frac{a}{2}+1,\\;\\frac{b}{2}+1\\\\\\frac{b+a+1}{2}+1\\end{array} \\right |,4\\,\\left(1-x\\right)\\,x\\right)\\,a\\,b}{b+a+1}\\]" ], "text/plain": [ " a b b + a + 1\n", "(%o40) DDG(x) := (hypergeometric([- + 2, - + 2], [--------- + 2], 4 (1 - x) x)\n", " 2 2 2\n", " a b 2 b + a + 1\n", " (- + 1) a (- + 1) b (4 (1 - x) - 4 x) )/(2 (b + a + 1) (--------- + 1))\n", " 2 2 2\n", " a b b + a + 1\n", " 4 hypergeometric([- + 1, - + 1], [--------- + 1], 4 (1 - x) x) a b\n", " 2 2 2\n", " - ------------------------------------------------------------------\n", " b + a + 1" ], "text/x-maxima": [ "DDG(x):=\n", " (hypergeometric([a/2+2,b/2+2],[(b+a+1)/2+2],4*(1-x)*x)\n", " *(a/2+1)*a*(b/2+1)*b*(4*(1-x)-4*x)^2)\n", " /(2*(b+a+1)*((b+a+1)/2+1))\n", " -(4*hypergeometric([a/2+1,b/2+1],[(b+a+1)/2+1],4*(1-x)*x)*a*b)/(b+a+1)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{41}$}\\left[ 1 , \\frac{2\\,a\\,b}{b+a+1} , \\frac{\\left(4\\,a^2+4\\,a\\right)\\,b^2+\\left(4\\,a^2+4\\,a\\right)\\,b}{b^2+\\left(2\\,a+4\\right)\\,b+a^2+4\\,a+3} \\right] \\]" ], "text/plain": [ " 2 2 2\n", " 2 a b (4 a + 4 a) b + (4 a + 4 a) b\n", "(%o41) [1, ---------, --------------------------------]\n", " b + a + 1 2 2\n", " b + (2 a + 4) b + a + 4 a + 3" ], "text/x-maxima": [ "[1,(2*a*b)/(b+a+1),((4*a^2+4*a)*b^2+(4*a^2+4*a)*b)/(b^2+(2*a+4)*b+a^2+4*a+3)]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G(x):=hypergeometric([a/2,b/2],[(a+b+1)/2],4*x*(1-x));\n", "define(DG(x),diff(G(x),x));\n", "define(DDG(x),diff(G(x),x,2));\n", "[G(0),DG(0),DDG(0)],ratsimp;" ] }, { "cell_type": "markdown", "id": "85172302-bfaf-4da7-93f6-38de3886a541", "metadata": {}, "source": [ "確かに[F(0),DF(0),DDF(0)]と[G(0),DG(0),DDG(0)]は一致していますから、これで全ての証明が終了しました。" ] }, { "cell_type": "code", "execution_count": null, "id": "325a9c94-3f20-439f-917c-644295a31b86", "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": 5 }