ガウス・ヤコビ求積法の分点と重みを計算
次数nとα・βから、Gauss-Jacobi求積の分点、重み、通常積分用係数を一覧表示します。
計算結果
- Gauss-Jacobi分点・重みの数値表
-
計算すると数値表を表示します。
Gauss-Jacobi分点・重みの数値表。分点の小さい順に、1始まりの番号、分点、Jacobi重み、通常積分用係数を示します。 番号 i 分点 x_i Gaussian重み w_i 通常積分用 w_i/[(1−x_i)^α(1+x_i)^β]
使い方
- 次数nを2〜100で入力し、重み関数(1−x)^α(1+x)^βのαとβを−0.99〜100で指定します。
- 計算後、分点の昇順、全重みの正値、重み総和を確認し、目的に応じてGaussian重み列か通常積分用係数列を選びます。
- 必要な行をTSVでコピーし、α、β、次数、列の定義、最大12有効桁であることを結果と一緒に保存します。
- 積分へ使う前に、低次数・高次数やSciPy等の独立実装と比較し、端点付近の感度が許容できるか確認します。
計算式・考え方
∫_{−1}^{1}(1−x)^α(1+x)^βf(x)dx≈Σw_i f(x_i)、α,β>−1です。x_iはP_n^(α,β)の零点です。通常の∫g(x)dxにはw_i/[(1−x_i)^α(1+x_i)^β]を使います。
注意事項
- このページは積分値ではなく、次数nに対応する分点x_i、Gaussian重みw_i、通常積分用係数の一覧を作ります。既定値n=20、α=2、β=3は参照値に合わせています。先頭行はx_1が約−0.961650415594013、w_1が約9.13383261575096×10^−6、通常積分用係数が約0.0420850486696239です。番号iは数式に合わせて1から始まり、表は分点の小さい順です。プログラムの0始まり配列へ移す場合は添字を一つずらしてください。
- 重みw_iは重み付き積分∫(1−x)^α(1+x)^βf(x)dxへ使います。通常の∫g(x)dxを同じ分点で近似する場合だけ、追加列のw_i/[(1−x_i)^α(1+x_i)^β]をg(x_i)へ掛けます。両方の係数を同時に使ったり、通常積分用係数へさらにJacobi重みを掛けたりすると別の積分になります。表を転載するときはα、β、n、各列の意味、最大12有効桁表示であることを必ず併記してください。
- 下限n=2でも表は2行です。α+β=−1の有効例を含め、重み総和と正値性を確認できます。高次数では端点付近へ分点が集まり、左右非対称なα、βでは分点配置と重みも非対称です。通常積分用係数の全行を高精度保証する表ではないため、特に−0.99付近または100付近のパラメータでは、次数を変えた積分結果とSciPy等の独立実装を比較してください。
- Gauss-Jacobi求積は、標準区間[−1,1]で重み関数(1−x)^α(1+x)^βを持つ積分に合わせたGaussian求積です。分点はJacobi多項式P_n^(α,β)の零点で、重みはすべて正です。数学上の条件はα>−1かつβ>−1ですが、この計算機はbinary64で通常積分用係数まで安全に扱うため、入力範囲を−0.99以上100以下、次数を2以上100以下へ限定しています。境界−1へ極端に近い値を任意精度の理論値として扱う機能ではありません。
- n点のGauss-Jacobi則は、重み関数を含めた2n−1次以下の多項式を丸め誤差の範囲で正確に積分します。これは一般の関数に対する誤差保証ではありません。不連続、区間内部の極、急な振動、端点で重みと合わない特異性があると、次数を増やしても単調に改善しない場合があります。既知の解析値、別の求積方式、区間分割、より高い精度の独立実装を併用して、目的に必要な精度を判断してください。
- 0次モーメント、すなわち重みの総和は2^(α+β+1)Γ(α+1)Γ(β+1)/Γ(α+β+2)です。内部ではGamma関数を直接掛け合わせず、対数Gammaから指数化して尺度の大きな中間値を避けています。検算では全重みが正であること、分点が−1と1の間で狭義単調増加すること、重み総和が0次モーメントに一致することを確認できます。α=βなら分点は原点について対称になり、左右の重みも一致します。
- 分点と重みは対称三重対角Jacobi行列の固有値問題から求めています。特にα+β=−1では、最初の非対角成分を未約分の一般式へそのまま代入すると0/0になります。この実装は共通因子を解析的に消した式を使い、たとえばα=−0.9、β=−0.1のような有効な入力を拒否したりNaNへ変えたりしません。反復が収束しない場合、重みが非正になる場合、結果が有限値でない場合は推測値を表示せずエラーにします。
- 通常積分用係数は、Gaussian重みw_iを分点での重み関数(1−x_i)^α(1+x_i)^βで割った値です。端点に近い分点では分母が非常に小さくなることがあるため、内部では対数領域で構成します。αまたはβが大きいと、この逆重みによって通常積分用係数の尺度が広がり、重みなしの被積分関数が端点付近で強く効くことがあります。有限値が得られたという理由だけで高精度とは判断せず、次数を変えた結果を確認してください。
- 表示とTSVコピーは最大12有効桁です。内部計算もIEEE 754 binary64であり、表示桁数は誤差区間や全桁保証を意味しません。参照値が20桁以上で示される場合でも、計算精度を超える桁を正しい値として再掲しません。端点近くの分点、小さいGaussian重み、通常積分用係数は丸めへの感度が高いため、高精度な論文値や標準表を作る用途では多倍長計算と独立した固有値解法で再確認してください。
- αとβを交換すると、重み関数の左右が入れ替わるため、分点は符号反転して逆順に対応し、重みも逆順に対応します。この関係は入力欄を取り違えていないか確かめる有効な検算です。ただしαは(1−x)側、βは(1+x)側であり、文献によって記号やJacobi多項式の規約が違う場合があります。式の形、区間、パラメータの順番を名称だけでなく明示された定義と照合してください。
- 計算は利用者のブラウザ内で完結します。外部API、CDN、fetch、サーバー側計算を使わず、入力した次数、α、β、関数式、区間、計算結果を送信または保存しません。式の評価もevalやnew Functionを使わず、許可された字句を解析した有界な式評価器で行います。サーバー負荷を増やさずに何度でも条件を変えられますが、端末を閉じると入力内容は残らないため、必要な結果は条件とともにTSV等へ保存してください。
- 数値積分の次数比較で表示するabsolute-changeは、現在次数と直前次数の推定値の絶対差です。relative-changeはその差を現在推定値の絶対値で割った値です。どちらも真値との差や誤差上界ではありません。連続する二つの次数が偶然ほぼ同じでも、両方が同じ特異性を見落とすことがあります。転載時には『誤差』と省略せず『隣接次数間の変化』と書き、使用した式、区間、モード、α、β、次数も残してください。
- 被積分関数が分点で非有限値になる場合は計算を中止します。平方根や対数の定義域、0除算、指数関数のオーバーフロー、区間内部の特異点を事前に確認してください。分点が特異点へ偶然一致しなかった場合でも積分が存在するとは限らず、Cauchy主値を通常の積分として自動解釈しません。既知の不連続点や可積分特異点があるときは、解析的な変数変換や適切な区間分割、特異性に合う求積法を検討してください。
- Gauss-Jacobi則はLegendre則をα=β=0として含み、Chebyshev型の端点重みも特定のパラメータで表現できます。しかし、同じ有限次数での丸めや閉形式の専用実装まで完全に同一とは限りません。用途に合う専用方式がある場合はその既知の対称性や係数を利用した方が検算しやすいことがあります。Jacobi版は左右で異なる端点挙動を一つの公式に取り込める点が主な利点です。
- 直交多項式とGaussian求積の定義、Jacobi重みの区間と条件はNIST Digital Library of Mathematical Functions §3.5(v)およびTable 18.3.1を2026年7月13日に照合し、分点・重みの独立検算にはSciPyのscipy.special.roots_jacobiを使用しました。このページは有限次数の教育・実装確認・一般的な数値試算向けであり、任意精度積分器、証明付き誤差評価、複素積分、医療・安全・金融判断の保証を提供しません。
- binary64・最大12有効桁の有限次数による数値表です。任意精度や誤差保証を提供しません。
よくある質問
Gaussian重みと通常積分用係数はどう使い分けますか?
Jacobi重みを公式側へ含む積分にはw_i、重みなしのdx積分を同じ分点で近似するときだけ追加列を使います。
α+β=−1は入力できますか?
はい。各値が−0.99〜100なら有効で、0/0になる未約分式を避けた専用の安定化を使います。
入力した次数、α、β、生成した分点と重みは利用者の端末内だけで処理され、サーバーや外部APIへ送信・保存されません。