ロンバーグ積分

ロンバーグ積分（ロンバーグせきぶん、Romberg integrationStoer & Bulirsch, p. 161.Press et al., p. 140.）またはロンベルク積分は、関数の数値積分アルゴリズムのひとつである。この方法では台形公式とリチャードソンの補外を組み合わせ離散化幅  をゼロとする極限として数値積分を評価する。他の数値積分法に比べ、少ない回数の被積分関数の評価によって高精度の結果が得られる。

1955年にによって考案された。

 概要 
ロンバーグ積分は区間  で定義された関数  の定積分

を数値的に求めるアルゴリズムである。積分区間  を幅  の  個の小区間  (, ) に分割するとき,
数値積分アルゴリズムのひとつである台形公式は求める定積分を

により近似するStoer & Bulirsch, p. 148.Press et al., p. 133.。台形公式による値  と真の定積分の値の差は  であるが、オイラー・マクローリンの和公式（オイラーの和公式）によりそれをより詳しく評価することができる。すなわち、 が -級関数であるならば

が成立するStoer & Bulirsch, p. 160.Press et al., p. 141-142.。ここに  はベルヌーイ数 であり、 は  を満足するある数である。それ故に台形公式を  に関する漸近級数と見るとき、誤差項としては  の偶数次の項だけが現れるStoer & Bulirsch, pp. 160-161.。そこで複数の  について台形公式を適用し、それらの結果について誤差項を打ち消すようにリチャードソンの補外を行うことで、より精度の高い定積分の評価が得られる。これがロンバーグ積分である。

 アルゴリズム 
ロンバーグ積分のアルゴリズムは以下のように記述される。
 いくつかの幅 , , ...,  に対して台形公式を適用することにより定積分の近似値 , ...,  を求める.
 次の漸化式（ネヴィルのアルゴリズム）により帰納的に  を計算し、得られた  が求める補外値を与える。

幅  としては、ロンバーグは

を用いていたが、Roland Bulirschは次数が急激に増加し計算コストが増大することを抑えるために

を提案しているStoer & Bulirsch, p. 163.。

補外ステップにおいてリチャードソン補外テーブルの各項の差分に基づいて積分の収束性を判定することで、計算をどこまで進めればよいか判定することも可能であるStoer & Bulirsch, p. 164.。

 特徴 
ロンバーグ積分  の誤差は、評価に用いたステップ  から  と見積もられるStoer & Bulirsch, p. 165.。特に  をロンバーグの提案に従って選ぶときには誤差の厳密な評価

が得られている。

 に選ぶとき、リチャードソン補外において現れる  や  はシンプソンの公式によって問題の定積分を評価した値に一致する。その意味で、より多くの積分幅  での評価を行うことはニュートン・コーツの公式において積分公式を拡張することに、漸化式を解き補外を行うことは積分の次数を上げることに対応していると解釈できる。

Press らは著書「Numerical Recipes in C」においてロンバーグ積分が異なる次数の数値積分法を組み合わせた一般的な方法であることから数値積分においてこの方法を用いることを強く推奨しているPress et al., p. 130.。特に、被積分関数が積分区間において十分に滑らかであれば、ロンバーグ積分はニュートン・コーツ型の積分公式に比べて極めて少ない回数の被積分関数の評価だけで十分な精度の結果を与えるPress et al., pp. 140-141.。

なお、ネヴィルのアルゴリズムはラグランジュ多項式による補外であるが、有理関数補外を行うこともでき、この場合ロンバーグ積分における漸化式は

へと変更されるStoer & Bulirsch, pp. 164-165.。

 具体例 
次の定積分をロンバーグ積分により求めることを考えるStoer & Bulirsch, p. 162.。

積分ステップとして , ,  を取り補外を行う。その結果、次の表に示すようにロンバーグ積分によって正確な積分値を得ることができる。

+ ロンバーグ積分におけるリチャードソン補外                 

 ライブラリ 
C言語により実装されているオープンソースの科学技術計算ライブラリGNU Scientific Library (GSL) にはロンバーグ積分を行う関数が含まれている。また、Pythonの数値解析ライブラリSciPyにはロンバーグ積分により数値積分を行う scipy.integrate.romberg および scipy.integrate.romb というふたつの関数がある.

 脚注 

 参考文献 



 関連項目 
 台形公式
 シンプソンの公式
 ニュートン・コーツの公式
  - 常微分方程式の数値解法のひとつで、修正中点法の結果に対してロンバーグ積分と同様にリチャードソンの補外を行う。

Category:数値積分
Category:数学のエポニム
Category:数学に関する記事