MCPで接続 →

計算を入力してください

公式

広告

結果

積分の近似値
0.9726059074
Gauss-Laguerre quadrature, n = 10, alpha = 0
計算手法 一般化ガウス・ラゲール法(Golub-Welsch)
ノード数 n 10
パラメータ α 0

ガウス・ラゲール求積法とは

ガウス・ラゲール求積法は、被積分関数が指数関数的に減衰する半無限区間 (0,∞) の広義積分を近似する数値計算手法です。積分を、ノードと呼ばれる慎重に選ばれた標本点での重み付き和に置き換えて計算します。次数 \(n\) を選ぶと、この求積公式は重み \(x^{\alpha} e^{-x}\) に対して \(2n-1\) 次までの任意の多項式を厳密に積分できます。そのため、滑らかな被積分関数であれば、わずか数点の評価だけで驚くほど高い精度が得られます。

正のx軸上で減衰する重み関数 x^alpha × e^マイナスx の曲線とサンプル節点の表示
ガウス・ラゲール法は重み \(x^{\alpha} e^{-x}\) を用いて (0, 無限大) で積分します。この重みは0へ減衰します。

この計算ツールの使い方

まず入力モードを選びます。積分がすでに \(\int x^{\alpha} e^{-x} f(x)\, dx\) の形になっていて、係数 \(f(x)\) の部分だけを入力したい場合は f(x) を選択してください。区間 (0,∞) 上の被積分関数 \(g(x)\) 全体を入力したい場合は g(x) を選びます。この場合、組み込みの重み関数は自動的に割り戻されます。関数は変数 \(x\) を用いた標準的な記法(+、-、*、/、^、sqrt、exp、ln、sin、cos、tan など)で入力し、ノード数 \(n\) と重みのパラメータ \(\alpha\) を設定します(通常のガウス・ラゲール法では \(\alpha=0\) とします)。滑らかな関数であれば、\(n\) を大きくするほど精度が向上します。

計算式の解説

ノード \(x_i\) は一般化ラゲール多項式 \(L_n^{(\alpha)}(x)\) の零点であり、重み \(w_i\) はゴラブ・ウェルシュ(Golub-Welsch)アルゴリズムによって求められます。すなわち、対称三重対角ヤコビ行列の固有値がノードを与え、重みは \(w_i = \Gamma(\alpha+1) \times\)(正規化された各固有ベクトルの第一成分の二乗)として得られます。積分は、上記の重み付き和によって近似されます。

$$\int_{0}^{\infty} x^{\alpha} e^{-x}\, g(x)\, dx \approx \sum_{i=1}^{n} w_i\, g(x_i)$$

節点での関数値の重み付き和で近似された広義積分
積分は、節点 \(x_i\) での \(f\) の値に重み \(w_i\) を掛けた有限の重み付き和に置き換えられます。

計算例

\(\alpha=0\)、\(n=2\)、モード \(f(x)\)、\(f(x)=x^2\) とします(つまり \(\int x^2 e^{-x}\, dx\) を推定します。厳密値は \(\Gamma(3)=2\) です)。2つのノードは \(x_1 = 2 - \sqrt{2} = 0.585786\)(重み \(w_1 = 0.853553\))と \(x_2 = 2 + \sqrt{2} = 3.414214\)(重み \(w_2 = 0.146447\))です。和を計算すると $$0.853553 \times 0.343146 + 0.146447 \times 11.656854 = 0.292893 + 1.707107 = 2.000000$$ となり、厳密値と完全に一致します。これは \(x^2\) が \(2n-1 = 3\) 以下の次数の多項式だからです。

よくある質問

パラメータ \(\alpha\) は何を設定するものですか? 重み関数 \(x^{\alpha} e^{-x}\) における指数を設定します。標準的なガウス・ラゲール法では \(\alpha=0\) を使います。重みが積分可能であるためには、\(\alpha > -1\) を満たす必要があります。

結果の精度が低いのはなぜですか? 被積分関数が滑らかでないか、または区間 (0,∞) 上で十分に速く減衰していないことが原因です。この求積公式は常に有限の値を返しますが、その結果が意味を持つのは、真の積分が収束し、かつ被積分関数が「多項式 × 重み」で良く近似できる場合に限られます。\(n\) を大きくして収束を確認してください。

f モードと g モードの違いは何ですか? f モードでは組み込みの重みに掛かる係数だけを入力します。一方 g モードでは被積分関数全体を入力し、和の内部で重みが割り戻されます。整合的に設定すれば、どちらのモードでも同じ結果が得られます。

最終更新: