ガウス求積法計算機とは?
これは純粋な数学のツールで(どの国で使っても結果は同じです)、選択したガウス求積法を用いて定積分を数値的に近似します。ガウス求積法では、ノード(節点)と呼ばれる巧みに選ばれた少数の評価点で被積分関数の値を求め、それぞれに対応する重みを掛けて合計します。\(n\) 個の点を用いると \(2n-1\) 次までの多項式を厳密に積分できるため、滑らかな関数に対しては台形則やシンプソン則のように等間隔で評価する方法よりもはるかに高い精度が得られます。
使い方
まず求積法を選び、点の数 \(n\) を設定します。続いて被積分関数 \(f(x)\) を標準的な記法(+ − * / ^、括弧、sin、cos、tan、exp、log、ln、sqrt、abs、pi、e)で入力してください。有限区間の求積法では積分の下限 \(a\) と上限 \(b\) も指定します。重み関数 \(w(x)\) は各求積法にあらかじめ組み込まれているため、入力するのは滑らかな部分 \(f(x)\) だけで構いません。すなわちガウス・ラゲールでは \(x^{\alpha} e^{-x}\) の因子を、ガウス・エルミートでは \(e^{-x^2}\) を、チェビシェフ/ヤコビでは \((1-x^2)\) の重みを省いてください。「有効桁数」のプルダウンは表示する桁数を変えるだけです。
計算式
どの求積法も基本の形は同じです。標準区間における \(w(x)\,f(x)\) の積分は、\(w_i\) と \(f(x_i)\) の積の総和で近似されます。 $$\int_{a}^{b} f(x)\,dx \approx \frac{b-a}{2}\sum_{i=1}^{n} w_i\, f\!\left(\frac{b-a}{2}x_i + \frac{a+b}{2}\right)$$ ここでノード \(x_i\) は対応する直交多項式の根であり、重み \(w_i\) はゴルブ・ウェルシュ(Golub-Welsch)法で求められます。重み 1 の任意の有限区間 \([a,b]\) では、\([-1,1]\) 上の標準ノード \(t_i\) を \(x_i = \frac{b-a}{2} t_i + \frac{a+b}{2}\) で変換し、総和全体を \(\frac{b-a}{2}\) 倍してスケールします。
計算例
ガウス・ルジャンドル、\(n=20\)、\(f(x)=4/(1+x^2)\)、\(a=0\)、\(b=1\) を選びます。厳密な値は \(4\arctan(1) = \pi = 3.14159265358979\) です。20 点のルジャンドル則はノードを \([0,1]\) に写像し、重みを \(\frac{1}{2}\) 倍してスケールした結果、\(3.141592653589793\) を返します。これは倍精度の全桁にわたって \(\pi\) と一致しています。これが \(4/(1+x^2)\) を既定の被積分関数としている理由です。
よくある質問
ラゲールやエルミートで答えがおかしく見えるのはなぜ? これらの求積法には \(e^{-x}\) や \(e^{-x^2}\) の重みがすでに含まれています。被積分関数全体ではなく、残りの因子だけを入力してください。たとえば全実数直線上での \(e^{-x^2}\) の積分を求めるには \(f(x)=1\) と設定します。すると \(\sqrt{\pi}\) が得られます。
alpha と beta は何のための値ですか? \(\alpha\) はラゲールの重み \(x^{\alpha}\) の指数であり、ヤコビの一方の指数でもあります。\(\beta\) はヤコビのもう一方の指数です。どちらも \(-1\) より大きくなければならず、そうでないと重みの積分が発散します。
点を増やせば必ず精度は上がる? 滑らかな関数では \(n\) を大きくするほど精度が向上しますが、区間内に特異点や鋭いピークがある関数ではかえって悪化することがあります。\(n\) は少しずつ増やし、収束の様子を確認しながら進めてください。