一般化ガウス・ラゲール求積法の分点と重みを計算
次数nとαを指定し、半無限区間の重みx^α exp(−x)に対応する分点・重み・通常積分用係数を表示します。
計算結果
- 一般化Gauss-Laguerre表の数値表
-
計算すると数値表を表示します。
一般化Gauss-Laguerre表の数値表。分点の小さい順に、1始まりの番号、分点、Gaussian重みと必要に応じて通常積分用係数を示します。 番号 i 分点 x_i 重み w_i 通常積分用 w_i x_i^(−α)e^{x_i}
使い方
- 求積方式と積分区間、重み関数が目的の式に一致することを確認し、次数nを2〜100で入力します。
- 一般化Laguerreではαも入力し、被積分式からx^αe^(−x)を公式側へ含めるか確認します。
- 計算後、分点の昇順、重みの正値、対称性または重み総和を確認し、必要な行をTSVとしてコピーします。
- 被積分関数を各x_iで評価して対応する係数と掛け、nを変えた結果や独立した求積法と比較します。
計算式・考え方
∫_0^∞f(x)x^αe^{−x}dx≈Σw_i f(x_i)、α>−1です。x_iは一般化Laguerre多項式L_n^{(α)}の正の零点で、通常積分用係数はw_i x_i^{−α}e^{x_i}です。
注意事項
- 一般化Laguerre則ではαが重みx^αe^{−x}の形を決めます。α=0が通常のGauss-Laguerre則で、ここでは参照ページの既定値α=3を保ち、実用的な有限範囲−0.999999以上100以下を受け付けます。数学上はα>−1ですが、境界−1へ極端に近づくとΓ(α+1)と最初の重みが大きくなるため、余裕を置いた下限です。
- 追加列w_i x_i^{−α}e^{x_i}は重みなしの半無限積分へ換算した係数です。高次数や大きいαでは生の重みが非常に小さくなるため、内部では必要に応じて零点をNewton補正し、対数領域で重みを再構成します。Σw_i=Γ(α+1)とすべての分点が正であることが主要な検算です。
- Gaussian求積は、決められた重み関数に対して直交する多項式の零点を分点に選び、少ない関数評価で高い代数的精度を得る方法です。次数nの標準Gaussian則は、重み関数を含めた2n−1次以下の多項式を丸め誤差の範囲で正確に積分します。ただし、ここで出すのは積分値ではなく分点x_iと重みw_iの一覧です。被積分関数を各分点で評価し、対象の公式どおりに重み付き和を作ってください。
- 次数nは2から100までの整数に限定しています。表は分点の小さい順に並べ、iは1から始まります。同じnでもLegendre、Chebyshev、Hermite、Laguerre、Lobattoでは積分区間と重み関数が異なるため、別方式の表を流用できません。名称だけで選ばず、積分区間、端点を含むか、指数関数や平方根の重みをどちら側へ含めるかを数式と照合してください。
- 内部計算は対称三重対角Jacobi行列のimplicit QL法を中心に、閉形式を持つChebyshev則と端点固定のLobatto則を組み合わせています。反復回数、次数、Laguerreのパラメータを有界にし、非有限値、非正の重み、未収束は結果を推測せずエラーにします。計算は利用者のブラウザだけで完結し、外部API、サーバー計算、CDN、fetchを使用しません。
- 表示はbinary64で計算した値を最大12有効桁に丸めたものです。コピーされるTSVも表示列と同じ順序ですが、任意精度表ではありません。高次数の端に近い分点や非常に小さい重みは指数表記になることがあります。教材の例や実装テストでは十分な場合が多い一方、厳密証明、極端な桁落ち、100桁計算には多倍長ライブラリで再計算してください。
- 基本的な検算は、すべての重みが正であること、分点が狭義単調増加であること、対称則ではx_i=−x_(n+1−i)かつw_i=w_(n+1−i)となることです。さらに定数関数の積分として重みの総和を確認できます。LegendreとLobattoは2、Chebyshev第1種はπ、Chebyshev第2種はπ/2、Hermiteは√π、一般化LaguerreはΓ(α+1)が基準です。
- 関数値を合成するときは、表の丸め値だけを再入力するより、同じページ内の計算結果をTSVで保存し、必要な精度要件を明記してください。大きさが大幅に異なる項の総和にはmath.fsum、pairwise summation、Kahan summationなどを使うと丸め誤差を抑えられます。正負が強く相殺する問題では、次数を上げた結果だけで収束を断定せず、区間分割や変数変換も比較してください。
- Gaussian則の高い次数は、被積分関数が滑らかで対象の重み関数と整合するときに効果を発揮します。不連続点、端点特異性、狭いピーク、振動が強い関数では、次数を増やしても単調に精度が上がるとは限りません。既知の特異点で区間を分割し、低い次数と高い次数の結果を比較し、必要なら適応型求積や特異性に合う別の直交多項式へ切り替えてください。
- この表のindexは数式上の添字を読みやすくするため1始まりですが、JavaScriptやPythonの配列添字は0始まりです。たとえば表のi=1は配列の0番目に対応します。左右対称の節点を対にして処理するときは、表のiとn+1−iを組にします。奇数次数の対称則では中央にx=0の行が一つだけ現れ、丸め由来の微小値は内部で0へ整えています。
- 結果を別資料へ転載するときは、方式名、次数n、Laguerreならα、分点と重みの定義、最大12有効桁表示であることを一緒に残してください。w_iだけでは、重み関数を含むGaussian形式の係数か、通常のdx積分へ換算した係数か判断できません。このページは必要な方式だけ追加の換算列を併記し、列見出しと本文で意味を区別しています。
- 直交多項式、Gaussian求積の一般則、各重み関数はNIST Digital Library of Mathematical Functionsの§3.5および§18.3を2026年7月13日に照合しました。分点は対応する直交多項式の実零点、重みは正のChristoffel数として実装しています。有限次数2〜100の数値表であり、誤差保証付き積分器、複素積分、任意精度の代替ではありません。
- 次数2〜100のbinary64数値表です。任意精度または誤差保証付き積分器ではありません。
よくある質問
α=0は入力できますか?
はい。α=0で通常のGauss-Laguerre則になり、重み関数はe^{−x}です。
αの数学上の条件は何ですか?
直交積分が収束する条件はα>−1です。この実装はbinary64の安全余裕を取り−0.999999以上に限定します。
入力した次数とパラメータ、生成した分点・重みは利用者の端末内だけで処理され、外部へ送信または保存されません。個人情報の入力欄もありません。