数値積分 (すうちせきぶん、英 : numerical integration )とは、狭義には与えられる関数の定積分 の値を、解析的 にではなく数値的に求める求積法 のことであり、広義には与えられる導関数 から原関数を求める手法、また微分方程式 を数値的に解く手法 (常微分方程式の数値解法 、偏微分方程式の数値解法 ) を含む[ 1] 。数値解析 の一分野である。
狭義の数値積分(関数の定積分の値を求める方法)は有限要素法 などで応用されている[ 1] 。
以下では、狭義の数値積分について述べる。
乱数を用いない積分法
1変数の定積分の数値積分として、乱数を使わない方法には、
などがある。
ニュートン・コーツ系の公式の場合、中点則と台形公式の誤差項はどちらも2階導関数で表され、シンプソンの公式とシンプソンの3/8公式の誤差講はどちらも4階導関数で表される。滑らかな関数の場合には同じ誤差のグループ同士では結果に大きな違いは生じない。通常はシンプソンの公式の方が台形公式よりも近似誤差が小さいが、そうならない場合もある。
二重指数関数型数値積分公式 、IMT積分[ 2] などの変数変換を用いた公式を適用すれば、被積分関数が端点に特異性を持つ場合でも、積分値を計算することが可能な場合もある。
多重積分
2変数以上の多重積分 の場合は、外側から積分し、外の変数を定数として内側の積分を数値積分すれば良い。ただし一般に、変数の数が多くなると、統計的サンプリングに基づいたモンテカルロ法 や準モンテカルロ法の方が計算効率が良くなる。
なお、1983年当時における多重積分 の理論、アルゴリズムの状況は次元に応じて次のように分類されている[ 3] [ 4] 。
Range O(2次元):満足のできる状況.
Range I(3−7次元):積型公式(直積型公式)かその変形によりなんとか扱える.
Range II(7−15次元):Ranges I と IIIの 境界領域.
Range III(15次元以上):モンテカルロ法 や準モンテカルロ法が必要になる.
高次元空間での数値積分は金融工学 や量子物理学などの分野でよく用いられるため、活発に研究されている[ 4] [ 5] 。
精度保証付き数値積分
定積分の精度保証付き数値計算 は、被積分関数の多項式近似と多項式の値を精度保証付き数値計算で求める技術を組み合わせて実現される。多項式の値を計算する際にはホーナー法 が使われ、多項式近似にはテイラー展開 や多項式補間 が使われる[ 6] 。
直交関数の零点を利用する近似公式
ガウス求積 は直交多項式 の零点を活用する積分公式である[ 1] 。ベッセル関数 の零点を活用する積分公式も開発されており、被積分関数がベッセル関数 を含む場合に有効とされている[ 7] [ 8] 。
超関数を使った積分
特異点 を持つ積分の場合、佐藤超函数 を経由して複素数値積分に持ち込むことで特異点 を避け、誤差を抑えられる手法が提案されている[ 9] [ 10] [ 11] [ 12] 。
部分積分を使った数値積分
振動積分に対しては部分積分 を組み合わせた数値積分が提案されている[ 13] [ 14] 。
乱数を用いる積分
被積分関数の定義域が高次元のために各変数ごとの積型積分近似公式では必要とする精度に対する計算量が多くなりすぎる場合(次元の呪い が発生する場合)にはモンテカルロ法 の方が計算の能率が良くなる。
単純なモンテカルロ積分
加重サンプリングを行う VEGAS 法
層化抽出法 を行うよう改良を加えた MISER 法
などがあり、このような数値積分法はモンテカルロ積分法 とよばれる。
一様乱数の代わりに超一様分布列 (英語版 ) を使うと準モンテカルロ法 (英語版 ) になり、収束がより速くなる場合がある。
確率論 やランダム行列 理論などを用いて上記の近似公式とモンテカルロ積分法を融合させたアルゴリズムも提案されている[ 15] 。
積分範囲が無限区間の場合
積分範囲が無限区間の場合は、下記の方法で置換積分 で変換して数値積分する方法がある。ただし関数によっては違う方法を利用した方が良い場合もある。無限大に近づくときに急激に0に収束することが解析的に分かっている場合は、積分範囲を有界で区切ってしまえば良い場合もある。
∫
−
∞
∞
f
(
x
)
d
x
=
∫
−
1
1
f
(
t
1
−
t
2
)
1
+
t
2
(
1
−
t
2
)
2
d
t
{\displaystyle \int _{-\infty }^{\infty }f(x)\,dx=\int _{-1}^{1}f\left({\frac {t}{1-t^{2}}}\right){\frac {1+t^{2}}{(1-t^{2})^{2}}}\,dt}
∫
−
∞
∞
f
(
x
)
d
x
=
∫
0
1
(
f
(
1
−
t
t
)
+
f
(
−
1
−
t
t
)
)
1
t
2
d
t
{\displaystyle \int _{-\infty }^{\infty }f(x)\,dx=\int _{0}^{1}\left(f\left({\frac {1-t}{t}}\right)+f\left(-{\frac {1-t}{t}}\right)\right){\frac {1}{t^{2}}}\,dt}
∫
a
∞
f
(
x
)
d
x
=
∫
0
1
f
(
a
+
1
−
t
t
)
1
t
2
d
t
{\displaystyle \int _{a}^{\infty }f(x)\,dx=\int _{0}^{1}f\left(a+{\frac {1-t}{t}}\right){\frac {1}{t^{2}}}\,dt}
∫
−
∞
b
f
(
x
)
d
x
=
∫
0
1
f
(
b
−
1
−
t
t
)
1
t
2
d
t
{\displaystyle \int _{-\infty }^{b}f(x)\,dx=\int _{0}^{1}f\left(b-{\frac {1-t}{t}}\right){\frac {1}{t^{2}}}\,dt}
数値積分が困難な場合
数値積分のアルゴリズムは、滑らかである、連続である、特異点の数や場所が限られている、など、それぞれアルゴリズムが何らかの前提条件を関数にかけていて、それに沿った物が正常に積分できる。例えば、無数に不連続点がある関数は、基本的に数値積分が困難である。更に、広義積分 可能であることも通常は前提条件に入っていて、コーシーの主値 積分としては積分可能であっても、広義積分不可能な関数は、前提が崩れるためおかしな結果になる場合がある。
例えば
∫
−
1
1
1
x
d
x
{\displaystyle \int _{-1}^{1}{\frac {1}{x}}\,dx}
はコーシーの主値積分では 0 であるが、広義積分不可能であり[ 16] 、これを数値積分すると(そもそも正しい結果が無いが)おかしな結果が返ってくることがある。定積分が広義積分可能であるかどうかは簡単には判断が付かない場合もあるため注意が必要である。
実装
近似計算
精度保証付き
出典
^ a b c 山本哲朗『数値解析入門』(増訂版)サイエンス社 〈サイエンスライブラリ 現代数学への入門 14〉、2003年6月。ISBN 4-7819-1038-6 。
^ 伊理正夫, 森口繁一, 高澤嘉光「ある数値積分公式について (科学計算基本ライブラリーのアルゴリズムの研究会報告集) 」『数理解析研究所講究録』第91巻、京都大学数理解析研究所、1970年8月、82-118頁、CRID 1050001201939101568 、hdl :2433/108132 、ISSN 1880-2818 。
^ Davis,P. J. and Rabinowitz,P.: Methods of Numerical Integration ,2nd Edition,Academic Press,San Diego,1984.
^ a b 手塚集「数値多重積分に関する話題(<特集>数値計算) 」『応用数理』第8巻第4号、日本応用数理学会、1998年、267-276頁、CRID 1390282680742275200 、doi :10.11540/bjsiam.8.4_267 、ISSN 09172270 。
^ 加藤公一「量子コンピュータを用いた数値積分計算について 」(PDF)『Unisys技報 : Unisys technology review』第26巻第2号、日本ユニシス、2006年8月、150-167頁、CRID 1521980704882269440 、ISSN 09149996 。
^ 大石進一『精度保証付き数値計算 』コロナ社〈現代非線形科学シリーズ〉、2000年。ISBN 9784339026054 。https://ndlsearch.ndl.go.jp/books/R100000002-I000002845431 。
^ 緒方秀教, 杉原正顯 「Bessel関数を含む振動積分に対する数値積分公式(数値計算アルゴリズムの現状と展望II) 」『数理解析研究所講究録』第915巻、京都大学数理解析研究所、1995年6月、171-181頁、CRID 1050001202174401664 、hdl :2433/59609 、ISSN 1880-2818 。
^ 緒方秀教, 杉原正顯「Bessel関数の零点を標本点に持つ補間および数値積分公式 」『日本応用数理学会論文誌』第6巻第1号、日本応用数理学会、1996年、39-66頁、doi :10.11540/jsiamt.6.1_39 。
^ 緒方秀教「佐藤超函数論に基づく数値解析 」『応用数理』第27巻第4号、日本応用数理学会、2017年12月、8-15頁、CRID 1390001205765195776 、doi :10.11540/bjsiam.27.4_8 、ISSN 2432-1982 。
^ 緒方秀教「佐藤超函数論に基づく数値積分 (現象解明に向けた数値解析学の新展開 II) 」『数理解析研究所講究録』第2037巻、京都大学数理解析研究所、2017年7月、57-60頁、CRID 1050564288162787200 、hdl :2433/236858 、ISSN 1880-2818 。
^ 緒方秀教, 平山弘「数値積分に対する超函数法 」『日本応用数理学会論文誌』第26巻第1号、日本応用数理学会、2016年、33-43頁、CRID 1390001205769013120 、doi :10.11540/jsiamt.26.1_33 、ISSN 2424-0982 。
^ Ogata, Hidenori (2019). “A numerical method of computing oscillatory integral related to hyperfunction theory” . arXiv preprint arXiv:1909.04911 . doi :10.48550/arXiv.1909.04911 . https://doi.org/10.48550/arXiv.1909.04911 .
^ 平山弘「部分積分法による半無限区間振動型積分の数値計算法 」『日本応用数理学会論文誌』第7巻第2号、日本応用数理学会、1997年、131-138頁、CRID 1390001205768016384 、doi :10.11540/jsiamt.7.2_131 、ISSN 09172246 。
^ 平山弘, 館野裕文, 平野照比古「部分積分法による数値積分法 」『数理解析研究所講究録』第1395巻、京都大学数理解析研究所、2004年10月、190-195頁、CRID 1050001202108546176 、hdl :2433/25947 、ISSN 1880-2818 。
^ Nakatsukasa, Y. (2018). "Approximate and integrate: Variance reduction in Monte Carlo integration via function approximation ". arXiv preprint arXiv :1806.05492 .
^ integrate from -1 to 1 1/x dx - Wolfram|Alpha
^ QUADPACK (nines)
^ quadpack
^ int_fcn_sing - IMSL C Math Library
^ Chapter 11. Quadrature and Differentiation - 1.69.0
^ S.M. Rump: INTLAB - INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77-104. Kluwer Academic Publishers, Dordrecht, 1999.
^ Johansson, F. (2017). Arb: "efficient arbitrary-precision midpoint-radius interval arithmetic ". IEEE Transactions on Computers, 66(8), 1281-1292, doi :10.1109/TC.2017.2690633 .
^ Johansson, F. (2018, July). Numerical integration in arbitrary-precision ball arithmetic. In International Congress on Mathematical Software (pp. 255-263). Springer, Cham.
^ Johansson, F., & Mezzarobba, M. (2018). Fast and Rigorous Arbitrary-Precision Computation of Gauss--Legendre Quadrature Nodes and Weights. en:SIAM Journal on Scientific Computing , 40(6), C726-C747.
関連項目
関連文献
和書
日高孝次:「数値積分法」、岩波書店 (1948年)。
日高孝次:「数値積分と数値計算」、岩波書店(1949年)。
日高孝次:「数値積分法」、現代工学社(1974年)。※ 岩波書店から出ていた上下巻の合本復刻。
P. J. Davis and P. Rabinowitz、森正武 (訳):「計算機による数値積分法」、日本コンピュータ協会(1981年2月15日)。
森正武 :「数値解析」(第2版)、共立出版 (共立数学講座)、ISBN 978-4-320-01701-6 (2002年2月1日)。
杉原正顯 、室田一雄:「数値計算法の数理」、岩波書店(2003年5月23日)。
日本機械学会(編):「数値積分法の基礎と応用」、コロナ社、ISBN 4-339-04491-1 (2003年7月3日).※この本の数値積分法は微分方程式の求積法を指す。
田中健一郎、岡山友昭:「変数変換型数値計算法」、岩波数学叢書、ISBN 978-4-00-029860-5 (2023年5月17日)。
洋書
Prem K. Kythe and Michael R. Schäferkotter: Handbook of Computational Methods for Integration , Chapman and Hall/CRC, ISBN 978-1-58488428-6 (2004年5月15日).
Philip J. Davis and Philip Rabinowitz: Methods of Numerical Integration (2nd Ed), Dover Publications, ISBN 978-0-48645339-2 (2007年10月25日).
G. Hämmerlin (Ed.): Numerical Integration , (Proceedings of the Conference Held at the Mathematisches Forschungsinstitut Oberwolfach, October 4–10, 1981), Birkhäuser, ISBN 978-3-0348-6308-7 (1982).
H. Braß, G. Hämmerlin (Eds.): Numerical Integration III , (Proceedings of the Conference held at the Mathematisches Forschungsinstitut, Oberwolfach, Nov. 8 – 14, 1987), Birkhäuser, ISBN 978-3-0348-6398-8 (1988).
H. Brass and G. Hämmerlin (Eds.) : Numerical Integration IV , (Proceedings of the Conference at the Mathematical Research Institute, Oberwolfach, November 8–14, 1992), Birkhäuser, ISBN 978-3-0348-6338-4 (1993).
V. I. Krylov: Approximate Calculation of Integrals , Dover publications, ISBN 978-0-486-44579-3 (1962).
I. H. Sloan and S. Joe: Lattice Methods for Multiple Integration , Oxford Univ. Press, ISBN 978-0-19-853472-3 (1994).
Arnold R. Krommer and Christoph W. Ueberhuber: Computational Integration , SIAM, ISBN 978-0-89871-374-9 (1998).
Prem K. Kythe and Michael R. Schaferkotter: Handbook Of Computational Methods For Integration , CRC press, ISBN 1-58488-428-2 (2005).
Gene H. Golub and Gérard Meurant: Matrices, Moments and Quadrature with Applications , Princeton Press, ISBN 978-0-691-14341-5 (2010).
外部リンク
ウィキメディア・コモンズには、
数値積分 に関連するカテゴリがあります。