Maxima で綴る数学の旅

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

-数学- 美しい連分数を作る

f:id:jurupapa:20210411164042j:plain

オイラーの連分数と級数の関係公式を使えば、誰でも簡単に美しい連分数を作ることができます。例えば、\(\frac{\pi^2}{12}\)の連分数展開:

(%i??) [powerdisp,simp]:[true,false]$

(%i2) %pi^2/12=1/(1+1^2/(3+2^2/(5+3^2/(7+4^2/(9+5^2/z)))));

$$ \tag{${\it \%o}_{2}$}\frac{\pi^2}{12}=\frac{1}{1+\frac{1^4}{3+\frac{2^4}{5+\frac{3^4}{7+\frac{4^4}{9+\frac{5^4}{z}}}}}} $$

足し算のところに奇数が並び、分母のところに自然数の4乗が並ぶ、これぞまさに美しい連分数、と言えるでしょう。

前回ご紹介した連分数と級数の関係式:
(%i3) 1/A+(-1/B)+1/C-1/D+1/E = 1/(A+A^2/(B-A+B^2/(C-B+C^2/(D-C+D^2/(E-D)))));

$$ \tag{${\it \%o}_{3}$}\frac{1}{A}+\frac{-1}{B}+\frac{1}{C}+\frac{-1}{D}+\frac{1}{E}=\frac{1}{A+\frac{A^2}{B-A+\frac{B^2}{C-B+\frac{C^2}{D-C+\frac{D^2}{E-D}}}}} $$

これに次の式:
(%i4) %pi^2/12=1/1^2+(-1/2^2)+1/3^2+(-1/4^2)+1/5^2+(-1/6^2)+1/7^2;

$$ \tag{${\it \%o}_{4}$}\frac{\pi^2}{12}=\frac{1}{1^2}+\frac{-1}{2^2}+\frac{1}{3^2}+\frac{-1}{4^2}+\frac{1}{5^2}+\frac{-1}{6^2}+\frac{1}{7^2} $$

を代入すれば、(%o2)が得られるのは自明でしょう。では(%o4)はどこから来るのか、というとゼータ関数\(\zeta(s)=\sum_{n=1}^{\infty}{\frac{1}{n^2}}\)の\(s=2\)での値が\(\frac{\pi^2}{6}\)であることと、無限級数の少々の計算から得られます。具体的な計算は例えば、

オイラーの無限解析

オイラーの無限解析

 

 の第10章の170節など、他にも多くの本に記載があります。

(%i??) [powerdisp,simp]:[false,true]$

 

具体的な数値計算もしてみましょう。まず一次分数変換を定義します。

(%i6) applyLFT(M,z):=(M[1,1]*z+M[1,2])/(M[2,1]*z+M[2,2]);

$$ \tag{${\it \%o}_{6}$}{\it applyLFT}\left(M , z\right):=\frac{M_{1,1}\,z+M_{1,2}}{M_{2,1}\,z+M_{2,2}} $$

次に(%o3)の連分数の各段に相当する行列を定義します。対応が分かりますか?
(%i7) azcfmat(n):=matrix([f(n)-f(n-1),f(n)^2],[1,0]);

$$ \tag{${\it \%o}_{7}$}{\it azcfmat}\left(n\right):=\begin{pmatrix}f\left(n\right)-f\left(n-1\right) & f\left(n\right)^2 \\ 1 & 0 \\ \end{pmatrix} $$

(%o4)の級数の分母に相当する数列を関数で定義します。
(%i8) f(n):=n^2;

$$ \tag{${\it \%o}_{8}$}f\left(n\right):=n^2 $$

最後に連分数の段をn段計算する関数を定義します。
(%i9) azcfrec(n):=if n=1 then azcfmat(1) else azcfrec(n-1) . azcfmat(n);

$$ \tag{${\it \%o}_{9}$}{\it azcfrec}\left(n\right):=\mathbf{if}\;n=1\;\mathbf{then}\;{\it azcfmat}\left(1\right)\;\mathbf{else}\;{\it azcfrec}\left(n-1\right)\cdot {\it azcfmat}\left(n\right) $$

(%o5)の定義を見ると行列による連分数計算は左辺の分母までを計算しているので、逆数をとって、級数全体を計算するようにし、連分数を1000段計算してみましょう。
(%i16) 1/applyLFT(azcfrec(1000),1),numer;

$$ \tag{${\it \%o}_{16}$}0.8224675339231127 $$

一方、\(\frac{\pi^2}{12}\)の値は次のようになります。
(%i11) %pi^2/12,numer;

$$ \tag{${\it \%o}_{11}$}0.8224670334241132 $$