ニュートン・コーツの公式

ニュートン・コーツの公式(ニュートン・コーツのこうしき、: Newton–Cotes formulae, Newton-Cotes rules)とは、等間隔の点における被積分関数の値に基づく数値積分法の総称である。名前はアイザック・ニュートンロジャー・コーツに由来する。

ニュートン・コーツの公式は、等間隔の点での被積分関数の値が与えられた場合に有用である。もし他の点での値も求められるならば、ガウス求積クレンショー・カーチス求積(英語版)などの他の方法の方が適している場合もある。

概要

ニュートン・コーツの公式は、端点を使う「閉じた」ものと、端点を使わない「開いた」ものの 2 種類に大別できる。

n 次の閉じたニュートン・コーツの公式は次のようになる。

a b f ( x ) d x i = 0 n w i f ( x i ) {\displaystyle \int _{a}^{b}f(x)\,dx\approx \sum _{i=0}^{n}w_{i}\,f(x_{i})}

ここで x i = a + i b a n   {\displaystyle {\displaystyle x_{i}=a+i\,{\frac {b-a}{n}}}\ } ( i = 0 , . . . , n ) {\displaystyle (i=0,...,n)} である。

wi は重みと呼ばれる。重みは以下のようにラグランジュ補間による補間多項式から導かれる。

a b f ( x ) d x a b L ( x ) d x = a b ( i = 0 n f ( x i ) l i ( x ) ) d x = i = 0 n f ( x i ) a b l i ( x ) d x w i {\displaystyle \int _{a}^{b}f(x)\,dx\approx \int _{a}^{b}L(x)\,dx=\int _{a}^{b}\left(\sum _{i=0}^{n}f(x_{i})\,l_{i}(x)\right)\,dx=\sum _{i=0}^{n}f(x_{i})\underbrace {\int _{a}^{b}l_{i}(x)\,dx} _{w_{i}}}

また、以上の導出から重みは関数 f によらず、xi のみによって決まることがわかる。

n 次の開いたニュートン・コーツの公式の場合は、 x i = a + ( i + 1 ) b a n + 2   {\displaystyle {\displaystyle x_{i}=a+(i+1){\frac {b-a}{n+2}}}\ } ( i = 0 , . . . , n ) {\displaystyle (i=0,...,n)} とし、重みは閉じたものと同様である。

ニュートン・コーツの公式の一覧

閉じたニュートン・コーツの公式
次数 名前 誤差項
1 台形公式 b a 2 ( f 0 + f 1 ) {\displaystyle {\frac {b-a}{2}}(f_{0}+f_{1})} ( b a ) 3 12 f ( 2 ) ( ξ ) {\displaystyle -{\frac {(b-a)^{3}}{12}}\,f^{(2)}(\xi )}
2 シンプソンの公式 b a 6 ( f 0 + 4 f 1 + f 2 ) {\displaystyle {\frac {b-a}{6}}(f_{0}+4f_{1}+f_{2})} ( b a ) 5 2880 f ( 4 ) ( ξ ) {\displaystyle -{\frac {(b-a)^{5}}{2880}}\,f^{(4)}(\xi )}
3 シンプソンの3/8公式 b a 8 ( f 0 + 3 f 1 + 3 f 2 + f 3 ) {\displaystyle {\frac {b-a}{8}}(f_{0}+3f_{1}+3f_{2}+f_{3})} ( b a ) 5 6480 f ( 4 ) ( ξ ) {\displaystyle -{\frac {(b-a)^{5}}{6480}}\,f^{(4)}(\xi )}
4 ブールの公式(英語版) b a 90 ( 7 f 0 + 32 f 1 + 12 f 2 + 32 f 3 + 7 f 4 ) {\displaystyle {\frac {b-a}{90}}(7f_{0}+32f_{1}+12f_{2}+32f_{3}+7f_{4})} ( b a ) 7 1935360 f ( 6 ) ( ξ ) {\displaystyle -{\frac {(b-a)^{7}}{1935360}}\,f^{(6)}(\xi )}
開いたニュートン・コーツの公式
次数 名前 誤差項
0 中点則 ( b a ) f 0 {\displaystyle (b-a)f_{0}} ( b a ) 3 24 f ( 2 ) ( ξ ) {\displaystyle {\frac {(b-a)^{3}}{24}}\,f^{(2)}(\xi )}
1 台形法 b a 2 ( f 0 + f 1 ) {\displaystyle {\frac {b-a}{2}}(f_{0}+f_{1})} ( b a ) 3 36 f ( 2 ) ( ξ ) {\displaystyle {\frac {(b-a)^{3}}{36}}\,f^{(2)}(\xi )}
2 ミルンの公式 b a 3 ( 2 f 0 f 1 + 2 f 2 ) {\displaystyle {\frac {b-a}{3}}(2f_{0}-f_{1}+2f_{2})} 7 ( b a ) 5 23040 f ( 4 ) ( ξ ) {\displaystyle {\frac {7(b-a)^{5}}{23040}}\,f^{(4)}(\xi )}
3 b a 24 ( 11 f 0 + f 1 + f 2 + 11 f 3 ) {\displaystyle {\frac {b-a}{24}}(11f_{0}+f_{1}+f_{2}+11f_{3})} 19 ( b a ) 5 90000 f ( 4 ) ( ξ ) {\displaystyle {\frac {19(b-a)^{5}}{90000}}\,f^{(4)}(\xi )}

ここで、fif (xi) の略記である。

誤差項 E a b f ( x ) d x i = 0 n w i f ( x i ) = E {\displaystyle \int _{a}^{b}f(x)\,dx-\sum _{i=0}^{n}w_{i}f(x_{i})=E} となる ξ ∈ (a, b) が存在することを意味する。 また、f の導関数の次数は、それ未満の次数の多項式が正確に積分できる(即ち、誤差が 0 になる)ことを示している。なお、(ba) の次数と f の導関数の階数は、1 つおきに 2 ずつ増加することに注意。

重みの計算

ニュートン・コーツの公式の重みは線形方程式系の解として求めることもできる。 これは補間多項式の一意性より f (x)n 次以下の多項式の場合 L(x) = f (x) となることに基づく。係数行列ファンデルモンド行列である。

( 1 1 1 x 0 x 1 x n x 0 n x 1 n x n n ) ( w 0 w 1 w n ) = ( b a ( b 2 a 2 ) / 2 ( b n + 1 a n + 1 ) / ( n + 1 ) ) {\displaystyle {\begin{pmatrix}1&1&\cdots &1\\x_{0}&x_{1}&\cdots &x_{n}\\\vdots &\vdots &\ddots &\vdots \\x_{0}^{n}&x_{1}^{n}&\cdots &x_{n}^{n}\end{pmatrix}}{\begin{pmatrix}w_{0}\\w_{1}\\\vdots \\w_{n}\end{pmatrix}}={\begin{pmatrix}b-a\\(b^{2}-a^{2})/2\\\vdots \\(b^{n+1}-a^{n+1})/(n+1)\end{pmatrix}}}

高次における不安定性

ルンゲ関数 f(x) = 1/(1 + 25x2) (赤)と等分点に基づく5次(青)と9次(緑)の補間多項式。高次多項式の方が端点付近での誤差は大きくなっている。

ニュートン・コーツの公式は、任意の次数で構築できる。しかし大きな次数 n においてはルンゲ現象により誤差n の増加するにつれて指数関数的に大きくなる。そのため、通常は大きな次数ではガウス求積クレンショー・カーチス求積(英語版)などの非等分点法の方が、安定してより正確な値を求められる。もしもそれらの方法を使えないならば、合成積分公式を使うことでルンゲ現象を避けることができる。高次の公式には積分の重みの中に負のものが含まれるなどの不自然さが伴う(Gaussの積分公式の重みは常に正である)。

合成積分公式

ニュートン・コーツの公式の精度を良くするには、ステップ長 ba/n は小さくする必要がある。つまり、積分区間 [a, b] 自体が小さくなければならない。このため、積分区間 [a, b] を小さな部分区間に分割し、各部分区間ごとにニュートン・コーツの公式を使い、その結果を足し合わせるという方法が使われる。これは合成積分公式と呼ばれる。

関連項目

参考文献

  • Abramowitz, M.; Stegun, I. A. (1972). “Section 25.4”. Handbook of Mathematical Functions with Formulae, Graphs, and Mathematical Tables. New York: Dover 
  • Forsythe, George E.; Malcolm, Michael A.; Moler, Cleve B. (1977). “Section 5.1”. Computer Methods for Mathematical Computations. Englewood Cliffs, NJ: Prentice–Hall 
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), “Section 4.1. Classical Formulas for Equally Spaced Abscissas”, Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8, http://apps.nrbook.com/empanel/index.html?pg=156 
  • Stoer, Josef; Bulirsch, Roland (1980). “Section 3.1”. Introduction to Numerical Analysis. New York: Springer-Verlag 

外部リンク

  • Hazewinkel, Michiel, ed. (2001), “Newton–Cotes quadrature formula”, Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4, https://www.encyclopediaofmath.org/index.php?title=Newton–Cotes_quadrature_formula 
  • Newton–Cotes formulae on www.math-linux.com
  • Newton–Cotes Formulae
  • Weisstein, Eric W. "Newton–Cotes Formulae". mathworld.wolfram.com (英語).
  • Module for Newton–Cotes Integration, fullerton.edu
  • Newton–Cotes Integration, numericalmathematics.com