概要
- 数値積分 手法の一つである Gaussian quadrature の解説
- Chebyshev-Gauss積分 の特徴と適用範囲
- 任意区間や関数への 変換方法
- 精度比較 や実装例の紹介
- 応用例 や注意点も含む
Gaussian QuadratureとChebyshev-Gauss積分の概要
-
Gaussian quadrature は、関数の定積分値を 特定のノード での関数評価と 重み付き和 で近似する手法
-
ノードの位置は 直交多項式の根 で決定、手法によって異なる
-
[−1,1]区間 での積分に適用しやすい設計
-
n個のノードで、 2n−1次までの多項式 を正確に積分可能
-
一般的な数値積分よりも 高次多項式の精度 が高く、計算効率も向上
- 通常の方法:n個のノードでn−1次多項式まで正確
- Gaussian quadrature:n個のノードで2n−1次多項式まで正確
-
直交多項式 は、ユークリッド空間での 内積がゼロ となる性質を持ち、計算を簡素化
Chebyshev-Gauss積分の特徴
- Chebyshev-Gauss quadrature は、 Chebyshev多項式の根 をノードに使用
- ノードは区間端に集中しやすく、 Runge現象 (端での振動)の抑制に有効
- 各ノードの重みは π/n で一定
- 適用可能な積分形式:
- ∫−11f(x)/√(1−x²)dx = Σwi f(xi)
- xi = cos(π(i+0.5)/n)
- wi = π/n
- ∫−11f(x)/√(1−x²)dx = Σwi f(xi)
- 重み関数 (積分内の√(1−x²)分母)が特徴
任意区間・関数への拡張
- 任意区間[a,b]や一般関数f(y)への適用には 変数変換 が必要
- 変数変換により、積分区間や関数形を [−1,1]区間の所定の形 へ変換
- 変換手順のビジュアル例も存在
実装例と比較
- Marimo notebook を用いたインタラクティブな実装例
- ノード数をスライダーで変更し、精度比較が可能
- 例:sin(x)を[0,π]区間で積分
- 精度比較表では、 基本的な積分法 と Chebyshev-Gauss積分 の誤差率を数値で比較
応用例と注意点
- EIV_IGP_jax ライブラリでの応用例
- 海面上昇率推定のための ガウス過程事前分布 にMCMCを適用
- 観測値との比較に Chebyshev-Gauss積分 を利用
- ベクトル化・ブロードキャストによる効率化実装
- 重み関数 と 数値積分の重み の混同に注意
- Chebyshev-Gauss積分では、積分形式の分母に √(1−x²) が必要
まとめ
- Gaussian quadrature は高精度な数値積分手法
- Chebyshev-Gauss積分 は特定の関数形に最適
- 任意区間や関数にも 変換で対応可能
- 実装や応用例も豊富で、 実用性が高い数値解析手法