前回は、ヨハン・ハインリヒ・ランベルトがいかにして \(\pi\) の無理数性を証明したかという歴史的背景を辿りました。そこで示された「対偶」による証明を支えていた数学的実体が、今回解説する \(\tan x\) の連分数展開 です。
今回は、数学的な証明を重視し、なぜ一般的な多項式近似(マクローリン展開)ではなく「連分数」という形が必要だったのか、そしてその数式がいかにして微分方程式から抽出されるのかを詳解します。
関連記事:ランベルトの連分数展開
歴史と概要:πが無理数であることの証明:ランベルトの功績と連分数展開の歴史【ランベルトの連分数展開 #1】
理論編(その1)理論と数式:←今ここ
理論編(その2)無理性の証明:πが無理数であることの証明:ランベルトの定理と論理【ランベルトの連分数展開 #3】
現代での活用:(記事は現在利用できません: ID 7463)
自作電卓に組み込んでみた : (記事は現在利用できません: ID 7438)
1. マクローリン展開の限界と連分数の優位性
私たちが関数を近似する際、まず思い浮かべるのはマクローリン展開です。\(\tan x\) のマクローリン展開は次のように表されます。
\[\tan x = \sum_{n=1}^{\infty} \frac{|B_{2n}| 2^{2n} (2^{2n} – 1)}{(2n)!} x^{2n-1} = x + \frac{1}{3}x^3 + \frac{2}{15}x^5 + \dots\]
ここで係数に登場する \(B_{2n}\) は ベルヌーイ数 と呼ばれる数列です。このベルヌーイ数は項が進むにつれて値が爆発的に巨大化し、計算コストもアルゴリズムの複雑さも飛躍的に増大してしまいます。
さらに、マクローリン展開には「収束半径」という致命的な制約があります。\(\tan x\) は \(x = \pi/2\) で無限大へ発散(極)するため、収束半径は \(|x| < \pi/2\) に限定されます。 極に近づくほど精度は急激に悪化し、この壁を超えて計算することは不可能です。
一方、連分数は分母のゼロ点によって自然に関数の「極」を表現できるため、多項式よりも広い範囲で、かつ極めて少ない項数で高い精度を実現できるのです。
| 特性 | マクローリン展開(多項式) | 連分数展開 |
| 計算コスト | ベルヌーイ数が必要で膨大 | シンプルな漸化式で済む |
| 収束の壁 | \(\pi/2\)(極)を超えられない | 極を自然に扱える |
| 精度 | 項数が増えると計算が不安定化 | 少ない項数で安定して高精度 |
比較表 マクローリン展開とランベルトの連分数展開
2. 出発点:リッカチの微分方程式(Riccati’s differential equation)
連分数展開を導き出すための母体は、級数ではなく 微分方程式 です。
\(y = \tan x\) とおくと、その微分は \(y’ = \sec^2 x = 1 + \tan^2 x\) です。ここから、次の非線形常微分方程式が得られます。これを リッカチの微分方程式 と呼びます。
\[y’ = 1 + y^2 \quad \dots (1)\]
ランベルトはこの微分方程式に対し、変数変換を繰り返すことで「分数の中に分数を閉じ込める」というtanを連分数で表せることを示しました。
3. ステップ・バイ・ステップ:連分数への変換
数式の導出を順に追ってみます。
Step 1:最初の変数変換
\(x \to 0\) のとき \(\tan x \approx x\) であることを利用し、構造を抽出するために \(y = \frac{x}{z}\) と置きます。これを \((1)\) 式に代入して整理すると以下のようになります。
\[z – xz’ = z^2 + x^2 \quad \dots (2)\]
Step 2:再帰的な階層構造の構築
次に、\(z\) をさらに展開するために \(z = 1 – \frac{x^2}{z_1}\) と置いてみます。これを \((2)\) 式に代入し、微分 \(z’ = -\frac{2xz_1 – x^2 z_1′}{z_1^2}\) を考慮して整理すると、新しい変数 \(z_1\) に関する微分方程式が現れます。
\[ – x z_1′ + \mathbf{3} z_1 = z_1^2 + x^2 \]
定数項に 「3」 が現れたことに注目してください。
ここで \(x \to 0\) とすると、 \(3z_1 = z_1^2\) より \(z_1 = 3\) が得られます。この 「3」 が次の置き換えのベースになります。
補足:なぜ \(\tan x \approx x\)や \(z = 1 – \frac{x^2}{z_1}\) と置いたのか?[玉ねぎの皮むき]
数学の証明では、天下り式に説明しがちで、なんでそんな変数で置いたんだ?となりがちなので補足します。
1. なぜ最初に分数の形(\(y = \frac{x}{z}\))にしたのか?
まず、\(\tan x\) をマクローリン展開の視点で眺めてみます。
\[\tan x = x + \frac{1}{3}x^3 + \frac{2}{15}x^5 + \dots\]
\(x \to 0\) のとき、\(\tan x\) はほぼ \(x\) です。(ほぼ0のxの累乗項はもっと0に近いはずなので)つまり、「\(\tan x\) の主役は \(x\) である」と言えます。
ここで、主役である \(x\) を外に括りだして、残りの「脇役(補正項)」たちの正体を暴こうとするのがステップ1の狙いです。
\[\tan x = x \times \left( \frac{1}{1 + \frac{1}{3}x^2 + \dots} \right)\]
この括弧の中身を丸ごと \(\frac{1}{z}\) と置く(つまり \(\tan x = \frac{x}{z}\) とする)ことで、「\(x \to 0\) で \(1\) に収束する新しい関数 \(z\)」をターゲットに設定したわけです。
2. なぜ「1」から引くのか?(定数の皮剥き)
次に、この \(z\) をさらに展開していきます。
先ほど確認した通り、\(x \to 0\) のとき \(z \to 1\) です。連分数は「定数部分を剥ぎ取って、残りを分母に押し込める」という操作の繰り返しです。
ターゲットである \(z\) の一番大きな成分が \(1\) であるなら、まずは\(z = 1 – (\text{何か})\) と置いて、「1」という皮を一枚剥ぐのは極めて自然な戦略になります。
3. なぜ分子に「\(x^2\)」を置くのか?(偶関数の観察)
ここが最もトリッキーに見える部分ですが、実は関数の対称性に注目すると必然が見えてきます。
\(\tan x\) は奇関数ですが、\(z = \frac{x}{\tan x}\) は「奇関数 \(\div\) 奇関数」なので、計算すると偶関数になります。偶関数のマクローリン展開には \(x^1, x^3 \dots\) といった奇数次の項は現れず、\(x^2, x^4 \dots\) という偶数次の項だけが登場します。
実際に \(z\) を近似してみると:
\[z \approx \frac{1}{1 + \frac{1}{3}x^2} \approx 1 – \frac{1}{3}x^2\]
となります。この式を見ると、「1」を剥ぎ取った後に残る誤差は、\(x^2\) に比例して小さくなっていくことがわかります。
そこで、\(z = 1 – \frac{x^2}{z_1}\) と置いてみます。あらかじめ分子に \(x^2\) を用意しておくことで、分母の \(z_1\) が \(x \to 0\) のときに 「3」という綺麗な定数に収束するように仕組んでいるのです。(ちなみに適当に\(z_1\)を置いても、適切に計算していけば \(x^2\) で括れる形になるので必須の手順ではないですがこの方が項が少なくて済むのでミスなく計算しやすい賢い方法になります)
まとめ:連分数は「精度の高い皮剥き」
- ステップ1: 主役の \(x\) を分離して、中身の \(z\) を取り出す。
- ステップ2: \(z\) の定数項「1」を剥ぎ、次の誤差の主役である「\(x^2\)」を分子に括りだす。
こうして微分方程式を解き進めると、分母から \(3, 5, 7 \dots\) と奇数が次々に現れます。
一見トリッキーな置換は、実はテイラー展開で見えている「次の項」を、連分数の形に無理やり引きずり出すための合理的な手順だったのです。
4.Step 3:奇数係数の抽出
ここまでの変数の置き換え(Step1.Step2)を見直してみると以下のようになります。
1. 変数の置き方のルール(再帰構造)
\(y = \tan x\) から始めて、次のように変数を定義してきました。
- \(y = \frac{x}{z}\)
- \(z = \mathbf{1} – \frac{x^2}{z_1}\)
- \(z_1 = \mathbf{3} – \frac{x^2}{z_2}\)
- \(z_2 = \mathbf{5} – \frac{x^2}{z_3}\)
- \(\dots\)
- \(z_n = \mathbf{(2n+1)} – \frac{x^2}{z_{n+1}}\)
2. これを「合体」させる
この定義を、一番上の \(y\) の式に次々に放り込んでみてください。
- まず、\(y = \frac{x}{z}\) に \(z = 1 – \frac{x^2}{z_1}\) を代入すると:\[y = \cfrac{x}{1 – \cfrac{x^2}{z_1}}\]
- 次に、その \(z_1\) に \(z_1 = 3 – \frac{x^2}{z_2}\) を代入すると:\[y = \cfrac{x}{1 – \cfrac{x^2}{3 – \cfrac{x^2}{z_2}}}\]
- さらにその \(z_2\) に \(z_2 = 5 – \frac{x^2}{z_3}\) を代入すると:\[y = \cfrac{x}{1 – \cfrac{x^2}{3 – \cfrac{x^2}{5 – \cfrac{x^2}{z_3}}}}\]
この一連の操作を一般化すれば、\(z_{n-1} = (2n-1) – \frac{x^2}{z_n}\) という置換を繰り返すと、各階層 \(n\) における微分方程式は以下の形になり。
\[x z_n’ + (2n+1) z_n = z_n^2 + x^2\]
\(x \to 0\) の極限において \(z_n\) は定数項 \(2n+1\) に収束します。つまり、分母の係数として 1, 3, 5, 7 … と奇数が次々に現れる 構造が導けます。
4. 結論:ランベルトの公式
以上の手続きを経て、\(\tan x\) の連分数展開公式が導かれます。
\[\tan x = \cfrac{x}{1 – \cfrac{x^2}{3 – \cfrac{x^2}{5 – \cfrac{x^2}{7 – \dots}}}}\]
この式は、\(x\) が有理数であれば \(\tan x\) は無理数であるという証明(前回解説)の基礎となっただけでなく、現代においても、最小の計算回数で最大級の精度を叩き出すアルゴリズムとして君臨しています。
理論のまとめ
- 多項式の限界: ベルヌーイ数の爆発と収束半径の制約により、\(\tan x\) の多項式近似は効率が悪い。
- 微分方程式の活用: \(y’ = 1 + y^2\) を再帰的に変換することで、自然に連分数構造が得られる。
- 奇数列の必然性: 変換の各段階で \(2n-1\) という係数が抽出され、あの規則的な分母が形成される。
理論編(その1)はいかがでしたでしょうか。数式を追うことで、「魔法の公式」に見えたものが、微分方程式の解としての必然性を持って立ち現れる様子が見えてきたかと思います。
次回は、今回導いたtanの連分数展開式をもとに、πが無理数であることを証明していこうと思います。
次回 無理性の証明:πが無理数であることの証明:ランベルトの定理と論理【ランベルトの連分数展開 #3】
(※私は数学徒ではないので、厳密にはこの記事中の計算が厳密に正しいことを担保できません。自作電卓の実装過程でこの数理を追いかけましたが、もし厳密な証明に誤りがあればぜひご指摘ください。共に知見を深めていければ幸いです。 (;´∀`))
関連記事:ランベルトの連分数展開
歴史と概要:πが無理数であることの証明:ランベルトの功績と連分数展開の歴史【ランベルトの連分数展開 #1】
理論と数式:←今ここ
無理性の証明:πが無理数であることの証明:ランベルトの定理と論理【ランベルトの連分数展開 #3】
現代での活用:(記事は現在利用できません: ID 7463)
自作電卓に組み込んでみた : (記事は現在利用できません: ID 7438)