第1種ガウス・チェビシェフ求積法の分点と重みを計算

第1種ガウス・チェビシェフ求積法の分点と重みを計算

次数nから、第1種Chebyshev重み1/√(1−x²)に対応する分点・重み・通常積分用係数を表示します。

入力

2以上100以下の整数です。表はn行になります。

使い方

  1. 求積方式と積分区間、重み関数が目的の式に一致することを確認し、次数nを2〜100で入力します。
  2. 計算後、分点の昇順、重みの正値、対称性または重み総和を確認し、必要な行をTSVとしてコピーします。
  3. 被積分関数を各x_iで評価して対応する係数と掛け、nを変えた結果や独立した求積法と比較します。

計算式・考え方

∫_{−1}^{1}f(x)/√(1−x²)dx≈(π/n)Σf(x_i)、x_i=cos((2i−1)π/(2n))です。通常の∫g(x)dxには追加列w_i√(1−x_i²)をg(x_i)へ掛けます。

注意事項

  • 第1種Chebyshev則は端点で発散する重み1/√(1−x²)を公式側へ含めます。そのため全Gaussian重みw_iはどの行もπ/nですが、分点は端点近くへ密集します。被積分関数自体がこの重みを含む問題と、重みなしの通常積分へ換算する問題を混同しないでください。
  • 追加列はw_i√(1−x_i²)で、重みなしの∫g(x)dxを同じ分点で近似するときの係数です。θ変換x=cosθに対応し、Σw_i=πが定数の重み付き積分の検算になります。通常積分用係数の総和は有限次数では2へ近づきますが、Gaussian重みの総和と同一ではありません。
  • 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数値表です。任意精度または誤差保証付き積分器ではありません。

よくある質問

なぜ全行のw_iが同じですか?

第1種Chebyshev則では閉形式w_i=π/nとなるためです。分点の間隔は等間隔ではありません。

追加列はいつ使いますか?

重み関数1/√(1−x²)を含まない通常のdx積分を、同じChebyshev分点で近似するときに使います。

入力した次数とパラメータ、生成した分点・重みは利用者の端末内だけで処理され、外部へ送信または保存されません。個人情報の入力欄もありません。