数学の数値解析の分野におけるガウス=クロンロッド求積法(ガウス=クロンロッドきゅうせきほう、)とは、(積分の近似値を計算するための)数値積分法の一種である。ガウス求積法の変形版であり、精度の低い近似での計算結果から得られる情報を再利用することで、より精度の高い近似を行うことが出来るように評価点を選ぶ求積法である。入れ子型求積則(nested quadrature rule)の一例で、函数の評価点の集合の中に高位と低位の二種類の求積則が存在する(後者は「埋め込み則」(embedded rule)と呼ばれる)。それら二つの近似の差は、積分の計算誤差を推定するために用いられる。
ガウス=クロンロッド求積法は、1960年代にこの求積法を発見したと、カール・フリードリヒ・ガウスの名にちなむ。
解説
数値積分の問題では、次の形式の定積分の近似値を求める。
このような積分の近似値は、例えば n-点ガウス求積法
によって求めることが出来る。ここで wi は重みであり、xi は函数 f(x) の評価点である。
区間 [a, b] を細分するとき、新しい区間のガウスの求積法の分点の分布は決して以前の分点分布とは一致しない(ただし評価点が奇数である場合には中央の点だけは一致する)。したがって被積分関数はそれら全ての点において評価しなければならない。ガウス=クロンロッド求積法は、上述のガウス求積法にさらに 個の評価点を追加することで、評価点の数を とするように拡張された求積法である。そのような新たな点は、スティルチェス多項式の零点で与えられる。このような方法によって、函数の低位の推定に用いた関数評価の値を無駄にせずに再利用して、高位の推定を行うことが可能となる。ガウス求積法とガウス=クロンロッド求積法の差は、しばしば近似誤差の推定に用いられる。
例
以下に、7-点ガウス則と 15-点クロンロッド則を組み合わせる有名な例を挙げる。ガウス則G7の点はクロンロッド則K15の点に組み込まれるので、求積(および誤差推定)に必要な函数の評価の回数は全部で 15 となる(表中で星印*の付いた積分点の座標はG7とK15で共通である)。
{| class="wikitable" style="background-color:white" |+ [−1,1] 上の (G7,K15) |- ! ガウス点 !! !! 重み |- | ±0.94910 79123 42759 || ∗ || 0.12948 49661 68870 |- | ±0.74153 11855 99394 || ∗ || 0.27970 53914 89277 |- | ±0.40584 51513 77397 || ∗ || 0.38183 00505 05119 |- | style="text-align:right" | 0.00000 00000 00000 || ∗ || 0.41795 91836 73469 |- ! クロンロッド点 !! !! 重み |- | ±0.99145 53711 20813 || || 0.02293 53220 10529 |- | ±0.94910 79123 42759 || ∗ || 0.06309 20926 29979 |- | ±0.86486 44233 59769 || || 0.10479 00103 22250 |- | ±0.74153 11855 99394 || ∗ || 0.14065 32597 15525 |- | ±0.58608 72354 67691 || || 0.16900 47266 39267 |- | ±0.40584 51513 77397 || ∗ || 0.19035 05780 64785 |- | ±0.20778 49550 07898 || || 0.20443 29400 75298 |- | style="text-align:right" | 0.00000 00000 00000 || ∗ || 0.20948 21410 84728
推奨される誤差の推定値は である。
では、このタイプのさらなる拡張を見つける方法が示されている。
実装 に実装されているQUADPACK (part of SLATEC)source code。QUADPACK は数値積分を FORTRAN 77 で実装したものである。(Netlib における)SLATEC は、数値計算のための広範なパブリック・ドメイン・ライブラリである。 QUADPACK は SciPy、R言語R: Integration of One-Dimensional Functions、GNU Octave、NAG Numerical Libraries などで用いられている。 QUADPACK は GNU Scientific Library にてC言語に移植されている。 Boost に実装されているGauss-Kronrod Quadrature - 1.69.0。 ALGLIB source code in C#, C++, Delphi & Visual Basic
関連項目 同程度の精度を備える別の入れ子型求積則
注釈
参考文献 Notaris, S. E. (2016). Gauss–Kronrod quadrature formulae–a survey of fifty years of research. Electron. Trans. Numer. Anal, vol.45, pp.371-404.
. (Authorized translation from the Russian). (Reference guide for QUADPACK). . Erratum in Math. Comp. 23: 892.