定数の一般化連分数(形式1)計算機

定数の一般化連分数(形式1)計算機

a0/(b0+a1/(b1+…))の有限収束分数をDLMF三項漸化式で計算し、nごとの値と変化を最大1001行で確認します。

入力

変数はnだけ。暗黙の掛け算を使わず、許可制の実数式を最大200文字で入力します。

変数はnだけ。暗黙の掛け算を使わず、許可制の実数式を最大200文字で入力します。

変数はnだけ。暗黙の掛け算を使わず、許可制の実数式を最大200文字で入力します。

変数はnだけ。暗黙の掛け算を使わず、許可制の実数式を最大200文字で入力します。

binary64で説明可能な6、10、12桁から選び、相対変化の判定閾値に使います。

1〜1000の整数。n=0の初期行を含むため、非安定時は最大n+1行です。

使い方

  1. 定数連分数・形式1の係数式を確認します。暗黙の掛け算を避け、式の変数は予約変数nだけに限定します。
  2. 関数版ではx、全ページで目標桁数6・10・12と最大項数1〜1000を指定します。
  3. 計算後、n=0からの有限収束分数、未定義行、絶対変化、相対変化、安定判定を読みます。
  4. TSVを保存し、既知値・独立高精度計算・異なる最大nと照合してから利用します。

計算式・考え方

C=b0+a1/(b1+a2/(b2+…))に対しA_-1=1、A_0=b0、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)。定数連分数・形式1はf_n=a0*B_n/A_nを同一scaleで正規化し、相対変化が閾値以下に3回連続した時だけ変化が安定とします。

注意事項

  • Brouncker型ではn=0からf_0=4、f_1=3、f_2=19/6、f_3=160/51となります。整数二乗を部分分子、連続する奇数を部分分母に置く構造を保ったまま、各有理数を独立に計算すると三項漸化式の添字ずれを検出できます。πを直接式へ入れていないことも確認点です。
  • このπ展開の初期列は3より上と下を単純に毎回交互へ移るとは限らず、隣接差も一定比で減るわけではありません。最終値だけをπと照合するより、19/6や160/51など小さいnの厳密分数を先に照合し、その後で高精度oracleと全行比較する方が係数入力の誤りを見つけやすくなります。
  • 形式1ではまず一般化連分数C_n=A_n/B_nを作り、表示値を4/C_nへ反転します。そのためA_n=0の段は未定義で、B_n=0なら表示値は0です。形式2の分母判定と取り違えると、Brouncker型で有限値が出る行を誤って欠損させるため、a0*B_n/A_nという向きを明示して読みます。
  • 定数連分数・形式1は、a0/(b0+a1/(b1+a2/(b2+…)))という一般化連分数を途中の有限段階で打ち切り、各nの有限収束分数を一覧にする計算機です。既定例はBrouncker型のπ展開で、a0=4、b0=1、a_n=n^2、b_n=2*n+1を代入し、4、3、約3.1667と進む有限収束分数からπへ近づく様子を追います。 式を変更した場合も、結果を既知定数だと決めつけず有限列として読みます。
  • 定数連分数・形式1で使う一般化連分数は、各段の部分分子a_nと部分分母b_nを自由な式で与えます。すべての部分分子が1で整数部分だけを並べる単純連分数はその特殊例です。一般化連分数ではa_nが負、0、n依存、x依存にもなり、単純連分数で知られる正則性や最良近似の性質を自動的には引き継ぎません。
  • 定数連分数・形式1の有限収束分数はDLMFの三項漸化式を使います。A_-1=1、A_0=b0、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)を順に計算します。このページの表示値はf_n=a0*B_n/A_nで、n=0の初期値から表へ載せます。
  • 定数連分数・形式1ではAとBを別々に丸め直しません。A_n、B_nと直前のA_(n-1)、B_(n-1)という四状態を、毎段同じ有限スケールで正規化します。共通倍率は比を変えないため有限収束分数を保ち、大きな係数を掛け続けるforward recurrenceのoverflowを抑えます。ただしbinary64の丸めや不安定性そのものを消す証明ではありません。
  • 定数連分数・形式1の表はn、f_n、絶対変化|f_n−f_(n-1)|、相対変化を持ちます。相対変化は差をmax(|f_n|,|f_(n-1)|)で割り、両方が0なら0とします。この対称尺度は0付近で一方だけを分母にする発散を避けますが、真値πとの差ではありません。最初の行や直前行が未定義なら二つの変化も未定義です。
  • 定数連分数・形式1の目標桁数6、10、12は、相対変化が10のマイナス桁数乗以下かを見るための選択です。有限な隣接行で条件を3回連続して満たしたときだけ「変化が安定」と表示して停止します。一度だけ小さくなった場合、未定義行を挟んだ場合、再び大きくなった場合は連続回数をリセットします。この表示は真値誤差、正しい桁数、数学的収束保証ではありません。
  • 定数連分数・形式1で最大項数nは1〜1000です。n=0を含め、安定条件に達しなければ最大1001行を作ります。最大値を増やしても収束するとは限りません。表が交互に二値へ近づく、周期的に振動する、差が一定のまま残る、未定義行を繰り返すときは「収束しない可能性」を考え、係数条件と既知の収束定理を別に調べます。
  • 定数連分数・形式1では収束分数の分母が0になった行を数値へ置き換えず「未定義」と表示します。形式1ではA_n=0、形式2ではB_n=0が該当します。三項漸化式の四状態は捨てずに次段へ進むため、次の係数で分母が非0へ戻れば後続の有限収束分数も再び表へ現れます。未定義の前後を直結した変化は作らず、安定判定にも数えません。
  • 定数連分数・形式1の式で使える変数は予約変数nだけです。定数pi、π、e、四則演算、べき乗^、丸括弧とabs、sqrt、exp、ln、log、log10、三角・逆三角・双曲線関数、floor、ceilを許可制で扱います。暗黙の掛け算は行わないため2n+1ではなく2*n+1、nxではなくn*xと書きます。a0とb0はn=0で評価します。
  • 定数連分数・形式1の式は最大200文字、128トークン、入れ子32段です。専用no-eval parserが許可済みの字句を逆ポーランド表現へ変換し、eval、new Function、代入、配列、オブジェクト、プロパティ参照、セミコロン、引用符、コメント、未知変数を拒否します。式へHTMLやJavaScriptの注入文字列を入れても命令として実行せず、入力エラーで停止します。
  • 定数連分数・形式1ではxの絶対値を1,000,000以下、nを1000以下、式で得る係数、漸化式状態、有限収束分数の絶対値を1e100以下に制限します。sqrtの負引数、logの非正引数、0除算、指数関数のoverflow、NaN、Infinity、上限超過を値らしい最大数へ切り詰めません。係数や状態を安全に保てない場合は、その先の表を偽造せず計算全体を停止します。
  • 定数連分数・形式1の内部計算はIEEE 754 binary64です。選択肢を12桁までに限定し、50桁の小数を表示して多倍長精度があるようには装いません。近い数の減算では桁落ちし、極端に小さい状態はunderflowし得ます。研究用定数表、正しい桁数の認証、厳密な誤差境界が必要なら、任意精度演算、区間演算、解析的な上下界を備えた独立環境へ切り替えてください。
  • 定数連分数・形式1の既定Brouncker型のπ展開では、最終行だけでなく初期数行と変化列も確認します。期待するπへ近いこと、最大nや目標桁数を変えて安定位置が極端にずれないこと、別の高精度実装と整合することを照合します。たまたま表示桁が一致しても、同じ漸化式を共有する二実装だけの一致では独立検証にならない点に注意します。
  • 定数連分数・形式1へ収束しない例を入れるときは、a_n=1、b_n=0のように分母が交互に0となる列や、符号を交互に変える係数を小さい最大nで試せます。これは異常系を観察する教材であり、安定表示を得るまで設定を無制限に増やす用途ではありません。状態退化、非有限係数、近似値上限超過が起きた場合は入力式の定義域と成長率を先に見直します。
  • 定数連分数・形式1の結果は列見出し付きTSVとしてコピーできます。再現するときはa0またはb0、a_n、b_n、xの有無、目標桁数、最大n、最終行番号、「変化が安定」の有無を一緒に保存してください。未定義セルは空欄や0へ変換せず文字のまま残します。表計算ソフトで再加工しても、表示値から失われたbinary64以上の桁を復元することはできません。
  • 定数連分数・形式1は数値解析の学習、教科書例の検算、係数式の試行を目的とします。金融取引、暗号、安全設計、医療、法令判定など高い保証が必要な意思決定を単独で支えるものではありません。重要な利用では連分数の収束条件、式と係数の出典、許容誤差、独立oracle、異なる演算精度をレビューし、専門家が妥当性を判断してください。
  • 定数連分数・形式1の計算法はNIST Digital Library of Mathematical Functionsの一般化連分数と収束分数の記法、およびforward recurrenceでのscale管理という数値計算上の注意に沿います。ただしDLMFに式が載っていることは任意入力の収束を意味しません。このページは係数を形式的に代入して有限表を作る道具であり、解析接続、複素連分数、厳密証明は実装範囲外です。
  • 定数連分数・形式1ではフォームが本文説明より先に現れるcalculator-first構成です。まずcanonical既定値をそのまま計算し、次に一つの係数だけを変え、最後に最大nと目標桁数を変えると原因を追いやすくなります。複数条件を同時に変更して結果が崩れた場合は既定値へ戻し、n=1の二行表から段階的に確認してください。
  • binary64の有限収束分数です。「変化が安定」は真値誤差、正しい桁数、数学的収束を保証しません。

よくある質問

「変化が安定」は何桁正しいという意味ですか?

意味しません。隣接する有限収束分数の相対変化が選択閾値以下に3回連続したという観察だけです。真値との差、誤差上界、数学的収束は独立に確認してください。

途中で未定義になった後の行も計算しますか?

はい。分母0の行は未定義として残し、三項漸化式の状態が有限なら次段へ進みます。後続で分母が非0へ戻れば有限値を再表示します。未定義をまたぐ変化は計算しません。

一般化連分数と単純連分数は同じですか?

単純連分数は一般化連分数の特殊な形です。一般化連分数は部分分子a_nも任意にできるため、負値やn・x依存を含み、単純連分数の性質がそのまま成立するとは限りません。

定数連分数・形式1の式解析、最大1001行の三項漸化式、表表示、TSV生成はすべてclient-onlyでブラウザ内だけで行います。入力式、x、結果を外部APIへ送信・保存せず、fetch、XHR、WebSocket、外部CDNを使用しません。