§E20.19数値微分と Richardson 外挿

最終更新

微分係数f′(x)f'(x)を関数値だけから計算するには、差分商の極限をとる代わりに、刻みh>0h>0を固定した差分商を近似値として用いる。前進差分f(x+h)−f(x)h\dfrac{f(x+h)-f(x)}{h}の打切り誤差は、ffが十分滑らかならばhhの定数倍以下である。しかし計算に用いる関数値には誤差があり、差分商は関数値の差をhhで割るので、各関数値の誤差がδ\delta以下であっても前進差分の値は2δ/h2\delta/hまでずれうる。刻みを小さくすると打切り誤差の上界は下がるが、この項の上界は上がるので、刻みの選び方そのものが問題になる。

刻みを小さくすることのほかに、誤差の構造を利用して精度を上げる方法がある。近似値の誤差がhph^pの項と、定数倍の上界をもつより高い次数の剰余との和に書けると仮定する。この仮定を誤差の漸近展開という。このとき、刻みhhとh/th/tでの近似値を組み合わせればhph^pの項が消え、誤差はより高い次数の量で抑えられる。この操作が Richardson 外挿であり、二つの近似値の差は、同じ仮定の下で、細かいほうの刻みでの誤差の推定値にもなる。ただし推定値は誤差の上界ではなく、実際の誤差より小さい場合も大きい場合もある。

Richardson 外挿は差分商に限らず、誤差の漸近展開をもつ近似に適用することができ、数値積分では台形則に反復して適用する Romberg 積分に用いられる。本記事では、差分商の誤差と刻みの選び方、Richardson 外挿の基本的な性質や例について解説する。

1 差分商と打切り誤差

定義 1.1.S⊂RS\subset\Rを部分集合、g ⁣:S→Rg\colon S\to\Rを関数とし、x∈Rx\in\R、h>0h>0とする。

  1. x,x+h∈Sx,x+h\in Sのとき、Dh+g(x):=g(x+h)−g(x)hD^+_hg(x):=\dfrac{g(x+h)-g(x)}{h}をggのxxにおける刻みhhの 前進差分 (forward difference quotient) という。
  2. x−h,x+h∈Sx-h,x+h\in Sのとき、Dh0g(x):=g(x+h)−g(x−h)2hD^0_hg(x):=\dfrac{g(x+h)-g(x-h)}{2h}をggのxxにおける刻みhhの 中心差分 (central difference quotient) という。
  3. x−h,x,x+h∈Sx-h,x,x+h\in Sのとき、Dh2g(x):=g(x+h)−2g(x)+g(x−h)h2D^2_hg(x):=\dfrac{g(x+h)-2g(x)+g(x-h)}{h^2}をggのxxにおける刻みhhの 二階中心差分 (second central difference quotient) という。
  4. ggがxxで微分可能であるときDh+g(x)−g′(x)D^+_hg(x)-g'(x)とDh0g(x)−g′(x)D^0_hg(x)-g'(x)を、ggがxxで二回微分可能であるときDh2g(x)−g′′(x)D^2_hg(x)-g''(x)を、それぞれの差分商の 打切り誤差 (truncation error) という。

定理 1.2.x∈Rx\in\R、h>0h>0とし、閉区間上のCkC^k級は端点で片側微分をとって定める。

  1. f ⁣:[x,x+h]→Rf\colon[x,x+h]\to\RがC2C^2級ならば、ξ∈[x,x+h]\xi\in[x,x+h]が存在してDh+f(x)−f′(x)=h2f′′(ξ)D^+_hf(x)-f'(x)=\dfrac h2f''(\xi)が成り立つ。
  2. f ⁣:[x−h,x+h]→Rf\colon[x-h,x+h]\to\RがC3C^3級ならば、ξ∈[x−h,x+h]\xi\in[x-h,x+h]が存在してDh0f(x)−f′(x)=h26f′′′(ξ)D^0_hf(x)-f'(x)=\dfrac{h^2}6f'''(\xi)が成り立つ。
  3. f ⁣:[x−h,x+h]→Rf\colon[x-h,x+h]\to\RがC4C^4級ならば、ξ∈[x−h,x+h]\xi\in[x-h,x+h]が存在してDh2f(x)−f′′(x)=h212f(4)(ξ)D^2_hf(x)-f''(x)=\dfrac{h^2}{12}f^{(4)}(\xi)が成り立つ。

証明.(1)を示す。§D1.16 定理 2.1をa=xa=x、点x+hx+h、n=2n=2として適用すると、ξ∈[x,x+h]\xi\in[x,x+h]が存在してf(x+h)=f(x)+f′(x)h+h22f′′(ξ)f(x+h)=f(x)+f'(x)h+\frac{h^2}2f''(\xi)が成り立つ。両辺からf(x)+f′(x)hf(x)+f'(x)hを引いてhhで割れば主張の等式を得る。

(2)を示す。§D1.16 定理 2.1をa=xa=x、n=3n=3として点x+hx+hと点x−hx-hに適用すると、ξ1∈[x,x+h]\xi_1\in[x,x+h]とξ2∈[x−h,x]\xi_2\in[x-h,x]が存在して

f(x±h)=f(x)±f′(x)h+h22f′′(x)±h36f′′′(ξ1,2)f(x\pm h)=f(x)\pm f'(x)h+\frac{h^2}2f''(x)\pm\frac{h^3}6f'''(\xi_{1,2})

(複号同順、++にξ1\xi_1、−-にξ2\xi_2が対応する)が成り立つ。二式の差を2h2hで割ると

Dh0f(x)−f′(x)=h26⋅f′′′(ξ1)+f′′′(ξ2)2D^0_hf(x)-f'(x)=\frac{h^2}6\cdot\frac{f'''(\xi_1)+f'''(\xi_2)}2

である。ξ1=ξ2\xi_1=\xi_2ならばξ:=ξ1\xi:=\xi_1とする。ξ2<ξ1\xi_2<\xi_1ならば、f′′′f'''は[ξ2,ξ1][\xi_2,\xi_1]で連続であり、f′′′(ξ1)f'''(\xi_1)とf′′′(ξ2)f'''(\xi_2)の平均は二つの値の間にあるので、§D1.12 系 1.2によりf′′′(ξ)f'''(\xi)がその平均に等しいξ∈[ξ2,ξ1]\xi\in[\xi_2,\xi_1]が存在する。

(3)を示す。§D1.16 定理 2.1をa=xa=x、n=4n=4として点x±hx\pm hに適用すると、ξ1∈[x,x+h]\xi_1\in[x,x+h]とξ2∈[x−h,x]\xi_2\in[x-h,x]が存在して

f(x±h)=f(x)±f′(x)h+h22f′′(x)±h36f′′′(x)+h424f(4)(ξ1,2)f(x\pm h)=f(x)\pm f'(x)h+\frac{h^2}2f''(x)\pm\frac{h^3}6f'''(x)+\frac{h^4}{24}f^{(4)}(\xi_{1,2})

(複号同順)が成り立つ。二式の和から2f(x)2f(x)を引いてh2h^2で割ると

Dh2f(x)−f′′(x)=h212⋅f(4)(ξ1)+f(4)(ξ2)2D^2_hf(x)-f''(x)=\frac{h^2}{12}\cdot\frac{f^{(4)}(\xi_1)+f^{(4)}(\xi_2)}2

である。(2)の証明と同じく§D1.12 系 1.2をf(4)f^{(4)}に適用してξ\xiを得る。▨

例 1.3.x∈Rx\in\R、h>0h>0とする。f(y)=y2f(y)=y^2についてDh+f(x)=2x+hD^+_hf(x)=2x+hであり、Dh+f(x)−f′(x)=hD^+_hf(x)-f'(x)=hである。f(y)=y3f(y)=y^3についてDh0f(x)=3x2+h2D^0_hf(x)=3x^2+h^2であり、Dh0f(x)−f′(x)=h2D^0_hf(x)-f'(x)=h^2である。f(y)=y4f(y)=y^4についてDh2f(x)=12x2+2h2D^2_hf(x)=12x^2+2h^2であり、Dh2f(x)−f′′(x)=2h2D^2_hf(x)-f''(x)=2h^2である。いずれの誤差もhhの冪の00でない定数倍に等しいので、q>1q>1(前進差分)またはq>2q>2(中心差分・二階中心差分)とK≥0K\ge0をどのように選んでも、十分小さいh>0h>0で誤差はKhqKh^qを超える。したがって定理 1.2の誤差のhhに関する次数11、22、22は、各項の仮定の下で改善されない。

2 関数値の誤差の増幅と刻み幅

命題 2.1.x∈Rx\in\R、h>0h>0、δ≥0\delta\ge0とする。前進差分、中心差分、二階中心差分のそれぞれについて、それが値を用いる点の集合をPPとする(順に{x,x+h}\{x,x+h\}、{x−h,x+h}\{x-h,x+h\}、{x−h,x,x+h}\{x-h,x,x+h\})。ffとf~\tilde fをPPを含む集合上の実数値関数とし、任意のy∈Py\in Pについて∣f~(y)−f(y)∣≤δ|\tilde f(y)-f(y)|\le\deltaが成り立つとする。

  1. 次の評価が成り立つ。 ∣Dh+f~(x)−Dh+f(x)∣≤2δh,∣Dh0f~(x)−Dh0f(x)∣≤δh,∣Dh2f~(x)−Dh2f(x)∣≤4δh2.|D^+_h\tilde f(x)-D^+_hf(x)|\le\frac{2\delta}h,\qquad|D^0_h\tilde f(x)-D^0_hf(x)|\le\frac\delta h,\qquad|D^2_h\tilde f(x)-D^2_hf(x)|\le\frac{4\delta}{h^2}.
  2. 各差分商について、PP上でf~(y)=f(y)+δ σy\tilde f(y)=f(y)+\delta\,\sigma_yと置く。ここでσy∈{1,−1}\sigma_y\in\{1,-1\}は、前進差分ではσx+h=1\sigma_{x+h}=1、σx=−1\sigma_x=-1、中心差分ではσx+h=1\sigma_{x+h}=1、σx−h=−1\sigma_{x-h}=-1、二階中心差分ではσx±h=1\sigma_{x\pm h}=1、σx=−1\sigma_x=-1とする。このとき(1)の対応する評価は等号で成り立つ。
  3. M2,M3,M4≥0M_2,M_3,M_4\ge0を実数とする。ffが[x,x+h][x,x+h]でC2C^2級であって[x,x+h][x,x+h]上で∣f′′∣≤M2|f''|\le M_2ならば、∣Dh+f~(x)−f′(x)∣≤M2h2+2δh|D^+_h\tilde f(x)-f'(x)|\le\dfrac{M_2h}2+\dfrac{2\delta}hが成り立つ。ffが[x−h,x+h][x-h,x+h]でC3C^3級であって[x−h,x+h][x-h,x+h]上で∣f′′′∣≤M3|f'''|\le M_3ならば、∣Dh0f~(x)−f′(x)∣≤M3h26+δh|D^0_h\tilde f(x)-f'(x)|\le\dfrac{M_3h^2}6+\dfrac\delta hが成り立つ。ffが[x−h,x+h][x-h,x+h]でC4C^4級であって[x−h,x+h][x-h,x+h]上で∣f(4)∣≤M4|f^{(4)}|\le M_4ならば、∣Dh2f~(x)−f′′(x)∣≤M4h212+4δh2|D^2_h\tilde f(x)-f''(x)|\le\dfrac{M_4h^2}{12}+\dfrac{4\delta}{h^2}が成り立つ。
  4. PPの元をy1,…,yny_1,\dots,y_nと並べ、差分商の定義式を∑i=1nwig(yi)\sum_{i=1}^nw_ig(y_i)と書いたときの係数をw1,…,wnw_1,\dots,w_nとする。Rn\R^nに最大値ノルム、R\Rに絶対値を入れ、線形写像Φ ⁣:Rn→R\Phi\colon\R^n\to\RをΦ(v)=∑i=1nwivi\Phi(v)=\sum_{i=1}^nw_iv_iで定める。任意のv∈Rnv\in\R^nについてκabs(Φ,v)=∑i=1n∣wi∣\kappa_{\mathrm{abs}}(\Phi,v)=\sum_{i=1}^n|w_i|であり、その値は前進差分で2/h2/h、中心差分で1/h1/h、二階中心差分で4/h24/h^2である。

証明.(1)と(2)を示す。各差分商は∑i=1nwig(yi)\sum_{i=1}^nw_ig(y_i)の形であり、係数は前進差分で(wx,wx+h)=(−1/h,1/h)(w_x,w_{x+h})=(-1/h,1/h)、中心差分で(wx−h,wx+h)=(−1/(2h),1/(2h))(w_{x-h},w_{x+h})=(-1/(2h),1/(2h))、二階中心差分で(wx−h,wx,wx+h)=(1/h2,−2/h2,1/h2)(w_{x-h},w_x,w_{x+h})=(1/h^2,-2/h^2,1/h^2)である。ei:=f~(yi)−f(yi)e_i:=\tilde f(y_i)-f(y_i)と置くと、差分商の差は∑iwiei\sum_iw_ie_iであり、∣ei∣≤δ|e_i|\le\deltaから

∣∑iwiei∣≤δ∑i∣wi∣\Bigl|\sum_iw_ie_i\Bigr|\le\delta\sum_i|w_i|

が成り立つ。∑i∣wi∣\sum_i|w_i|は順に2/h2/h、1/h1/h、4/h24/h^2であるから、(1)を得る。(2)のf~\tilde fではei=δ σyie_i=\delta\,\sigma_{y_i}であり、σyi\sigma_{y_i}はwiw_iの符号であるから、∑iwiei=δ∑i∣wi∣\sum_iw_ie_i=\delta\sum_i|w_i|である。

(3)を示す。三角不等式により、例えば前進差分について∣Dh+f~(x)−f′(x)∣≤∣Dh+f~(x)−Dh+f(x)∣+∣Dh+f(x)−f′(x)∣|D^+_h\tilde f(x)-f'(x)|\le|D^+_h\tilde f(x)-D^+_hf(x)|+|D^+_hf(x)-f'(x)|である。第一項は(1)により2δ/h2\delta/h以下であり、第二項は定理 1.2 (1)によりh2∣f′′(ξ)∣≤M2h2\frac h2|f''(\xi)|\le\frac{M_2h}2である。中心差分と二階中心差分についても、定理 1.2 (2)と定理 1.2 (3)を用いて同じ評価が成り立つ。

(4)を示す。Φ\Phiは線形であるから、任意のv,e∈Rnv,e\in\R^nについてΦ(v+e)−Φ(v)−Φ(e)=0\Phi(v+e)-\Phi(v)-\Phi(e)=0であり、Φ\Phiはvvで全微分可能でDΦ(v)=ΦD\Phi(v)=\Phiである。§E20.2 命題 3.2 (2)によりκabs(Φ,v)=∥Φ∥\kappa_{\mathrm{abs}}(\Phi,v)=\lVert\Phi\rVertである。最大値ノルムが11のeeについて∣Φ(e)∣≤∑i∣wi∣|\Phi(e)|\le\sum_i|w_i|であり、eie_iをwiw_iの符号にとると∣Φ(e)∣=∑i∣wi∣|\Phi(e)|=\sum_i|w_i|であるから、∥Φ∥=∑i∣wi∣\lVert\Phi\rVert=\sum_i|w_i|である。▨

定理 2.2.δ>0\delta>0を実数とする。

  1. M2>0M_2>0とし、ϕ+(h):=M2h2+2δh\phi_+(h):=\dfrac{M_2h}2+\dfrac{2\delta}h(h>0h>0)と置く。ϕ+\phi_+はh+∗:=2δ/M2h^*_+:=2\sqrt{\delta/M_2}で最小値ϕ+(h+∗)=2M2δ\phi_+(h^*_+)=2\sqrt{M_2\delta}をとり、(0,h+∗](0,h^*_+]で狭義単調減少、[h+∗,∞)[h^*_+,\infty)で狭義単調増加である。
  2. M3>0M_3>0とし、ϕ0(h):=M3h26+δh\phi_0(h):=\dfrac{M_3h^2}6+\dfrac\delta h(h>0h>0)と置く。ϕ0\phi_0はh0∗:=(3δ/M3)1/3h^*_0:=(3\delta/M_3)^{1/3}で最小値ϕ0(h0∗)=32/32M31/3δ2/3\phi_0(h^*_0)=\dfrac{3^{2/3}}2M_3^{1/3}\delta^{2/3}をとり、(0,h0∗](0,h^*_0]で狭義単調減少、[h0∗,∞)[h^*_0,\infty)で狭義単調増加である。

ffとf~\tilde fが命題 2.1 (3)の前進差分の仮定をh=h+∗h=h^*_+で満たすならば∣Dh+∗+f~(x)−f′(x)∣≤2M2δ|D^+_{h^*_+}\tilde f(x)-f'(x)|\le2\sqrt{M_2\delta}であり、中心差分の仮定をh=h0∗h=h^*_0で満たすならば∣Dh0∗0f~(x)−f′(x)∣≤32/32M31/3δ2/3|D^0_{h^*_0}\tilde f(x)-f'(x)|\le\frac{3^{2/3}}2M_3^{1/3}\delta^{2/3}である。h+∗h^*_+とh0∗h^*_0は命題 2.1 (3)の上界の最小点であり、同じ仮定を満たすf,f~f,\tilde fに対する実際の誤差∣Dh+f~(x)−f′(x)∣|D^+_h\tilde f(x)-f'(x)|、∣Dh0f~(x)−f′(x)∣|D^0_h\tilde f(x)-f'(x)|の最小点と一致するとは限らない(例 2.3)。

証明.(1)を示す。ϕ+′(h)=M22−2δh2=M22h2(h2−(h+∗)2)\phi_+'(h)=\frac{M_2}2-\frac{2\delta}{h^2}=\frac{M_2}{2h^2}\bigl(h^2-(h^*_+)^2\bigr)は0<h<h+∗0<h<h^*_+で負、h>h+∗h>h^*_+で正である。§D1.14 定理 3.1によりϕ+\phi_+は(0,h+∗](0,h^*_+]で狭義単調減少、[h+∗,∞)[h^*_+,\infty)で狭義単調増加であり、h+∗h^*_+で最小値をとる。M2h+∗2=M2δ\frac{M_2h^*_+}2=\sqrt{M_2\delta}、2δh+∗=M2δ\frac{2\delta}{h^*_+}=\sqrt{M_2\delta}であるからϕ+(h+∗)=2M2δ\phi_+(h^*_+)=2\sqrt{M_2\delta}である。

(2)を示す。ϕ0′(h)=M3h3−δh2=M33h2(h3−(h0∗)3)\phi_0'(h)=\frac{M_3h}3-\frac\delta{h^2}=\frac{M_3}{3h^2}\bigl(h^3-(h^*_0)^3\bigr)は0<h<h0∗0<h<h^*_0で負、h>h0∗h>h^*_0で正であり、§D1.14 定理 3.1により単調性と最小性が従う。M3(h0∗)3=3δM_3(h^*_0)^3=3\deltaからM3(h0∗)26=δ2h0∗\frac{M_3(h^*_0)^2}6=\frac\delta{2h^*_0}であり、

ϕ0(h0∗)=3δ2h0∗=32δ(M33δ)1/3=32/32M31/3δ2/3\phi_0(h^*_0)=\frac{3\delta}{2h^*_0}=\frac32\delta\Bigl(\frac{M_3}{3\delta}\Bigr)^{1/3}=\frac{3^{2/3}}2M_3^{1/3}\delta^{2/3}

である。

誤差の評価は命題 2.1 (3)をh=h+∗h=h^*_+、h=h0∗h=h^*_0に適用したものである。▨

例 2.3.δ>0\delta>0とし、f(y)=y2/2f(y)=y^2/2、x=0x=0とする。f′′=1f''=1であるからM2=1M_2=1とし、定理 2.2 (1)によりh+∗=2δh^*_+=2\sqrt\delta、ϕ+(h+∗)=2δ\phi_+(h^*_+)=2\sqrt\deltaである。f′(0)=0f'(0)=0である。

  1. f~(0):=0\tilde f(0):=0、y>0y>0でf~(y):=f(y)−δ\tilde f(y):=f(y)-\deltaと置く。任意のh>0h>0で∣f~−f∣≤δ|\tilde f-f|\le\deltaが{0,h}\{0,h\}上で成り立ち、 Dh+f~(0)−f′(0)=h2/2−δh=h2−δhD^+_h\tilde f(0)-f'(0)=\frac{h^2/2-\delta}h=\frac h2-\frac\delta h である。実際の誤差はh=2δh=\sqrt{2\delta}で00になり、2δ≠h+∗\sqrt{2\delta}\ne h^*_+である。h=h+∗h=h^*_+での実際の誤差はδ−δ/2=δ/2\sqrt\delta-\sqrt\delta/2=\sqrt\delta/2であり、上界ϕ+(h+∗)=2δ\phi_+(h^*_+)=2\sqrt\deltaの1/41/4である。
  2. f~:=f+δ\tilde f:=f+\deltaと置く。関数値の誤差は差分商の分子で打ち消し合い、Dh+f~(0)−f′(0)=h/2D^+_h\tilde f(0)-f'(0)=h/2である。実際の誤差はhhについて狭義単調増加で、h→+0h\to+0で00に近づき、h>0h>0の範囲に最小点を持たない。他方、上界ϕ+(h)\phi_+(h)はh→+0h\to+0で+∞+\inftyに発散する。

例 2.4.F=F(2,53,−1022,1023)F=F(2,53,-1022,1023)、fl⁡\operatorname{fl}を最近接偶数丸め、u=2−53u=2^{-53}とし、f(y)=1/yf(y)=1/y、x=3x=3、h=2−kh=2^{-k}(kkは1≤k≤511\le k\le51の整数)とする。f′(3)=−1/9f'(3)=-1/9であり、[3,3+h][3,3+h]上で∣f′′(y)∣=2/y3≤2/27=:M2|f''(y)|=2/y^3\le2/27=:M_2である。3+h=(3⋅2k+1)2−k3+h=(3\cdot2^k+1)2^{-k}は252≤(3⋅2k+1)251−k≤253−12^{52}\le(3\cdot2^k+1)2^{51-k}\le2^{53}-1を満たすので、§E20.1 補題 1.2 (1)によりFFに属する。関数値をf~(y):=fl⁡(1/y)\tilde f(y):=\operatorname{fl}(1/y)(y=3,3+hy=3,3+h)で与える。1/y∈(1/4,1/3]1/y\in(1/4,1/3]は正規範囲にあるから、§E20.1 定理 2.2 (2)により∣f~(y)−f(y)∣≤u/y≤u/3=:δ|\tilde f(y)-f(y)|\le u/y\le u/3=:\deltaである。f~(3),f~(3+h)∈[1/4,1/2)\tilde f(3),\tilde f(3+h)\in[1/4,1/2)であるから、§E20.1 補題 1.2 (1)により、整数jjが存在してf~(3+h)−f~(3)=j 2−54\tilde f(3+h)-\tilde f(3)=j\,2^{-54}、∣j∣<252|j|<2^{52}が成り立つ。§E20.1 補題 1.3 (1)によりこの差と、それをhhで割ったj 2k−54j\,2^{k-54}はFFに属する。したがって§E20.1 系 3.2 (1)により、binary64 で計算したfl⁡(fl⁡(f~(3+h)−f~(3))/h)\operatorname{fl}\bigl(\operatorname{fl}(\tilde f(3+h)-\tilde f(3))/h\bigr)はDh+f~(3)D^+_h\tilde f(3)に等しい。打切り誤差はDh+f(3)−f′(3)=h/(9(3+h))D^+_hf(3)-f'(3)=h/(9(3+h))である。定理 2.2 (1)の上界はϕ+(h)=h/27+2−52/(3h)\phi_+(h)=h/27+2^{-52}/(3h)であり、h+∗=3⋅2−26≈4.47×10−8h^*_+=3\cdot2^{-26}\approx4.47\times10^{-8}、ϕ+(h+∗)=2−25/9≈3.31×10−9\phi_+(h^*_+)=2^{-25}/9\approx3.31\times10^{-9}である。各kkについてf~(3+h)\tilde f(3+h)を有理数の演算で最近接偶数丸めとして求め、実際の誤差Dh+f~(3)−f′(3)D^+_h\tilde f(3)-f'(3)を有理数として計算した値の上3桁は次のとおりである。

kk hh 実際の誤差 打切り誤差 ϕ+(h)\phi_+(h)
4 6.25×10−26.25\times10^{-2} 2.27×10−32.27\times10^{-3} 2.27×10−32.27\times10^{-3} 2.31×10−32.31\times10^{-3}
12 2.44×10−42.44\times10^{-4} 9.04×10−69.04\times10^{-6} 9.04×10−69.04\times10^{-6} 9.04×10−69.04\times10^{-6}
20 9.54×10−79.54\times10^{-7} 3.53×10−83.53\times10^{-8} 3.53×10−83.53\times10^{-8} 3.54×10−83.54\times10^{-8}
24 5.96×10−85.96\times10^{-8} 2.90×10−92.90\times10^{-9} 2.21×10−92.21\times10^{-9} 3.45×10−93.45\times10^{-9}
25 2.98×10−82.98\times10^{-8} 1.03×10−91.03\times10^{-9} 1.10×10−91.10\times10^{-9} 3.59×10−93.59\times10^{-9}
26 1.49×10−81.49\times10^{-8} 2.90×10−92.90\times10^{-9} 5.52×10−105.52\times10^{-10} 5.52×10−95.52\times10^{-9}
27 7.45×10−97.45\times10^{-9} −8.28×10−10-8.28\times10^{-10} 2.76×10−102.76\times10^{-10} 1.02×10−81.02\times10^{-8}
28 3.73×10−93.73\times10^{-9} 6.62×10−96.62\times10^{-9} 1.38×10−101.38\times10^{-10} 2.00×10−82.00\times10^{-8}
32 2.33×10−102.33\times10^{-10} 1.85×10−71.85\times10^{-7} 8.62×10−128.62\times10^{-12} 3.18×10−73.18\times10^{-7}
40 9.09×10−139.09\times10^{-13} 2.71×10−52.71\times10^{-5} 3.37×10−143.37\times10^{-14} 8.14×10−58.14\times10^{-5}
48 3.55×10−153.55\times10^{-15} 1.74×10−31.74\times10^{-3} 1.32×10−161.32\times10^{-16} 2.08×10−22.08\times10^{-2}

1≤k≤181\le k\le18では実際の誤差と打切り誤差が上3桁で一致する。28≤k≤5128\le k\le51では、関数値の誤差による項Dh+f~(3)−Dh+f(3)D^+_h\tilde f(3)-D^+_hf(3)の実際の誤差に対する比が0.970.97以上である。1≤k≤511\le k\le51の範囲で実際の誤差の絶対値が最小になるのはk=27k=27であり、h=2−27h=2^{-27}はh+∗h^*_+と異なり、そこでの実際の誤差の絶対値8.28×10−108.28\times10^{-10}はϕ+(h+∗)\phi_+(h^*_+)より小さい。

3 差分商の計算の丸め

命題 3.1.F=F(β,p,emin⁡,emax⁡)F=F(\beta,p,e_{\min},e_{\max})を浮動小数点数系、uuをその単位丸め誤差、fl⁡\operatorname{fl}をFFの最近接丸めとし、3u<13u<1とする。y0,y1∈Fy_0,y_1\in Fがy0<y1y_0<y_1とy1−y0≤Nmax⁡y_1-y_0\le N_{\max}を満たし、a,b∈Fa,b\in Fが∣a−b∣≤Nmax⁡|a-b|\le N_{\max}を満たすとする。S:=(a−b)/(y1−y0)S:=(a-b)/(y_1-y_0)、d:=fl⁡(a−b)d:=\operatorname{fl}(a-b)、e:=fl⁡(y1−y0)e:=\operatorname{fl}(y_1-y_0)と置く。このときe≠0e\ne0である。さらに実数d/ed/eが00に等しいか正規範囲にあると仮定し、S^:=fl⁡(d/e)\hat S:=\operatorname{fl}(d/e)と置く。

  1. ∣θ∣≤γ3=3u/(1−3u)|\theta|\le\gamma_3=3u/(1-3u)を満たす実数θ\thetaが存在してS^=S(1+θ)\hat S=S(1+\theta)が成り立つ。
  2. さらにy1−y0∈Fy_1-y_0\in Fならば、∣θ∣≤γ2=2u/(1−2u)|\theta|\le\gamma_2=2u/(1-2u)を満たす実数θ\thetaが存在してS^=S(1+θ)\hat S=S(1+\theta)が成り立つ。

証明.F=−FF=-Fであるから−b,−y0∈F-b,-y_0\in Fであり、§E20.1 系 3.3をa+(−b)a+(-b)とy1+(−y0)y_1+(-y_0)に適用すると、∣δ1∣,∣δ3∣≤u|\delta_1|,|\delta_3|\le uを満たす実数δ1,δ3\delta_1,\delta_3によりd=(a−b)(1+δ1)d=(a-b)(1+\delta_1)、e=(y1−y0)(1+δ3)e=(y_1-y_0)(1+\delta_3)が成り立つ。u<1u<1であるから1+δ3>01+\delta_3>0であり、e≠0e\ne0である。d/e=0d/e=0ならばd=0d=0であり、1+δ1>01+\delta_1>0からa=ba=b、S=0S=0である。§E20.1 系 3.2 (1)によりS^=0\hat S=0であり、θ:=0\theta:=0とすればよい。d/ed/eが正規範囲にあるならば、§E20.1 系 3.2 (2)により∣δ2∣≤u|\delta_2|\le uを満たす実数が存在してS^=(d/e)(1+δ2)\hat S=(d/e)(1+\delta_2)であり、

S^=S (1+δ1)(1+δ2)(1+δ3)−1\hat S=S\,(1+\delta_1)(1+\delta_2)(1+\delta_3)^{-1}

である。§E20.1 補題 4.1をk=3k=3、ε=(1,1,−1)\varepsilon=(1,1,-1)に適用して(1)を得る。y1−y0∈Fy_1-y_0\in Fならば、§E20.1 系 3.2 (1)によりe=y1−y0e=y_1-y_0でありδ3=0\delta_3=0としてよいので、§E20.1 補題 4.1をk=2k=2に適用して(2)を得る。▨

系 3.2.FF、uu、fl⁡\operatorname{fl}を命題 3.1のとおりとし、δ≥0\delta\ge0、M2,M3≥0M_2,M_3\ge0を実数とする。

  1. y0,y1∈Fy_0,y_1\in F、y0<y1y_0<y_1とし、x:=y0x:=y_0、h:=y1−y0h:=y_1-y_0と置く。f ⁣:[x,x+h]→Rf\colon[x,x+h]\to\RがC2C^2級であって[x,x+h][x,x+h]上で∣f′′∣≤M2|f''|\le M_2を満たし、a,b∈Fa,b\in Fが∣a−f(y1)∣≤δ|a-f(y_1)|\le\delta、∣b−f(y0)∣≤δ|b-f(y_0)|\le\deltaを満たすとする。y0,y1,a,by_0,y_1,a,bが命題 3.1の仮定を満たすならば、同命題のS^\hat Sについて ∣S^−f′(x)∣≤(1+γ3)(M2h2+2δh)+γ3∣f′(x)∣|\hat S-f'(x)|\le(1+\gamma_3)\Bigl(\frac{M_2h}2+\frac{2\delta}h\Bigr)+\gamma_3|f'(x)| が成り立つ。
  2. y0,y1∈Fy_0,y_1\in F、y0<y1y_0<y_1とし、x:=(y0+y1)/2x:=(y_0+y_1)/2、h:=(y1−y0)/2h:=(y_1-y_0)/2と置く。f ⁣:[x−h,x+h]→Rf\colon[x-h,x+h]\to\RがC3C^3級であって[x−h,x+h][x-h,x+h]上で∣f′′′∣≤M3|f'''|\le M_3を満たし、a,b∈Fa,b\in Fが∣a−f(y1)∣≤δ|a-f(y_1)|\le\delta、∣b−f(y0)∣≤δ|b-f(y_0)|\le\deltaを満たすとする。y0,y1,a,by_0,y_1,a,bが命題 3.1の仮定を満たすならば、同命題のS^\hat Sについて ∣S^−f′(x)∣≤(1+γ3)(M3h26+δh)+γ3∣f′(x)∣|\hat S-f'(x)|\le(1+\gamma_3)\Bigl(\frac{M_3h^2}6+\frac\delta h\Bigr)+\gamma_3|f'(x)| が成り立つ。

どちらの項でも、y1−y0∈Fy_1-y_0\in Fならばγ3\gamma_3をγ2\gamma_2に替えた評価が成り立つ。

証明.f~(y1):=a\tilde f(y_1):=a、f~(y0):=b\tilde f(y_0):=bと置く。(1)ではS=Dh+f~(x)S=D^+_h\tilde f(x)、(2)ではS=Dh0f~(x)S=D^0_h\tilde f(x)であり、どちらの場合もϕ\phiを括弧内の量とすると命題 2.1 (3)により∣S−f′(x)∣≤ϕ|S-f'(x)|\le\phiである。命題 3.1によりS^−f′(x)=(S−f′(x))+θS\hat S-f'(x)=(S-f'(x))+\theta S、∣θ∣≤γ3|\theta|\le\gamma_3であり、∣S∣≤∣f′(x)∣+ϕ|S|\le|f'(x)|+\phiであるから

∣S^−f′(x)∣≤ϕ+γ3(∣f′(x)∣+ϕ)|\hat S-f'(x)|\le\phi+\gamma_3(|f'(x)|+\phi)

が成り立つ。y1−y0∈Fy_1-y_0\in Fの場合は命題 3.1 (2)を用いて同じ計算を行う。▨

例 3.3.F=F(2,53,−1022,1023)F=F(2,53,-1022,1023)、fl⁡\operatorname{fl}を最近接偶数丸めとし、f(y)=yf(y)=y、x=1x=1とする。f′=1f'=1であり、差分商の打切り誤差は00である。刻みとしてh^:=fl⁡(10−10)\hat h:=\operatorname{fl}(10^{-10})を選び、評価点をy0:=1y_0:=1、y1:=fl⁡(1+h^)y_1:=\operatorname{fl}(1+\hat h)とすると、y1−1=450360⋅2−52≈1.0000000827×10−10y_1-1=450360\cdot2^{-52}\approx1.0000000827\times10^{-10}であり、(y1−1)/h^−1≈8.27×10−8(y_1-1)/\hat h-1\approx8.27\times10^{-8}である。関数値をa:=y1a:=y_1、b:=1b:=1で与えるとδ=0\delta=0である。a−b=y1−y0=450360⋅2−52∈Fa-b=y_1-y_0=450360\cdot2^{-52}\in Fであるから、§E20.1 系 3.2 (1)によりd=e=y1−y0d=e=y_1-y_0であり、S^=fl⁡(1)=1=f′(1)\hat S=\operatorname{fl}(1)=1=f'(1)である。分母に評価点の差eeではなくh^\hat hを用いると、計算値はfl⁡((y1−1)/h^)≈1+8.27×10−8\operatorname{fl}\bigl((y_1-1)/\hat h\bigr)\approx1+8.27\times10^{-8}であり、その誤差は系 3.2 (1)の上界γ2≈2.22×10−16\gamma_2\approx2.22\times10^{-16}の10810^8倍を超える。分母にh^\hat hを用いた計算値は命題 3.1のS^\hat Sではない。

4 Richardson 外挿

定義 4.1.h0>0h_0>0とし、A ⁣:(0,h0]→RA\colon(0,h_0]\to\Rを関数とする。

  1. L∈RL\in\R、整数m≥0m\ge0、実数0<p1<⋯<pm+10<p_1<\dots<p_{m+1}とする。実数c1,…,cmc_1,\dots,c_mとC≥0C\ge0が存在して、任意の0<h≤h00<h\le h_0について ∣A(h)−L−∑r=1mcrhpr∣≤Chpm+1\Bigl|A(h)-L-\sum_{r=1}^mc_rh^{p_r}\Bigr|\le Ch^{p_{m+1}} が成り立つとき、AAは極限LL、係数c1,…,cmc_1,\dots,c_m、定数CCの、指数p1,…,pm+1p_1,\dots,p_{m+1}の 誤差の漸近展開 (asymptotic error expansion) をもつという。
  2. 実数t>1t>1、q>0q>0に対して、関数Tt,qA ⁣:(0,h0]→RT_{t,q}A\colon(0,h_0]\to\Rを (Tt,qA)(h):=tqA(h/t)−A(h)tq−1=A(h/t)+A(h/t)−A(h)tq−1(T_{t,q}A)(h):=\frac{t^qA(h/t)-A(h)}{t^q-1}=A(h/t)+\frac{A(h/t)-A(h)}{t^q-1} で定め、比tt、指数qqの Richardson 外挿 (Richardson extrapolation) という。0<h≤h00<h\le h_0ならば0<h/t<h00<h/t<h_0であるから、右辺は定まる。

補題 4.2.h0>0h_0>0、t>1t>1、q>0q>0とし、(0,h0](0,h_0]上の実数値関数AAにTt,qAT_{t,q}Aを対応させる写像Tt,qT_{t,q}を考える。

  1. Tt,qT_{t,q}は線形であり、定数関数LLに対してTt,qL=LT_{t,q}L=Lである。
  2. 実数ssについて、関数h↦hsh\mapsto h^sの像はh↦tq−s−1tq−1hsh\mapsto\dfrac{t^{q-s}-1}{t^q-1}h^sである。特にs=qs=qならば像は00である。
  3. 実数ss、C≥0C\ge0と(0,h0](0,h_0]上の実数値関数RRについて、任意の0<h≤h00<h\le h_0で∣R(h)∣≤Chs|R(h)|\le Ch^sならば、任意の0<h≤h00<h\le h_0で ∣(Tt,qR)(h)∣≤tq−s+1tq−1Chs|(T_{t,q}R)(h)|\le\frac{t^{q-s}+1}{t^q-1}Ch^s が成り立つ。

証明. 線形性は定義の式から従い、Tt,qL=(tqL−L)/(tq−1)=LT_{t,q}L=(t^qL-L)/(t^q-1)=Lである。h↦hsh\mapsto h^sに対してtq(h/t)s−hs=(tq−s−1)hst^q(h/t)^s-h^s=(t^{q-s}-1)h^sであるから(2)が成り立つ。∣tqR(h/t)−R(h)∣≤tqC(h/t)s+Chs=(tq−s+1)Chs|t^qR(h/t)-R(h)|\le t^qC(h/t)^s+Ch^s=(t^{q-s}+1)Ch^sをtq−1>0t^q-1>0で割って(3)を得る。▨

定理 4.3.h0>0h_0>0、t>1t>1、0<p<p′0<p<p'とし、A ⁣:(0,h0]→RA\colon(0,h_0]\to\Rが極限LL、係数cc、定数CCの、指数p,p′p,p'の誤差の漸近展開をもつとする。A1:=Tt,pAA_1:=T_{t,p}A、E(h):=A(h/t)−A(h)tp−1E(h):=\dfrac{A(h/t)-A(h)}{t^p-1}、K:=tp−p′+1tp−1K:=\dfrac{t^{p-p'}+1}{t^p-1}と置く。

  1. 任意の0<h≤h00<h\le h_0について∣A1(h)−L∣≤KChp′|A_1(h)-L|\le KCh^{p'}が成り立つ。
  2. 任意の0<h≤h00<h\le h_0について∣(L−A(h/t))−E(h)∣≤KChp′\bigl|\bigl(L-A(h/t)\bigr)-E(h)\bigr|\le KCh^{p'}が成り立つ。
  3. c≠0c\ne0とし、C>0C>0のときh1:=min⁡{h0, (∣c∣tp′−p/(2C))1/(p′−p)}h_1:=\min\bigl\{h_0,\ \bigl(|c|t^{p'-p}/(2C)\bigr)^{1/(p'-p)}\bigr\}、C=0C=0のときh1:=h0h_1:=h_0と置く。任意の0<h≤h10<h\le h_1についてL−A(h/t)≠0L-A(h/t)\ne0かつ ∣E(h)L−A(h/t)−1∣≤2KCtp∣c∣hp′−p\left|\frac{E(h)}{L-A(h/t)}-1\right|\le\frac{2KCt^p}{|c|}h^{p'-p} が成り立ち、特にh→+0h\to+0のときE(h)/(L−A(h/t))→1E(h)/(L-A(h/t))\to1である。

証明.R(h):=A(h)−L−chpR(h):=A(h)-L-ch^pと置くと、仮定により0<h≤h00<h\le h_0で∣R(h)∣≤Chp′|R(h)|\le Ch^{p'}である。補題 4.2 (1)と補題 4.2 (2)によりTt,pL=LT_{t,p}L=L、Tt,p(h↦chp)=0T_{t,p}(h\mapsto ch^p)=0であるから、A1−L=Tt,pRA_1-L=T_{t,p}Rである。補題 4.2 (3)をs=p′s=p'として適用すると(1)を得る。

定義 4.1の第二の表示によりA1(h)=A(h/t)+E(h)A_1(h)=A(h/t)+E(h)であるから、(L−A(h/t))−E(h)=L−A1(h)(L-A(h/t))-E(h)=L-A_1(h)であり、(1)から(2)が従う。

(3)を示す。0<h≤h10<h\le h_1とする。L−A(h/t)=−c(h/t)p−R(h/t)L-A(h/t)=-c(h/t)^p-R(h/t)であり、∣R(h/t)∣≤Ct−p′hp′|R(h/t)|\le Ct^{-p'}h^{p'}である。h1h_1の定め方からCt−p′hp′≤12∣c∣t−phpCt^{-p'}h^{p'}\le\frac12|c|t^{-p}h^pであるから、

∣L−A(h/t)∣≥∣c∣t−php−Ct−p′hp′≥12∣c∣t−php>0|L-A(h/t)|\ge|c|t^{-p}h^p-Ct^{-p'}h^{p'}\ge\frac12|c|t^{-p}h^p>0

である。(L−A(h/t))−E(h)=L−A1(h)(L-A(h/t))-E(h)=L-A_1(h)の両辺をL−A(h/t)L-A(h/t)で割ると

E(h)L−A(h/t)−1=−L−A1(h)L−A(h/t)\frac{E(h)}{L-A(h/t)}-1=-\frac{L-A_1(h)}{L-A(h/t)}

であり、(1)と上の下界から右辺の絶対値はKChp′/(12∣c∣t−php)=2KCtp∣c∣hp′−pKCh^{p'}\big/\bigl(\frac12|c|t^{-p}h^p\bigr)=\frac{2KCt^p}{|c|}h^{p'-p}以下である。p′−p>0p'-p>0であるから、右辺はh→+0h\to+0で00に収束する。▨

定理 4.4.h0>0h_0>0、t>1t>1、整数m≥1m\ge1、実数0<p1<⋯<pm+10<p_1<\dots<p_{m+1}とし、A ⁣:(0,h0]→RA\colon(0,h_0]\to\Rが極限LL、係数c1,…,cmc_1,\dots,c_m、定数CCの、指数p1,…,pm+1p_1,\dots,p_{m+1}の誤差の漸近展開をもつとする。A0:=AA_0:=A、Aj:=Tt,pjAj−1A_j:=T_{t,p_j}A_{j-1}(1≤j≤m1\le j\le m)と置き、0≤j≤m0\le j\le mとj<r≤mj<r\le mに対して

cr(j):=cr∏i=1jtpi−pr−1tpi−1,Cj:=C∏i=1jtpi−pm+1+1tpi−1c_r^{(j)}:=c_r\prod_{i=1}^j\frac{t^{p_i-p_r}-1}{t^{p_i}-1},\qquad C_j:=C\prod_{i=1}^j\frac{t^{p_i-p_{m+1}}+1}{t^{p_i}-1}

と置く(j=0j=0の積は11とする)。このとき各0≤j≤m0\le j\le mについて、AjA_jは極限LL、係数cj+1(j),…,cm(j)c_{j+1}^{(j)},\dots,c_m^{(j)}、定数CjC_jの、指数pj+1,…,pm+1p_{j+1},\dots,p_{m+1}の誤差の漸近展開をもつ。特に、任意の0<h≤h00<h\le h_0について∣Am(h)−L∣≤Cmhpm+1|A_m(h)-L|\le C_mh^{p_{m+1}}である。

証明.j=0j=0では主張は仮定そのものである。1≤j≤m1\le j\le mとし、Aj−1A_{j-1}について主張が成り立つと仮定して、Aj−1(h)=L+∑r=jmcr(j−1)hpr+Rj−1(h)A_{j-1}(h)=L+\sum_{r=j}^mc_r^{(j-1)}h^{p_r}+R_{j-1}(h)、∣Rj−1(h)∣≤Cj−1hpm+1|R_{j-1}(h)|\le C_{j-1}h^{p_{m+1}}(0<h≤h00<h\le h_0)と書く。補題 4.2 (1)と補題 4.2 (2)をq=pjq=p_jとして適用すると、Tt,pjL=LT_{t,p_j}L=L、Tt,pj(h↦hpj)=0T_{t,p_j}(h\mapsto h^{p_j})=0であり、j<r≤mj<r\le mについてh↦hprh\mapsto h^{p_r}の像はtpj−pr−1tpj−1hpr\frac{t^{p_j-p_r}-1}{t^{p_j}-1}h^{p_r}である。cr(j−1)⋅tpj−pr−1tpj−1=cr(j)c_r^{(j-1)}\cdot\frac{t^{p_j-p_r}-1}{t^{p_j}-1}=c_r^{(j)}であるから

Aj(h)=L+∑r=j+1mcr(j)hpr+(Tt,pjRj−1)(h)A_j(h)=L+\sum_{r=j+1}^mc_r^{(j)}h^{p_r}+(T_{t,p_j}R_{j-1})(h)

である。補題 4.2 (3)をs=pm+1s=p_{m+1}として適用すると、∣(Tt,pjRj−1)(h)∣≤tpj−pm+1+1tpj−1Cj−1hpm+1=Cjhpm+1|(T_{t,p_j}R_{j-1})(h)|\le\frac{t^{p_j-p_{m+1}}+1}{t^{p_j}-1}C_{j-1}h^{p_{m+1}}=C_jh^{p_{m+1}}である。したがってAjA_jについて主張が成り立つ。▨

注意 4.5. 「数値積分」の Romberg 積分は、複合台形則が指数2,4,…,2m+22,4,\dots,2m+2の誤差の漸近展開をもつことを示し、定理 4.4をpr=2rp_r=2r、t=2t=2として適用する。

例 4.6.L∈RL\in\Rとし、E(h)E(h)を定理 4.3のとおりとする。

  1. t=2t=2、h0=1/2h_0=1/2とし、A(h):=L+h−h2A(h):=L+h-h^2は極限LL、係数11、定数11の、指数1,21,2の誤差の漸近展開をもつ。L−A(h/2)=−(h/2−h2/4)L-A(h/2)=-(h/2-h^2/4)、E(h)=A(h/2)−A(h)=−(h/2−3h2/4)E(h)=A(h/2)-A(h)=-(h/2-3h^2/4)であり、0<h≤1/20<h\le1/2で∣E(h)∣=∣L−A(h/2)∣−h2/2<∣L−A(h/2)∣|E(h)|=|L-A(h/2)|-h^2/2<|L-A(h/2)|である。比E(h)/(L−A(h/2))E(h)/(L-A(h/2))は(2−3h)/(2−h)<1(2-3h)/(2-h)<1であり、h→+0h\to+0で11に近づく。
  2. t>1t>1、0<p<p′0<p<p'、h0>0h_0>0とし、A(h):=L+hp′A(h):=L+h^{p'}は係数c=0c=0、定数11の、指数p,p′p,p'の誤差の漸近展開をもつ。L−A(h/t)=−t−p′hp′L-A(h/t)=-t^{-p'}h^{p'}、E(h)=(t−p′−1)hp′/(tp−1)E(h)=(t^{-p'}-1)h^{p'}/(t^p-1)であり、任意のhhで E(h)L−A(h/t)=tp′−1tp−1\frac{E(h)}{L-A(h/t)}=\frac{t^{p'}-1}{t^p-1} である。tp′−1>tp−1t^{p'}-1>t^p-1であるからこの値は11より大きく、t=2t=2、p=2p=2、p′=4p'=4では55である。

5 外挿の仮定が破れる例

例 5.1.L∈RL\in\R、h0>0h_0>0、t>1t>1、p>0p>0とし、0<h≤h00<h\le h_0に対してn(h)n(h)をtn(h)≤h0/h<tn(h)+1t^{n(h)}\le h_0/h<t^{n(h)+1}を満たす整数とする。A(h):=L+(−1)n(h)hpA(h):=L+(-1)^{n(h)}h^pと置くと、任意の0<h≤h00<h\le h_0で∣A(h)−L∣=hp|A(h)-L|=h^pである。n(h/t)=n(h)+1n(h/t)=n(h)+1であるから

(Tt,pA)(h)−L=tp(−1)n(h)+1(h/t)p−(−1)n(h)hptp−1=−2(−1)n(h)hptp−1(T_{t,p}A)(h)-L=\frac{t^p(-1)^{n(h)+1}(h/t)^p-(-1)^{n(h)}h^p}{t^p-1}=\frac{-2(-1)^{n(h)}h^p}{t^p-1}

であり、∣(Tt,pA)(h)−L∣=2hp/(tp−1)|(T_{t,p}A)(h)-L|=2h^p/(t^p-1)である。p′>pp'>pとK′≥0K'\ge0をどのように選んでも十分小さいhhで2hp/(tp−1)>K′hp′2h^p/(t^p-1)>K'h^{p'}であるから、定理 4.3 (1)により、AAは指数p,p′p,p'の誤差の漸近展開をもたない。上界∣A(h)−L∣≤hp|A(h)-L|\le h^pだけからは、外挿値の誤差がhph^pより高い次数になることは従わない。

例 5.2.f(y)=y∣y∣f(y)=y|y|、x=0x=0、h0>0h_0>0とする。ffはC1C^1級でf′(y)=2∣y∣f'(y)=2|y|であり、f′f'は00で微分可能でない。f′(0)=0f'(0)=0である。A(h):=Dh0f(0)=(h2+h2)/(2h)=hA(h):=D^0_hf(0)=(h^2+h^2)/(2h)=hであり、中心差分の誤差はhhに等しい。AAが極限f′(0)f'(0)、係数cc、定数CCの、指数2,p′2,p'(p′>2p'>2)の誤差の漸近展開をもつならば、0<h≤h00<h\le h_0でh=∣A(h)−f′(0)∣≤(∣c∣+Ch0p′−2)h2h=|A(h)-f'(0)|\le(|c|+Ch_0^{p'-2})h^2となり、h→+0h\to+0で成り立たない。したがってAAはそのような誤差の漸近展開をもたない。指数22を仮定してt=2t=2の外挿を行うと(T2,2A)(h)=(4⋅h/2−h)/3=h/3(T_{2,2}A)(h)=(4\cdot h/2-h)/3=h/3であり、誤差の次数は11のままである。

6 中心差分への外挿

命題 6.1.x∈Rx\in\R、h0>0h_0>0、整数m≥0m\ge0とし、f ⁣:[x−h0,x+h0]→Rf\colon[x-h_0,x+h_0]\to\RがC2m+3C^{2m+3}級であって、実数MMが[x−h0,x+h0][x-h_0,x+h_0]上で∣f(2m+3)∣≤M|f^{(2m+3)}|\le Mを満たすとする。このときA(h):=Dh0f(x)A(h):=D^0_hf(x)(0<h≤h00<h\le h_0)は極限f′(x)f'(x)、係数cr=f(2r+1)(x)/(2r+1)!c_r=f^{(2r+1)}(x)/(2r+1)!(1≤r≤m1\le r\le m)、定数M/(2m+3)!M/(2m+3)!の、指数2,4,…,2m+22,4,\dots,2m+2の誤差の漸近展開をもつ。

証明.0<h≤h00<h\le h_0とする。§D1.16 定理 2.1をa=xa=x、n=2m+3n=2m+3として点x±hx\pm hに適用すると、ξ±\xi_\pmが存在して

f(x±h)=∑k=02m+2f(k)(x)k!(±h)k+f(2m+3)(ξ±)(2m+3)!(±h)2m+3f(x\pm h)=\sum_{k=0}^{2m+2}\frac{f^{(k)}(x)}{k!}(\pm h)^k+\frac{f^{(2m+3)}(\xi_\pm)}{(2m+3)!}(\pm h)^{2m+3}

が成り立つ。差をとると偶数次の項は消え、

Dh0f(x)=∑r=0mf(2r+1)(x)(2r+1)!h2r+f(2m+3)(ξ+)+f(2m+3)(ξ−)2 (2m+3)!h2m+2D^0_hf(x)=\sum_{r=0}^m\frac{f^{(2r+1)}(x)}{(2r+1)!}h^{2r}+\frac{f^{(2m+3)}(\xi_+)+f^{(2m+3)}(\xi_-)}{2\,(2m+3)!}h^{2m+2}

である。r=0r=0の項はf′(x)f'(x)であり、最後の項の絶対値はMh2m+2/(2m+3)!Mh^{2m+2}/(2m+3)!以下である。▨

系 6.2.x∈Rx\in\R、h0>0h_0>0、t>1t>1、整数j≥0j\ge0とし、f ⁣:[x−h0,x+h0]→Rf\colon[x-h_0,x+h_0]\to\RがC2j+3C^{2j+3}級であって、実数MMが[x−h0,x+h0][x-h_0,x+h_0]上で∣f(2j+3)∣≤M|f^{(2j+3)}|\le Mを満たすとする。A0(h):=Dh0f(x)A_0(h):=D^0_hf(x)、Ai:=Tt,2iAi−1A_i:=T_{t,2i}A_{i-1}(1≤i≤j1\le i\le j)と置くと、任意の0<h≤h00<h\le h_0について

∣Aj(h)−f′(x)∣≤M(2j+3)!∏i=1jt2i−2j−2+1t2i−1 h2j+2|A_j(h)-f'(x)|\le\frac{M}{(2j+3)!}\prod_{i=1}^j\frac{t^{2i-2j-2}+1}{t^{2i}-1}\,h^{2j+2}

が成り立つ。

証明.命題 6.1をm=jm=jとして適用すると、A0A_0は指数2,4,…,2j+22,4,\dots,2j+2の誤差の漸近展開を定数M/(2j+3)!M/(2j+3)!でもつ。j=0j=0ならばこれが主張である。j≥1j\ge1ならば、定理 4.4をm=jm=j、pr=2rp_r=2rとして適用し、∣Aj(h)−f′(x)∣≤Cjh2j+2|A_j(h)-f'(x)|\le C_jh^{2j+2}を得る。CjC_jの式にpi=2ip_i=2i、pj+1=2j+2p_{j+1}=2j+2を代入すると主張の定数になる。▨

命題 6.3.x∈Rx\in\R、h>0h>0、δ≥0\delta\ge0とする。ffとf~\tilde fをP:={x−h,x−h/2,x+h/2,x+h}P:=\{x-h,x-h/2,x+h/2,x+h\}を含む集合上の実数値関数とし、任意のy∈Py\in Pについて∣f~(y)−f(y)∣≤δ|\tilde f(y)-f(y)|\le\deltaが成り立つとする。A(s):=Ds0f(x)A(s):=D^0_sf(x)、A~(s):=Ds0f~(x)\tilde A(s):=D^0_s\tilde f(x)(s∈{h/2,h}s\in\{h/2,h\})と置き、定義 4.1の式に従って(T2,2A)(h):=(4A(h/2)−A(h))/3(T_{2,2}A)(h):=(4A(h/2)-A(h))/3、(T2,2A~)(h):=(4A~(h/2)−A~(h))/3(T_{2,2}\tilde A)(h):=(4\tilde A(h/2)-\tilde A(h))/3と置く。

  1. ∣(T2,2A~)(h)−(T2,2A)(h)∣≤3δh|(T_{2,2}\tilde A)(h)-(T_{2,2}A)(h)|\le\dfrac{3\delta}hが成り立つ。PP上でf~(y)=f(y)+δ σy\tilde f(y)=f(y)+\delta\,\sigma_y、(σx−h,σx−h/2,σx+h/2,σx+h)=(1,−1,1,−1)(\sigma_{x-h},\sigma_{x-h/2},\sigma_{x+h/2},\sigma_{x+h})=(1,-1,1,-1)と置くと、この評価は等号で成り立つ。
  2. M≥0M\ge0を実数とし、ffが[x−h,x+h][x-h,x+h]でC5C^5級であって[x−h,x+h][x-h,x+h]上で∣f(5)∣≤M|f^{(5)}|\le Mを満たすならば、∣(T2,2A~)(h)−f′(x)∣≤Mh4288+3δh|(T_{2,2}\tilde A)(h)-f'(x)|\le\dfrac{Mh^4}{288}+\dfrac{3\delta}hが成り立つ。

証明.(1)を示す。R(s):=A~(s)−A(s)R(s):=\tilde A(s)-A(s)と置くと、定義の式から(T2,2A~)(h)−(T2,2A)(h)=(4R(h/2)−R(h))/3(T_{2,2}\tilde A)(h)-(T_{2,2}A)(h)=(4R(h/2)-R(h))/3である。命題 2.1 (1)を刻みh/2h/2とhhの中心差分に適用すると∣R(h/2)∣≤2δ/h|R(h/2)|\le2\delta/h、∣R(h)∣≤δ/h|R(h)|\le\delta/hであるから

∣4R(h/2)−R(h)3∣≤13(8δh+δh)=3δh\Bigl|\frac{4R(h/2)-R(h)}3\Bigr|\le\frac13\Bigl(\frac{8\delta}h+\frac\delta h\Bigr)=\frac{3\delta}h

が成り立つ。主張のf~\tilde fではR(h/2)=(δ+δ)/h=2δ/hR(h/2)=(\delta+\delta)/h=2\delta/h、R(h)=(−δ−δ)/(2h)=−δ/hR(h)=(-\delta-\delta)/(2h)=-\delta/hであり、(4R(h/2)−R(h))/3=3δ/h(4R(h/2)-R(h))/3=3\delta/hである。

(2)を示す。系 6.2をh0=hh_0=h、t=2t=2、j=1j=1として適用すると、その定数はM5!⋅2−2+122−1=M288\frac M{5!}\cdot\frac{2^{-2}+1}{2^2-1}=\frac M{288}であり、∣(T2,2A)(h)−f′(x)∣≤Mh4/288|(T_{2,2}A)(h)-f'(x)|\le Mh^4/288である。三角不等式と(1)から主張の評価を得る。▨

例 6.4.f(y)=1/(1−y)f(y)=1/(1-y)、x=0x=0、h0=1/4h_0=1/4、t=2t=2とする。f(k)(y)=k!/(1−y)k+1f^{(k)}(y)=k!/(1-y)^{k+1}であるからf′(0)=1f'(0)=1であり、f(2r+1)(0)/(2r+1)!=1f^{(2r+1)}(0)/(2r+1)!=1である。A0(h):=Dh0f(0)=1/(1−h2)A_0(h):=D^0_hf(0)=1/(1-h^2)であり、A1:=T2,2A0A_1:=T_{2,2}A_0、A2:=T2,4A1A_2:=T_{2,4}A_1、A3:=T2,6A2A_3:=T_{2,6}A_2と置く。有理数として計算した値は次のとおりである。

hh A0(h)−1A_0(h)-1 A1(h)−1A_1(h)-1 A2(h)−1A_2(h)-1 A3(h)−1A_3(h)-1
1/41/4 1/15≈6.67×10−21/15\approx6.67\times10^{-2} −1/945≈−1.06×10−3-1/945\approx-1.06\times10^{-3} 1/240975≈4.15×10−61/240975\approx4.15\times10^{-6} −1/246517425≈−4.06×10−9-1/246517425\approx-4.06\times10^{-9}
1/81/8 1/63≈1.59×10−21/63\approx1.59\times10^{-2} −1/16065≈−6.22×10−5-1/16065\approx-6.22\times10^{-5} 1/16434495≈6.08×10−81/16434495\approx6.08\times10^{-8}
1/161/16 1/255≈3.92×10−31/255\approx3.92\times10^{-3} −1/260865≈−3.83×10−6-1/260865\approx-3.83\times10^{-6}

定理 4.4の係数はc2(1)=(2−2−1)/3=−1/4c_2^{(1)}=(2^{-2}-1)/3=-1/4、c3(2)=2−4−13⋅2−2−115=1/64c_3^{(2)}=\frac{2^{-4}-1}3\cdot\frac{2^{-2}-1}{15}=1/64であり、h=1/16h=1/16でA1(h)−1A_1(h)-1と−h4/4≈−3.81×10−6-h^4/4\approx-3.81\times10^{-6}、h=1/8h=1/8でA2(h)−1A_2(h)-1とh6/64≈5.96×10−8h^6/64\approx5.96\times10^{-8}の比はそれぞれ1.0051.005、1.0211.021(小数第3位に丸めた値)である。定理 4.3のE(h)=(A0(h/2)−A0(h))/3E(h)=(A_0(h/2)-A_0(h))/3はh=1/4,1/8,1/16h=1/4,1/8,1/16で−16/945-16/945、−64/16065-64/16065、−256/260865-256/260865であり、1−A0(h/2)1-A_0(h/2)との比は順に16/1516/15、64/6364/63、256/255256/255である。

7 演習

問題 7.1.δ>0\delta>0、M4>0M_4>0とし、ϕ2(h):=M4h212+4δh2\phi_2(h):=\dfrac{M_4h^2}{12}+\dfrac{4\delta}{h^2}(h>0h>0)と置く。ϕ2\phi_2を最小にするh>0h>0がただ一つ存在することを示し、その刻みh2∗h^*_2と最小値を求めよ。

解答.

ϕ2′(h)=M4h6−8δh3=M46h3(h4−48δ/M4)\phi_2'(h)=\frac{M_4h}6-\frac{8\delta}{h^3}=\frac{M_4}{6h^3}\bigl(h^4-48\delta/M_4\bigr)は0<h<(48δ/M4)1/40<h<(48\delta/M_4)^{1/4}で負、h>(48δ/M4)1/4h>(48\delta/M_4)^{1/4}で正である。§D1.14 定理 3.1によりϕ2\phi_2はこの点の左で狭義単調減少、右で狭義単調増加であり、最小点はh2∗:=(48δ/M4)1/4h^*_2:=(48\delta/M_4)^{1/4}ただ一つである。(h2∗)2=43δ/M4(h^*_2)^2=4\sqrt{3\delta/M_4}であるから

ϕ2(h2∗)=M412⋅43δM4+4δ43δ/M4=M4δ3+M4δ3=2M4δ3\phi_2(h^*_2)=\frac{M_4}{12}\cdot4\sqrt{\frac{3\delta}{M_4}}+\frac{4\delta}{4\sqrt{3\delta/M_4}}=\sqrt{\frac{M_4\delta}3}+\sqrt{\frac{M_4\delta}3}=2\sqrt{\frac{M_4\delta}3}

である。▨

問題 7.2.x∈Rx\in\R、h0>0h_0>0とし、f ⁣:[x,x+h0]→Rf\colon[x,x+h_0]\to\RがC3C^3級であって、実数M3M_3が[x,x+h0][x,x+h_0]上で∣f′′′∣≤M3|f'''|\le M_3を満たすとする。A(h):=Dh+f(x)A(h):=D^+_hf(x)(0<h≤h00<h\le h_0)について、次を示せ。

  1. AAは極限f′(x)f'(x)、係数f′′(x)/2f''(x)/2、定数M3/6M_3/6の、指数1,21,2の誤差の漸近展開をもつ。
  2. (T2,1A)(h)=−3f(x)+4f(x+h/2)−f(x+h)h(T_{2,1}A)(h)=\dfrac{-3f(x)+4f(x+h/2)-f(x+h)}hであり、任意の0<h≤h00<h\le h_0について∣(T2,1A)(h)−f′(x)∣≤M3h24|(T_{2,1}A)(h)-f'(x)|\le\dfrac{M_3h^2}4である。
  3. f(y)=y3f(y)=y^3、x=0x=0のとき(T2,1A)(h)−f′(0)=−h2/2(T_{2,1}A)(h)-f'(0)=-h^2/2である。
解答.

§D1.16 定理 2.1をa=xa=x、点x+hx+h、n=3n=3として適用すると、ξ∈[x,x+h]\xi\in[x,x+h]が存在してf(x+h)=f(x)+f′(x)h+f′′(x)2h2+f′′′(ξ)6h3f(x+h)=f(x)+f'(x)h+\frac{f''(x)}2h^2+\frac{f'''(\xi)}6h^3であり、A(h)=f′(x)+f′′(x)2h+f′′′(ξ)6h2A(h)=f'(x)+\frac{f''(x)}2h+\frac{f'''(\xi)}6h^2である。∣f′′′(ξ)∣≤M3|f'''(\xi)|\le M_3から(1)が成り立つ。

(T2,1A)(h)=2A(h/2)−A(h)=4(f(x+h/2)−f(x))h−f(x+h)−f(x)h(T_{2,1}A)(h)=2A(h/2)-A(h)=\frac{4(f(x+h/2)-f(x))}h-\frac{f(x+h)-f(x)}hであり、整理すると(2)の表示を得る。定理 4.3をt=2t=2、p=1p=1、p′=2p'=2、C=M3/6C=M_3/6として適用すると、K=(2−1+1)/(2−1)=3/2K=(2^{-1}+1)/(2-1)=3/2であり、定理 4.3 (1)により∣(T2,1A)(h)−f′(x)∣≤32⋅M36h2=M3h24|(T_{2,1}A)(h)-f'(x)|\le\frac32\cdot\frac{M_3}6h^2=\frac{M_3h^2}4である。

f(y)=y3f(y)=y^3、x=0x=0ではf(0)=0f(0)=0、f(h/2)=h3/8f(h/2)=h^3/8、f(h)=h3f(h)=h^3であり、(T2,1A)(h)=(4h3/8−h3)/h=−h2/2(T_{2,1}A)(h)=(4h^3/8-h^3)/h=-h^2/2、f′(0)=0f'(0)=0である。このときM3=6M_3=6であり、誤差の絶対値h2/2h^2/2は(2)の上界3h2/23h^2/2の1/31/3である。▨

前提記事