Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-数学- ヤコビの3重積公式

 

f:id:jurupapa:20140927100639j:plain

P1対戦哨戒機

 

オイラーの五角数公式をヤコビの3重積公式から導くことは簡単でした。というかどう見てもヤコビの3重積公式の方が複雑だし、、、だからどうした、という感じがします。

 

当然ヤコビの3重積公式を導きたくなりますよね。ハーディ・ライトの「数論入門II」に載っている証明をMaximaを使って追ってみましょう。

 

数論入門 II (シュプリンガー数学クラシックス 第)

数論入門 II (シュプリンガー数学クラシックス 第)

 

 使うパッケージを読み込み、またnを整数として宣言しておきます。またheadProduct(exp)という補助関数を定義します。

(%i1) load("opsubst")$
(%i2) load(absimp)$
(%i3) declare(n,integer)$

以下のheadProduct(pexp)が何をする関数か、、、一番良いのは試してみることです。下記の定義を読み込んだ後、headProduct(product(a[n],n,1,inf)などとやってみて下さい。

(%i4) headProduct(pexp):=block([exp,exp2,var,ival,endval],
exp:part(pexp,1),
var:part(pexp,2),
ival:part(pexp,3),
endval:part(pexp,4),
exp2:[expand(subst(var+1,var,exp)),var,ival,endval],
subst(1,var,exp)*opsubst(nounify(product),"[",exp2))$

以下で数式の部品を定義した後、それらを使ってヤコビの3重積公式を示します。
(%i5) Q(x):=product(1-x^(2*n),n,1,inf);
$$ \tag{%o5} Q\left(x\right):=\mathrm{product}\left(1-x^{2\,n} , n , 1 , \infty \right) $$
(%i6) R(x,z):=product(1+x^(2*n-1)*z,n,1,inf);
$$ \tag{%o6} R\left(x , z\right):=\mathrm{product}\left(1+x^{2\,n-1}\,z , n , 1 , \infty \right) $$
(%i7) P(x,z):=Q(x)*R(x,z)*R(x,1/z);
$$ \tag{%o7} P\left(x , z\right):=Q\left(x\right)\,R\left(x , z\right)\,R\left(x , \frac{1}{z}\right) $$
(%i8) S1(x,z):=sum(a(x,n)*z^n,n,minf,inf);
$$ \tag{%o8} \mathrm{S1}\left(x , z\right):=\mathrm{sum}\left(a\left(x , n\right)\,z^{n} , n , -\infty , \infty \right) $$
(%i9) define(S(x,z),ev(S1(x,z),a(x,n):=x^(n^2)));
$$ \tag{%o9} S\left(x , z\right):=\sum_{n= -\infty }^{\infty }{x^{n^2}\,z^{n}} $$
(%i10) P(x,z)=S(x,z);
$$ \tag{%o10} \left(\prod_{n=1}^{\infty }{\left(1-x^{2\,n}\right)}\right)\,\left(\prod_{n=1}^{\infty }{\left(\frac{x^{2\,n-1}}{z}+1\right)}\right)\,\prod_{n=1}^{\infty }{\left(x^{2\,n-1}\,z+1\right)}=\sum_{n= -\infty }^{\infty }{x^{n^2}\,z^{n}} $$

上記(%o10)が証明したい式となります。

 

ここからは(%o11)と(%o13)が等しいことを示します。
(%i11) P(x,z)/(1+z*x);
$$ \tag{%o11} \frac{\left(\prod_{n=1}^{\infty }{\left(1-x^{2\,n}\right)}\right)\,\left(\prod_{n=1}^{\infty }{\left(\frac{x^{2\,n-1}}{z}+1\right)}\right)\,\prod_{n=1}^{\infty }{\left(x^{2\,n-1}\,z+1\right)}}{x\,z+1} $$
(%i12) substpart(headProduct(part(%,1,3)),%,1,3);
$$ \tag{%o12} \left(\prod_{n=1}^{\infty }{\left(1-x^{2\,n}\right)}\right)\,\left(\prod_{n=1}^{\infty }{\left(\frac{x^{2\,n-1}}{z}+1\right)}\right)\,\prod_{n=1}^{\infty }{\left(x^{2\,n+1}\,z+1\right)} $$
(%i13) P(x,z*x^2)/(1+1/(z*x));
$$ \tag{%o13} \frac{\left(\prod_{n=1}^{\infty }{\left(1-x^{2\,n}\right)}\right)\,\left(\prod_{n=1}^{\infty }{\left(\frac{x^{2\,n-3}}{z}+1\right)}\right)\,\prod_{n=1}^{\infty }{\left(x^{2\,n+1}\,z+1\right)}}{\frac{1}{x\,z}+1} $$
(%i14) substpart(headProduct(part(%,1,2)),%,1,2);
$$ \tag{%o14} \left(\prod_{n=1}^{\infty }{\left(1-x^{2\,n}\right)}\right)\,\left(\prod_{n=1}^{\infty }{\left(\frac{x^{2\,n-1}}{z}+1\right)}\right)\,\prod_{n=1}^{\infty }{\left(x^{2\,n+1}\,z+1\right)} $$

(%o12)と(%o14)は等しいですから以下が成り立ちます。
(%i15) '(P(x,z))/(1+z*x)='(P(x,z*x^2))/(1+1/(x*z));
$$ \tag{%o15} \frac{P\left(x , z\right)}{x\,z+1}=\frac{P\left(x , x^2\,z\right)}{\frac{1}{x\,z}+1} $$
(%i16) ratsimp(%*part(lhs(%),2));
$$ \tag{%o16} P\left(x , z\right)=x\,P\left(x , x^2\,z\right)\,z $$

(%o16)でP(x,z)がS1(x,z)の形で表せるとしてa(x,n)の満たすべき条件を求めてみましょう。

(%i17) %,P(x,z):=S1(x,z);
$$ \tag{%o17} \sum_{n= -\infty }^{\infty }{a\left(x , n\right)\,z^{n}}=x\,z\,\sum_{n= -\infty }^{\infty }{x^{2\,n}\,a\left(x , n\right)\,z^{n}} $$
(%i18) intosum(%);
$$ \tag{%o18} \sum_{n= -\infty }^{\infty }{a\left(x , n\right)\,z^{n}}=\sum_{n= -\infty }^{\infty }{x^{2\,n+1}\,a\left(x , n\right)\,z^{n+1}} $$
(%i19) substpart(subst(n-1,n,part(%,2,1)),%,2,1);
$$ \tag{%o19} \sum_{n= -\infty }^{\infty }{a\left(x , n\right)\,z^{n}}=\sum_{n= -\infty }^{\infty }{x^{2\,\left(n-1\right)+1}\,a\left(x , n-1\right)\,z^{n}} $$
(%i20) ratsimp(%);
$$ \tag{%o20} \sum_{n= -\infty }^{\infty }{a\left(x , n\right)\,z^{n}}=\sum_{n= -\infty }^{\infty }{x^{2\,n-1}\,a\left(x , n-1\right)\,z^{n}} $$
(%i21) x1:coeff(part(lhs(%),1),z,n)=coeff(part(rhs(%),1),z,n);
$$ \tag{%o21} a\left(x , n\right)=x^{2\,n-1}\,a\left(x , n-1\right) $$

これでzの冪級数S1(x,z)の係数a(x,n)の満たすべき漸化式が得られました。これを解いてみます。
(%i22) matchdeclare([b,c],true);
$$ \tag{%o22} \mathbf{done} $$
(%i23) defrule(tra,a(b,c),a[c]);
$$ \tag{%o23} \mathrm{tra}:a\left(b , c\right)\rightarrow a_{c} $$
(%i24) x2:apply1(x1,tra);
$$ \tag{%o24} a_{n}=a_{n-1}\,x^{2\,n-1} $$
(%i25) load(solve_rec)$
(%i26) load(simplify_sum)$
(%i27) niceindicespref:append([k],niceindicespref);
$$ \tag{%o27} \left[ k , i , j , k , l , m , n \right] $$
(%i28) niceindices(solve_rec(x2,a[n]));
$$ \tag{%o28} a_{n}=\mathrm{\%k}_{1}\,\prod_{k=1}^{n}{x^{2\,k-1}} $$
(%i29) log(%),logexpand:all;
$$ \tag{%o29} \log a_{n}=\sum_{k=1}^{n}{\left(2\,k-1\right)\,\log x}+\log \mathrm{\%k}_{1} $$
(%i30) simplify_sum(%);
$$ \tag{%o30} \log a_{n}=n^2\,\log x+\log \mathrm{\%k}_{1} $$
(%i31) exp(lhs(%))=exp(rhs(%));
$$ \tag{%o31} a_{n}=\mathrm{\%k}_{1}\,x^{n^2} $$
(%i32) x3:a(x,n)=rhs(%);
$$ \tag{%o32} a\left(x , n\right)=\mathrm{\%k}_{1}\,x^{n^2} $$
(%i33) x3,n:0;
$$ \tag{%o33} a\left(x , 0\right)=\mathrm{\%k}_{1} $$

これでa(x,0)はxの値に関係なく定数であることが分かりました。
(%i34) anx:ev(x3,rhs(%)=lhs(%));
$$ \tag{%o34} a\left(x , n\right)=x^{n^2}\,a\left(x , 0\right) $$
(%i35) '(P(x,z))=subst(rhs(anx),lhs(anx),S1(x,z));
$$ \tag{%o35} P\left(x , z\right)=a\left(x , 0\right)\,\sum_{n= -\infty }^{\infty }{x^{n^2}\,z^{n}} $$
(%i36) '(S(x,z))=S(x,z);
$$ \tag{%o36} S\left(x , z\right)=\sum_{n= -\infty }^{\infty }{x^{n^2}\,z^{n}} $$
(%i37) '(P(x,z))=a(x,0)*'(S(x,z));
$$ \tag{%o37} P\left(x , z\right)=a\left(x , 0\right)\,S\left(x , z\right) $$

a(x,0)はxに関係のない定数であることが分かっていますから、その値が1であることを示せば良い訳です。