シンプソンの公式(解明編②)

大学・一般数学微分・積分大学・一般数学

3次以下の関数であればシンプソンの公式が成り立ちます。この記事では、なぜ3次以下でないといけないのかを解明していきます。
Ⅰ シンプソンの公式の誤差
Ⅱ 証明


目次
  • 1. Ⅰ シンプソンの公式の誤差
  • 2. Ⅱ 証明

Ⅰ シンプソンの公式の誤差

シンプソンの公式を再掲しておきます。

シンプソンの公式

\(~f(x)~\) が3次以下の関数のとき、次の式が成り立つ。

\begin{equation}
\displaystyle \int_{a}^{b} f(x)dx=\frac{(b-a)}{6} \left\{ f(a)+4f\left( \frac{a+b}{2} \right) +f(b) \right\}
\end{equation}


\begin{align}
&\displaystyle \int_{a}^{b} f(x)dx \\
\\
=&\frac{(b-a)}{6} \left\{ f(a)+4f\left( \frac{a+b}{2} \right) +f(b) \right\}
\end{align}

シンプソンの公式(基本編)」にもあるように、 \(~f(x)~\) が4次以上であったり、指数関数や対数関数であったりしても、ある程度の近似はできます。
 
その精度は、次のような式で与えられます。

シンプソンの公式の誤差

\(~f(x)~\) は \(~C^4~\) -級関数とする。シンプソンの公式で求めた面積を \(~S~\) とする。
区間 \(~[a,b]~\) における \(~|f^{(4)}(x)|~\) の最大値を \(~M~\) 、 \(~\displaystyle h=\frac{b-a}{2}~\) とすると、
\begin{equation}
\displaystyle \left| \int_{a}^{b}f(x)dx-S \right| =\frac{M}{90}h^5
\end{equation}
となる。

この式の左辺は、実際の積分とシンプソンの値の差の絶対値、すなわち誤差を表しています。
 
シンプソンの公式(基本編)」の反例1の誤差を、上記の式で求めてみましょう。

\(~\displaystyle \int_{0}^{2} 5x^4-2x^3+3x^2+x-3 dx~\) の場合
 
\(~f(x)=5x^4-2x^3+3x^2+x-3~\) を \(~x~\) で微分していくと、
\begin{align}
f^{\prime}(x)&=20x^3-6x^2+6x+1 \\
f^{\prime \prime}(x)&=60x^2-12x+6 \\
f^{\prime \prime \prime}(x)&=120x-12 \\
f^{(4)}(x)&=120 \\
\end{align}
となる。よって、
\begin{align}
\displaystyle M=\lim_{x \in [0,2]} \left| f^{(4)}(x) \right| =120
\end{align}
であるため、積分値とシンプソンの値の誤差は
\begin{align}
\displaystyle \frac{120}{90}\cdot \left( \frac{2-0}{2} \right)^5 &=\frac{4}{3}
\end{align}
となる。

実際、「シンプソンの公式(基本編)」で計算した通り、実際の積分値は \(~\displaystyle 28 \left(=\frac{84}{3} \right)~\) 。シンプソンの公式によって求められた値は \(~\displaystyle \frac{88}{3}~\) であったので、確かに誤差は \(~\displaystyle \frac{4}{3}~\) で合致しています。


Ⅱ 証明

証明は少し大変・・・。テイラーの公式も使います。

証明

①シンプソンの公式を書き換える
 
\(~\displaystyle m=\frac{a+b}{2}~\) とする。このとき、
\begin{align}
a=m-h,&b=m+h
\end{align}
と表せるため、元の積分は
\begin{equation}
\displaystyle \int_{a}^{b} f(x)dx=\int_{m-h}^{m+h} f(x)dx
\end{equation}
と表せる。また、シンプソンの公式による面積 \(~S~\) は
\begin{align}
\displaystyle S&=\frac{2h}{6} \left\{ f(m-h)+4f(m) +f(m+h) \right\} \\
\\
&=\frac{h}{3} \left\{ f(m-h)+4f(m) +f(m+h) \right\} \\
\end{align}
となる。
 
 
②誤差を求める関数 \(~g(h)~\) を用意
 
ここで、誤差を評価する関数として、 \(~g(h)~\) を次のように定義する。

\begin{equation}
g(h)=\displaystyle \int_{m-h}^{m+h} f(x)dx-\frac{h}{3} \left\{ f(m-h)+4f(m) +f(m+h) \right\}
\end{equation}


\begin{align}
&g(h) \\
\\
&=\displaystyle \int_{m-h}^{m+h} f(x)dx \\
&-\frac{h}{3} \left\{ f(m-h)+4f(m) +f(m+h) \right\}
\end{align}

この関数にテイラーの公式を使うために、 \(~g(0),g^{\prime}(0),\cdots,g^{(4)}(0)~\) を求めていく。
まず、

\begin{align}
g(0)&=\displaystyle \int_{m}^{m} f(x)dx-\frac{0}{3} \left\{ f(m)+4f(m) +f(m) \right\} \\
\\
&=0+0 \\
&=0
\end{align}


\begin{align}
g(0)&=\displaystyle \int_{m}^{m} f(x)dx \\
&-\frac{0}{3} \left\{ f(m)+4f(m) +f(m) \right\} \\
\\
&=0+0 \\
&=0
\end{align}

が求まった。
 
 
③ \(~g^{\prime}(0)~\) を求める
 
合成関数の微分等を使って、 \(~g(h)~\) を \(~h~\) で微分していく。

\begin{align}
\displaystyle g^{\prime}(h)&=f(m+h)-f(m-h)-\frac{1}{3}\left\{ f(m-h)+4f(m) +f(m+h) \right\} \\
&-\frac{h}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
\\
&=\frac{2}{3}f(m-h)+\frac{2}{3}f(m+h)-\frac{4}{3}f(m)-\frac{h}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
\\
&=\frac{2}{3} \left\{ f(m-h)+f(m+h)-2f(m) \right\} – \frac{h}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
\end{align}


\begin{align}
\displaystyle &g^{\prime}(h) \\
\\
&=f(m+h)-f(m-h) \\
&-\frac{1}{3}\left\{ f(m-h)+4f(m) +f(m+h) \right\} \\
&-\frac{h}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
\\
&=\frac{2}{3}f(m-h)+\frac{2}{3}f(m+h)-\frac{4}{3}f(m) \\
&-\frac{h}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
\\
&=\frac{2}{3} \left\{ f(m-h)+f(m+h)-2f(m) \right\} \\
&-\frac{h}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
\end{align}

となるので、

\begin{align}
\displaystyle g^{\prime}(0)&=\frac{2}{3} \left\{ f(m)+f(m)-2f(m) \right\}- \frac{0}{3}\left\{ -f^{\prime}(m)+f^{\prime}(m) \right\} \\
\\
&= \frac{2}{3} \cdot 0 – \frac{0}{3} \cdot 0 \\
\\
&=0
\end{align}


\begin{align}
\displaystyle g^{\prime}(0)&=\frac{2}{3} \left\{ f(m)+f(m)-2f(m) \right\} \\
&- \frac{0}{3}\left\{ -f^{\prime}(m)+f^{\prime}(m) \right\} \\
\\
&= \frac{2}{3} \cdot 0 – \frac{0}{3} \cdot 0 \\
\\
&=0
\end{align}

となる。
 
 
④ \(~g^{\prime \prime}(0)~\) を求める
 
同様に、微分を繰り返していく。

\begin{align}
\displaystyle g^{\prime \prime}(h)&=\frac{2}{3} \left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\}-\frac{1}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
&-\frac{h}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\} \\
\\
&=\frac{1}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\}-\frac{h}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\}
\end{align}


\begin{align}
\displaystyle &g^{\prime \prime}(h) \\
\\
&=\frac{2}{3} \left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
&-\frac{1}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
&-\frac{h}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\} \\
\\
&=\frac{1}{3}\left\{ -f^{\prime}(m-h)+f^{\prime}(m+h) \right\} \\
&-\frac{h}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\}
\end{align}

となるので、

\begin{align}
\displaystyle g^{\prime \prime}(0)&=\frac{1}{3}\left\{ -f^{\prime}(m)+f^{\prime}(m) \right\}-\frac{0}{3}\left\{ f^{\prime \prime}(m)+f^{\prime \prime}(m) \right\} \\
\\
&=\frac{1}{3} \cdot 0 -\frac{0}{3}\left\{ 2f^{\prime \prime}(m) \right\} \\
\\
&=0
\end{align}


\begin{align}
\displaystyle g^{\prime \prime}(0)&=\frac{1}{3}\left\{ -f^{\prime}(m)+f^{\prime}(m) \right\} \\
&-\frac{0}{3}\left\{ f^{\prime \prime}(m)+f^{\prime \prime}(m) \right\} \\
\\
&=\frac{1}{3} \cdot 0 -\frac{0}{3}\left\{ 2f^{\prime \prime}(m) \right\} \\
\\
&=0
\end{align}

となる。
 
 
⑤ \(~g^{\prime \prime \prime}(0)~\) を求める
 

\begin{align}
\displaystyle g^{\prime \prime \prime}(h)&=\frac{1}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\}-\frac{1}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\} \\
&-\frac{h}{3}\left\{ -f^{\prime \prime \prime}(m-h)+f^{\prime \prime \prime}(m+h) \right\} \\
\\
&=-\frac{h}{3}\left\{ -f^{\prime \prime \prime}(m-h)+f^{\prime \prime \prime}(m+h) \right\} \\
\end{align}
となるので、
\begin{align}
\displaystyle g^{\prime \prime \prime}(0)&=-\frac{0}{3}\left\{ -f^{\prime \prime \prime}(m)+f^{\prime \prime \prime}(m) \right\} \\
\\
&=-\frac{0}{3} \cdot 0 \\
\\
&=0
\end{align}
となる。


\begin{align}
\displaystyle &g^{\prime \prime \prime}(h) \\
\\
&=\frac{1}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\} \\
&-\frac{1}{3}\left\{ f^{\prime \prime}(m-h)+f^{\prime \prime}(m+h) \right\} \\
&-\frac{h}{3}\left\{ -f^{\prime \prime \prime}(m-h)+f^{\prime \prime \prime}(m+h) \right\} \\
\\
&=-\frac{h}{3}\left\{ -f^{\prime \prime \prime}(m-h)+f^{\prime \prime \prime}(m+h) \right\} \\
\end{align}
となるので、
\begin{align}
\displaystyle g^{\prime \prime \prime}(0)&=-\frac{0}{3}\left\{ -f^{\prime \prime \prime}(m)+f^{\prime \prime \prime}(m) \right\} \\
\\
&=-\frac{0}{3} \cdot 0 \\
\\
&=0
\end{align}
となる。

 
 
⑥ \(~g^{(4)}(h)~\) を求める
 

\begin{align}
\displaystyle g^{(4)}(h)&=-\frac{1}{3}\left\{ -f^{\prime \prime \prime}(m-h)+f^{\prime \prime \prime}(m+h) \right\}-\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \\
\end{align}
ここで、第1項を積分でうまく表してあげると、
\begin{align}
\displaystyle &=-\frac{1}{3} \int_{m-h}^{m+h}f^{(4)}(t)dt -\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \\
\end{align}
と変形できる。


\begin{align}
\displaystyle &g^{(4)}(h) \\
\\
&=-\frac{1}{3}\left\{ -f^{\prime \prime \prime}(m-h)+f^{\prime \prime \prime}(m+h) \right\}
\\
&-\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \\
\end{align}
ここで、第1項を積分でうまく表してあげると、
\begin{align}
\displaystyle &=-\frac{1}{3} \int_{m-h}^{m+h}f^{(4)}(t)dt \\
&-\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \\
\end{align}
と変形できる。

 
※ \(~C^4~\) -級関数のテイラーの公式において、4次導関数は剰余項としてのみ使うので、 \(~g^{(4)}(0)~\) を求める必要はない。
 
 
⑦テイラーの公式
 
下のテイラーの公式を使って、 \(~g(h)~\) を表す。

テイラーの公式

区間 \(~[a,b]~\) において、 \(~f(x)~\) が \(~C^n~\) -級関数としたとき、

\begin{align}
\displaystyle f(b)&=f(a)+\frac{b-a}{1!}f^{\prime}(a)+\frac{(b-a)^2}{2!}f^{\prime \prime}(a)+\cdots \\
&+\frac{(b-a)^{n-1}}{(n-1)!}f^{(n-1)}(a)+\frac{1}{(n-1)!}\int_{a}^{b}f^{(n)}(x) (b-x)^{n-1}dx
\end{align}


\begin{align}
&\displaystyle f(b) \\
\\
=&f(a)+\frac{b-a}{1!}f^{\prime}(a) \\
&+\frac{(b-a)^2}{2!}f^{\prime \prime}(a)+\cdots \\
&+\frac{(b-a)^{n-1}}{(n-1)!}f^{(n-1)}(a) \\
&+\frac{1}{(n-1)!}\int_{a}^{b}f^{(n)}(x) (b-x)^{n-1}dx
\end{align}

が成り立つ。
 
※剰余項が積分の形となるテイラーの公式

\(~h=\displaystyle \frac{b-a}{2} > 0~\) だったため、区間 \(~[0,h]~\) でテイラーの公式を使うと、

\begin{align}
\displaystyle g(h)&=g(0)+\frac{h-0}{1!}g^{\prime}(0)+\frac{(h-0)^2}{2!}g^{\prime \prime}(0) \\
&+\frac{(h-0)^3}{3!}g^{\prime \prime \prime}(0)+\frac{1}{3!}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt
\end{align}


\begin{align}
\displaystyle g(h)&=g(0)+\frac{h-0}{1!}g^{\prime}(0) \\
&+\frac{(h-0)^2}{2!}g^{\prime \prime}(0) \\
&+\frac{(h-0)^3}{3!}g^{\prime \prime \prime}(0) \\
&+ \frac{1}{3!}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt
\end{align}

ここに、これまでの②~⑤を代入して、

\begin{align}
&=0+\frac{h}{1}\cdot 0+\frac{h^2}{2}\cdot 0+\frac{h^3}{6}\cdot 0+\frac{1}{6}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt \\
\\
&=\frac{1}{6}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt
\end{align}


\begin{align}
&=0+\frac{h}{1}\cdot 0+\frac{h^2}{2}\cdot 0+\frac{h^3}{6}\cdot 0 \\
&+\frac{1}{6}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt \\
\\
&=\frac{1}{6}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt
\end{align}

である。 \(~g(h)~\) は誤差を求める関数であったので、両辺に絶対値をとると、
\begin{align}
\displaystyle |g(h)|&=\left| \frac{1}{6}\int_{0}^{h}g^{(4)}(t) (h-t)^{3}dt \right| \\
\\
&\le \frac{1}{6}\int_{0}^{h} \left| g^{(4)}(t) \right| (h-t)^{3}dt
\end{align}
となる。
 
 
⑧ \(~\displaystyle \left| g^{(4)}(t) \right|~\) の評価
 
を使って、 \(~\displaystyle \left| g^{(4)}(t) \right|~\) の最大値を求める。

\begin{align}
\displaystyle \left| g^{(4)}(t) \right|&=\left| -\frac{1}{3} \int_{m-h}^{m+h}f^{(4)}(t)dt -\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \right| \\
\\
& \le \left| -\frac{1}{3} \int_{m-h}^{m+h}f^{(4)}(t)dt \right|+\left| -\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \right| \\
\\
& \le \frac{1}{3} \int_{m-h}^{m+h} \left| f^{(4)}(t) \right|dt+\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \\
\end{align}


\begin{align}
& \displaystyle \left| g^{(4)}(t) \right| \\
\\
&=\left| -\frac{1}{3} \int_{m-h}^{m+h}f^{(4)}(t)dt \right. \\
&\left. -\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \right| \\
\\
& \le \left| -\frac{1}{3} \int_{m-h}^{m+h}f^{(4)}(t)dt \right| \\
&+\left| -\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \right| \\
\\
& \le \frac{1}{3} \int_{m-h}^{m+h} \left| f^{(4)}(t) \right|dt \\
&+\frac{h}{3}\left\{ f^{(4)}(m-h)+f^{(4)}(m+h) \right\} \\
\end{align}

ここで、 \(~\displaystyle M=\lim_{x \in [a,b]} \left| f^{(4)}(x) \right| ~\) とおくと、 \(~m-h=a,m+h=b~\) より、
\begin{align}
\displaystyle & \le \frac{1}{3} \int_{m-h}^{m+h} Mdt+\frac{h}{3}\left\{ M+M \right\} \\
\\
&=\frac{1}{3} \left[ Mt \right]_{m-h}^{m+h}+\frac{2Mh}{3} \\
\\
&=\frac{1}{3} \left\{ M(m+h)-M(m-h) \right\} +\frac{2Mh}{3} \\
\\
&=\frac{1}{3} \left\{ 2Mh \right\} +\frac{2Mh}{3} \\
\\
&=\frac{2Mh}{3} +\frac{2Mh}{3} \\
\\
&=\frac{4}{3}Mh
\end{align}
よって、 \(~\displaystyle \left| g^{(4)}(t) \right| \le \frac{4}{3}Mh ~\) が言えた。
 
 
⑨誤差の値を求める
 
を代入することで、
\begin{align}
\displaystyle |g(h)|& \le \frac{1}{6}\int_{0}^{h} \frac{4}{3}Mt (h-t)^{3}dt \\
\\
&=\frac{2}{9}M \int_{0}^{h} t(h-t)^{3}dt \\
\end{align}
となる。部分積分を利用して、積分計算を行うと、
\begin{align}
&\displaystyle \int_{0}^{h} t(h-t)^{3}dt \\
\\
&=\int_{0}^{h} \left\{ -\frac{1}{4}(h-t)^{4} \right\}^{\prime} tdt \\
\\
&=\left[ -\frac{1}{4}(h-t)^{4} t \right]_{0}^{h}+\int_{0}^{h} \frac{1}{4}(h-t)^{4} dt \\
\\
&=\left[ -\frac{1}{20}(h-t)^{5} \right]_{0}^{h} \\
\\
&=\frac{1}{20} h^5
\end{align}
であるため、求めたい誤差は
\begin{align}
\displaystyle |g(h)|& =\frac{2}{9}M \cdot \frac{1}{20} h^5 \\
\\
&=\frac{M}{90}h^5
\end{align}
と得ることができた。 \(~\blacksquare \)

この証明からもわかるように、4階微分で初めて誤差が現れます。すなわち、

3次以下の関数なら、積分値とシンプソンの値の誤差はない

ということがわかりました。


平成最後の夏休みをかけてシンプソンの公式をまとめ終わりました。ネタを提供してくれた’すず’さんありがとうございました。

   
 
 


◇参考文献等
・高木貞治(2012)『定本 解析概論』,pp.127,136-137,岩波書店.
・「記号の世界ゟ」,<http://tetobourbaki.hatenablog.com/entry/2017/05/06/172340> 2018年7月25日アクセス

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

定本解析概論 [ 高木貞治 ]
価格:3456円(税込、送料無料) (2018/8/29時点)