この計算機でできること
このツールは、\(f(x) = b_0 + a_1/(b_1 + a_2/(b_2 + a_3/(b_3 + \cdots)))\) という形の一般化連分数を計算します。最大の特徴は、先頭項 \(b_0\)、第 \(n\) 項の分子 \(a_n\)、第 \(n\) 項の分母 \(b_n\) を、変数 \(x\) と項番号 \(n\) を含む数式として自由に指定できる点です。入力した \(x\) の値を代入し、\(n = 1, 2, 3, \ldots\) と各項を生成して、収束値 \(f(x)\) と各段の近似値 \(f_n(x)\) を一覧表で示します。純粋な数値計算のツールであり、地域ごとのルールや単位は一切関係なく、どこでも同じように使えます。
$$f(x) = b_0 + \cfrac{a_1}{b_1 + \cfrac{a_2}{b_2 + \cfrac{a_3}{b_3 + \cdots}}}$$使い方
3 つの数式と \(x\) の値を入力します。各数式では、記号 \(x\) と \(n\)、演算子 + - * / ^(べき乗)、関数 sqrt, exp, ln, log, sin, cos, tan、定数 pi と e が使えます。表示する有効桁数を選ぶと、答えの表示方法を調整できます(これは収束判定の許容誤差と表示にのみ影響し、計算の中身そのものは変わりません)。結果欄には \(f(x)\) と収束に達した項番号 \(n\) が表示され、表には最初のほうの近似値が並ぶので、値がどのように落ち着いていくかを確認できます。
計算式の解説
各近似値は、前進型の基本漸化式によって求められます。\(A_{-1} = 1, A_0 = b_0, B_{-1} = 0, B_0 = 1\) から始め、新しい段ごとに \(A_n = b_n A_{n-1} + a_n A_{n-2}\)、\(B_n = b_n B_{n-1} + a_n B_{n-2}\) とし、第 \(n\) 近似値は \(f_n = A_n / B_n\) となります。連続する 2 つの近似値が指定精度で一致した時点、または最大 1000 項に達した時点で反復を打ち切ります。
計算例
初期値 \(b_0 = 1, a_n = x - 1, b_n = 2\) のまま、\(x = 5\) とします。これは \(\sqrt{x}\) を表す有名な連分数です:$$\sqrt{x} = 1 + \cfrac{x-1}{2 + \cfrac{x-1}{2 + \cdots}}$$\(x = 5\) のとき、すべての分子は 4、すべての分母は 2 になります。最初の近似値は \(f_1 = 3, f_2 = 2, f_3 = 2.3333\ldots, f_4 = 2.2\) で、いずれも \(\sqrt{5} = 2.2360679774997896\) に収束します。不動点 \(t = 2 + 4/t\) は \(t = 1 + \sqrt{5}\) を解として持ち、\(f = 1 + 4/(1+\sqrt{5}) = \sqrt{5}\) が得られます。
よくある質問
\(a_n\) や \(b_n\) は項番号 \(n\) に依存させてもよいですか? はい。たとえば関数 \(x/(e^x - 1)\) は、\(b_0 = 1 - x/2, a_n = x^2/4, b_n = 2n + 1\) と表せ、\(b_n\) は \(n\) とともに増加します。
分母が 0 になったらどうなりますか? 計算を続けるために、ごく小さな \(\varepsilon\)(イプシロン)を代入します。これは修正レンツ法と同じ考え方です。それでも収束しない場合は、その旨が表示されます。
なぜ 1000 項で止まるのですか? 安全のための上限です。そこまでに収束しなかった場合は、最後に計算した近似値を警告とともに返します。