ガウス求積

ガウス求積とは



ガウス求積(Gaussian quadrature)は、数値解析における数値積分法の一つで、カール・フリードリヒ・ガウスによって考案されました。この方法は、ある閉区間(通常は[-1, 1]に標準化)で定義された実数値関数の定積分値を、比較的少ない計算量で高精度に求めることができます。

基本原理



nを正の整数とし、f(x)を任意の多項式関数とします。区間[-1, 1]におけるf(x)の定積分値Iを、以下の形で近似することを考えます。


I ≈ ∑[i=1 to n] wᵢ f(xᵢ)


ここで、xᵢは積分点(ガウス点またはガウスノード)、wᵢは重みと呼ばれる実数です。ガウス求積の鍵となるのは、これらの積分点と重みを適切に選ぶことで、高精度の近似を実現できる点です。

ルジャンドル多項式との関係



特に、n次のルジャンドル多項式のn個の零点(すべて[-1, 1]内に存在)を積分点として選び、適切な重みwᵢを用いると、f(x)が2n-1次以下の多項式であれば、上記の式が厳密に成立します。この方法をn次のガウス・ルジャンドル公式と呼びます。通常、ガウス求積と言えば、この方法を指すことが多いです。

f(x)が2n-1次を超える多項式や、多項式関数でない場合でも、f(x)が2n-1次以下の多項式で精度良く近似できる場合には、ガウス求積を適用することで、その定積分値を精度良く得ることが期待できます。しかし、特異点を持つ関数など、直接適用できない場合もあります。

重み関数を用いた拡張



被積分関数をf(x) = W(x)g(x)と表すことができ、g(x)が多項式で近似でき、W(x)が既知の関数(重み関数)である場合、それに対応する適切な重みwᵢを用いて、以下のように表すことができます。


I ≈ ∑[i=1 to n] wᵢ
g(xᵢ)


典型的な重み関数としては、ガウス・チェビシェフやガウス・エルミートなどがあります。

ガウス–チェビシェフ: W(x) = (1 - x²)⁻¹/²
ガウス–エルミート: W(x) = exp(-x²)

この場合、積分点xᵢはルジャンドル多項式と同様に、ある直交多項式のクラスに属するn次多項式の根となります。

ガウス・ルジャンドル公式による求積



n次のガウス・ルジャンドル公式では、n次のルジャンドル多項式Pₙ(x)が対応します。Pₙ(1) = 1となるように正規化され、i番目のガウスノードxᵢはi番目のPₙの根となります。重みwᵢは、以下の式で与えられます。


wᵢ = 2 / ((1 - xᵢ²) (P'ₙ(xᵢ))²)


区間の変更



一般的な積分区間[a, b]に対してガウス求積を適用するには、区間を標準区間[-1, 1]に変換する必要があります。これは、以下の線形変換で行うことができます。


t = ((b - a)
x + a + b) / 2


この変換により、以下の積分近似が得られます。


∫[a to b] f(t) dt ≈ ((b - a) / 2) ∑[i=1 to n] wᵢ f(((b - a) xᵢ + a + b) / 2)


その他の形式



重み関数ωを導入することで、より汎用的な積分問題が表現できます。区間[-1, 1]以外にも適用可能であり、以下のような形式で表されます。


∫[a to b] ω(x)
f(x) dx ≈ ∑[i=1 to n] wᵢ f(xᵢ)


基礎となる定理



pₙをn次の多項式で、n個の零点をノードとして選ぶと、次数が2n-1以下の任意の多項式について正確な積分値を与えるn個の重みwᵢを選ぶことができます。これらのノードは重複がなく、すべて開区間(a, b)にあります。

計算方法



ガウス求積法のノードxᵢと重みwᵢを計算するための基本的なツールは、直交多項式群と対応する重み関数が満たす3項漸化式です。例えば、モニックなn次直交多項式pₙの場合、以下の漸化式で関係を表すことができます。


pₙ₊₁(x) = (x - bₙ)pₙ(x) - aₙpₙ₋₁(x)


この漸化式から、対応する行列の固有値と固有ベクトルを用いて、ノードと重みを計算することができます。このアルゴリズムは一般にGolub–Welschアルゴリズムと呼ばれます。

誤差の見積もり



ガウス求積法の誤差は、被積分関数が連続な2n次の導関数を持つ場合、以下のように定式化できます。


∫[a to b] f(x) dx - ∑[i=1 to n] wᵢ f(xᵢ)
= (f^(2n)(ξ) * (pₙ(x))²) / ((2n)!)


ただし、ξは区間(a, b)内にあり、pₙはn次の直交多項式です。実際には、この誤差見積もりは2n次の導関数を見積もるのが難しいため、実用的にはあまり用いられません。別の手法として、次数の異なるガウス求積法を使い、結果の差分から誤差を見積もる方法があります。ガウス=クロンロッド求積法がこの目的に便利です。

ガウス=クロンロッド求積法



ガウス=クロンロッド求積法は、ガウス求積法のn個の点にn+1個の点を追加し、求積法の次数を2n+1にする方法です。これにより、低次の近似で使う関数値を高次の近似の計算に再利用できます。通常のガウス求積法とクロンロッド拡張による近似の差分は、誤差の見積もりに活用されます。

ガウス求積は、数値積分において高い精度と効率性を両立させる強力な手法です。様々な分野で広く活用されており、その理論的な基盤は、数学と計算科学の重要な領域を形成しています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。