区間演算(interval arithmetic)とは、数の代わりに真の値を必ず含む有界閉区間を持ち歩き、$X\circ Y=\{x\circ y\mid x\in X,\ y\in Y\}$ で四則演算を行う計算法である。式の演算を区間の演算に置き換えた自然な区間拡張は関数の値域を必ず含み、各変数が 1 回ずつ現れる式では値域に一致し、その幅は箱の幅に比例する量で抑えられる。区間 Newton 法 $N=\tilde x-f(\tilde x)/F'(X)$ は、$0\notin F'(X)$ かつ $N\subseteq X$ なら $X$ に零点がただ 1 つあることを保証する。外向きの丸めと組み合わせて精度保証付き数値計算に使う。
計算機の浮動小数点数による計算には丸め誤差が入り、得られた数がどれだけ真の値に近いかは、計算の結果だけからは分からない。区間演算 は、数の代わりに「真の値を必ず含む閉区間」を持ち歩いて計算する方法である。たとえば $\pi\in[3.14,3.15]$、$e\in[2.71,2.72]$ だけが分かっているとき、$\pi-e$ について言える最良のことは $\pi-e\in[3.14-2.72,\ 3.15-2.71]=[0.42,0.44]$ であり、区間の引き算はちょうどこの計算をする。
この記事では、区間の四則演算を定義し、その端点の公式を示す(prop-ia-endpoint)。続いて、式の各演算を区間の演算に置き換えた 自然な区間拡張 が関数の値域を必ず含むこと(区間演算の基本定理、thm-ia-fundamental)、各変数が 1 回ずつしか現れない式では値域にちょうど一致すること(thm-ia-single-use)、区間の幅が狭くなると過大評価も比例して小さくなること(thm-ia-width)を証明する。最後に、零点の存在と一意性を有限回の区間演算で保証する 区間 Newton 法(thm-ia-newton)を述べ、$\sqrt2$ を幅約 $1.2\times10^{-18}$ の区間に閉じ込める例を計算する。
有界閉区間 $X=[\underline x,\overline x]$($\underline x\le\overline x$)の全体を $\mathbb{IR}$ と書く。実数 $x$ は 1 点の区間 $[x,x]$ と同一視する。$X$ の 幅 を $w(X):=\overline x-\underline x$、絶対値 を $\lvert X\rvert:=\max(\lvert\underline x\rvert,\lvert\overline x\rvert)$ とする。$\lvert X\rvert$ は $X$ の点の絶対値の最大値である。
$X,Y\in\mathbb{IR}$ と $\circ\in\{+,-,\times,/\}$ について
$$
X\circ Y:=\{x\circ y\mid x\in X,\ y\in Y\}
$$
と定める。ただし割り算 $/$ では $0\notin Y$ を仮定する。さらに平方を $X^2:=\{x^2\mid x\in X\}$ と定める($X\times X$ とは別の演算である)。これらを 区間演算(interval arithmetic)という。
使える条件は次のとおりである。
$X=[\underline x,\overline x]$、$Y=[\underline y,\overline y]$ とする。$X\circ Y$ と $X^2$ は有界閉区間であり、
$$
\begin{aligned}
X+Y&=[\underline x+\underline y,\ \overline x+\overline y],\qquad X-Y=[\underline x-\overline y,\ \overline x-\underline y],\\
X\times Y&=[\min P,\ \max P],\qquad P:=\{\underline x\underline y,\ \underline x\overline y,\ \overline x\underline y,\ \overline x\overline y\},\\
1/Y&=[1/\overline y,\ 1/\underline y]\quad(0\notin Y),\qquad X/Y=X\times(1/Y),\\
X^2&=\begin{cases}[0,\ \max(\underline x^2,\overline x^2)]&(0\in X),\\ [\min(\underline x^2,\overline x^2),\ \max(\underline x^2,\overline x^2)]&(0\notin X)\end{cases}
\end{aligned}
$$
である。
$X\times Y$ は $\mathbb{R}^2$ の有界閉集合で連結である。写像 $(x,y)\mapsto x\circ y$ はその上で連続なので(割り算では $0\notin Y$ による)、像は $\mathbb{R}$ の有界閉集合で連結、すなわち有界閉区間であり、その端点は最小値と最大値である。$X^2$ も同様である。
足し算:$x+y$ は $x$ についても $y$ についても増加するので、最小は $(\underline x,\underline y)$、最大は $(\overline x,\overline y)$ でとる。引き算:$x-y$ は $x$ について増加、$y$ について減少するので、最小は $(\underline x,\overline y)$、最大は $(\overline x,\underline y)$ でとる。
掛け算:$y$ を固定すると $x\mapsto xy$ は 1 次関数なので、$X$ の上の最小・最大は $x=\underline x$ か $x=\overline x$ でとる。同様に $x=\underline x$ または $\overline x$ に固定すると、$y$ についての最小・最大は $y=\underline y$ か $\overline y$ でとる。よって $X\times Y$ の上の最小・最大は 4 つの角の値 $P$ の最小・最大である。
逆数:$0\notin Y$ なら $Y\subset(0,\infty)$ か $Y\subset(-\infty,0)$ で、どちらでも $y\mapsto1/y$ は $Y$ の上で減少するので、像は $[1/\overline y,1/\underline y]$ である。$X/Y=\{x\cdot(1/y)\}=X\times(1/Y)$ は定義からすぐ従う。
平方:$x\mapsto x^2$ は $x\le0$ で減少、$x\ge0$ で増加する。$0\in X$ なら最小は $0$、最大は端点の値の大きいほうである。$0\notin X$ なら $X$ の上で単調なので、像は端点の値の間である。$\square$
$X\circ Y$ は、$X$ と $Y$ の情報だけから $x\circ y$ について言える最良の区間である。ところが、同じ量を 2 回使う式では、2 回の値が独立に動くとして計算するので、真の範囲より広くなる(依存性の問題)。たとえば $X-X=[-w(X),w(X)]$ であり、$X$ が 1 点でなければ $\{0\}$ にならない。$x^2$ を $X\times X$ で計算すると、$X=[-1,1]$ で $X\times X=[-1,1]$ だが $X^2=[0,1]$ である。
| 事柄 | 式 | 使える条件 | 根拠 |
|---|---|---|---|
| 和・差の幅 | $w(X+Y)=w(X-Y)=w(X)+w(Y)$ | — | prop-ia-endpoint |
| 積の幅 | $w(X\times Y)\le\lvert X\rvert\,w(Y)+\lvert Y\rvert\,w(X)$ | — | lem-ia-width |
| 逆数の幅 | $w(1/Y)\le w(Y)/\delta^2$ | $Y$ の点の絶対値がすべて $\delta>0$ 以上 | lem-ia-width |
| 交換・結合法則 | $X+Y=Y+X$、$(X+Y)+Z=X+(Y+Z)$、積も同じ | — | 集合の定義から |
| 劣分配法則 | $X\times(Y+Z)\subseteq X\times Y+X\times Z$ | — | 下の注意 |
| 自分自身との差 | $X-X=[-w(X),\,w(X)]$ | — | prop-ia-endpoint |
| 包含単調性 | $X\subseteq X'$、$Y\subseteq Y'$ なら $X\circ Y\subseteq X'\circ Y'$ | 割り算は $0\notin Y'$ | 集合の定義から |
| 基本定理 | $\{f(x)\mid x\in X\}\subseteq F(X)$ | $F(X)$ が定義される | thm-ia-fundamental |
| 1 回ずつの式 | $\{f(x)\mid x\in X\}=F(X)$ | 各変数が式に高々 1 回 | thm-ia-single-use |
| 幅の評価 | $w(F(X))\le L\max_kw(X_k)$ | $X\subseteq X^0$、$F(X^0)$ が定義される | thm-ia-width |
| 区間 Newton 法 | $N(\tilde x,X)\subseteq X$ なら $X$ に零点がただ 1 つ | $f\in C^1$、$0\notin F'(X)$ | thm-ia-newton |
劣分配法則は、$x\in X$、$y\in Y$、$z\in Z$ について $x(y+z)=xy+xz\in X\times Y+X\times Z$ であることから分かる。等号は一般には成り立たない(ex-ia-basic)。$X$ が 1 点の区間なら等号が成り立つ。
式 とは、変数 $x_1,\dots,x_n$ と実数の定数から、$+,-,\times,/$ と平方を有限回使って組み立てたもの(木の形の表現)とする。式 $f$ の各演算を区間演算に、各変数 $x_k$ を区間 $X_k$ に、各定数 $c$ を 1 点の区間 $[c,c]$ に置き換えて、内側から順に計算したものを $F(X_1,\dots,X_n)$ と書き、$f$ の 自然な区間拡張 という。途中で $0$ を含む区間で割ることがなければ $F(X)$ は 定義される という。$X=(X_1,\dots,X_n)$ を 箱 と呼び、$x\in X$ は $x_k\in X_k$(すべての $k$)を表す。同じ関数でも式が違えば $F$ は違う(ex-ia-dependency)。
式 $f$ と箱 $X$ について $F(X)$ が定義されるならば、すべての $x\in X$ で $f(x)$ は定義され($0$ で割ることがなく)、
$$
\{f(x)\mid x\in X\}\subseteq F(X)
$$
である。さらに $X\subseteq X'$(成分ごと)で $F(X')$ が定義されるなら、$F(X)$ も定義されて $F(X)\subseteq F(X')$ である。
式の組み立ての回数についての帰納法で示す。$f$ が変数 $x_k$ なら $F(X)=X_k$ で、$f$ が定数 $c$ なら $F(X)=[c,c]$ なので、どちらも成り立つ。$f=g\circ h$ とし、$g,h$ では成り立つとする。$F(X)=G(X)\circ H(X)$ が定義されるので $G(X)$、$H(X)$ も定義される。$x\in X$ について、帰納法の仮定より $g(x)\in G(X)$、$h(x)\in H(X)$ である。割り算なら $0\notin H(X)$ なので $h(x)\ne0$ で、$f(x)$ は定義される。区間演算の定義により $f(x)=g(x)\circ h(x)\in G(X)\circ H(X)=F(X)$ である。平方の場合も同じである。
後半:$X\subseteq X'$ のとき帰納法の仮定より $G(X)\subseteq G(X')$、$H(X)\subseteq H(X')$ であり、$0\notin H(X')$ なら $0\notin H(X)$ である。定義 $\{a\circ b\mid a\in A,\ b\in B\}$ は $A,B$ について単調なので、$G(X)\circ H(X)\subseteq G(X')\circ H(X')$ である。$\square$
この定理により、式を区間で 1 回計算するだけで、値域を 必ず含む 区間が得られる。計算機の丸めも外向きなら、この包含は崩れない(Rum10 §5.5、pp. 27–28 の inclusion property (5.16) と inclusion principle (5.17))。ただし一般に包含は真の包含で、値域より広い。
式 $f$ で、各変数 $x_1,\dots,x_n$ が高々 1 回しか現れないとする。箱 $X$ について $F(X)$ が定義されるならば
$$
\{f(x)\mid x\in X\}=F(X)
$$
である。
式の組み立ての回数についての帰納法で示す。変数と定数では明らかである。$f=g\circ h$ とすると、各変数は $f$ に高々 1 回現れるので、$g$ に現れる変数の集合 $V$ と $h$ に現れる変数の集合 $W$ は交わらない。$g$ の値は $V$ の変数だけで、$h$ の値は $W$ の変数だけで決まる。帰納法の仮定より、$x$ が $X$ を動くときの $g(x)$ の値の全体は $G(X)$、$h(x)$ の値の全体は $H(X)$ である。$V$ と $W$ が交わらないので、$a\in G(X)$ となる $V$ の変数の値と $b\in H(X)$ となる $W$ の変数の値は独立に選べ、その両方を含む $x\in X$ がとれる。したがって
$$
\{f(x)\mid x\in X\}=\{a\circ b\mid a\in G(X),\ b\in H(X)\}=G(X)\circ H(X)=F(X)
$$
である。平方 $f=g^2$ の場合は $\{g(x)^2\}=\{a^2\mid a\in G(X)\}=G(X)^2$ である。$\square$
この定理は Rum10 Theorem 8.1(p. 35)にある。依存性を避けるには、変数が 1 回ずつ現れるように式を書き換えるのがよい(ex-ia-dependency)。
過大評価の大きさは、箱の幅に比例して小さくなる。まず各演算の幅を評価する。
$X,Y\in\mathbb{IR}$ について次が成り立つ。
区間 $Z$ の幅は、$z,z'\in Z$ についての $\lvert z-z'\rvert$ の最大値である。1:$x,x'\in X$、$y,y'\in Y$ について $\lvert xy-x'y'\rvert=\lvert x(y-y')+y'(x-x')\rvert\le\lvert X\rvert\,w(Y)+\lvert Y\rvert\,w(X)$。2:$\lvert1/y-1/y'\rvert=\lvert y-y'\rvert/\lvert yy'\rvert\le w(Y)/\delta^2$。3:$\lvert x^2-x'^2\rvert=\lvert x+x'\rvert\lvert x-x'\rvert\le2\lvert X\rvert\,w(X)$。$\square$
式 $f$ と箱 $X^0$ について $F(X^0)$ が定義されるとする。ある定数 $L\ge0$($f$ と $X^0$ による)があって、$X\subseteq X^0$ を満たすすべての箱 $X$ について
$$
w(F(X))\le L\cdot\max_kw(X_k)
$$
が成り立つ。とくに $X$ の 1 点 $x$ について、$F(X)$ のどの点も $f(x)$ から $L\max_kw(X_k)$ 以内にある。
$\omega:=\max_kw(X_k)$ とおき、式の組み立ての回数についての帰納法で、各部分式 $g$ に定数 $L_g$ があって $w(G(X))\le L_g\,\omega$($X\subseteq X^0$)となることを示す。変数では $L=1$、定数では $L=0$ でよい。thm-ia-fundamental の後半により、$X\subseteq X^0$ なら $G(X)\subseteq G(X^0)$ なので $\lvert G(X)\rvert\le\lvert G(X^0)\rvert=:M_g$ である。
$f=g\pm h$ なら $w(F(X))=w(G(X))+w(H(X))$ なので $L_f=L_g+L_h$ でよい。$f=g\times h$ なら lem-ia-width の 1 により $L_f=M_gL_h+M_hL_g$ でよい。$f=g/h$ なら、$0\notin H(X^0)$ なので $H(X^0)$ の点の絶対値の最小値 $\delta_h$ は正で、$H(X)\subseteq H(X^0)$ の点も絶対値 $\delta_h$ 以上である。lem-ia-width の 2 と 1 により $w(1/H(X))\le L_h\omega/\delta_h^2$、$\lvert1/H(X)\rvert\le1/\delta_h$ なので、$L_f=M_gL_h/\delta_h^2+L_g/\delta_h$ でよい。平方なら $L_f=2M_gL_g$ でよい。
最後の主張:thm-ia-fundamental により $f(x)\in F(X)$ なので、$F(X)$ の点と $f(x)$ の差は $w(F(X))$ 以下である。$\square$
1 変数の式 $f$ と区間 $X^0$ で $F(X^0)$ が定義されるとし、$L$ を thm-ia-width の定数とする。$X^0$ を $N$ 等分した区間を $X^{(1)},\dots,X^{(N)}$ とし、$U_N:=\bigcup_kF(X^{(k)})$ とする。このとき $U_N$ は値域 $R:=\{f(x)\mid x\in X^0\}$ を含み、$U_N$ のどの点も $R$ から $L\,w(X^0)/N$ 以内にある。
$R=\bigcup_k\{f(x)\mid x\in X^{(k)}\}\subseteq U_N$ は thm-ia-fundamental による。$u\in F(X^{(k)})$ とし、$x\in X^{(k)}$ を 1 つとると、thm-ia-width により $\lvert u-f(x)\rvert\le L\,w(X^{(k)})=L\,w(X^0)/N$ であり、$f(x)\in R$ である。$\square$
過大評価は $1/N$ の速さでしか減らないので、細分だけで値域を精密に求めるのは効率が悪い。導関数の包含を使う中心形式 $f(\tilde x)+F'(X)\,(X-\tilde x)$ などの改良がある(Rum10 §8、pp. 33–39 と §11.6、pp. 83–84)。この記事では立ち入らない。
$f$ を閉区間 $X=[\underline x,\overline x]$ の上の $C^1$ 級関数とする。区間 $F'(X)$ が、すべての $\xi\in X$ について $f'(\xi)\in F'(X)$ を満たすとき、$F'(X)$ を $f'$ の $X$ 上の 包含 という($f'$ の式の自然な区間拡張は、thm-ia-fundamental によりその例である)。$0\notin F'(X)$ と $\tilde x\in X$ について
$$
N(\tilde x,X):=\tilde x-f(\tilde x)/F'(X)
$$
とおく($f(\tilde x)$ は 1 点の区間、引き算と割り算は区間演算)。
上の記号で $0\notin F'(X)$ とする。
1:$f(x^*)=0$、$x^*\in X$ とする。$x^*=\tilde x$ なら $f(\tilde x)=0$ で $N(\tilde x,X)=\{\tilde x\}$ なので成り立つ。$x^*\ne\tilde x$ なら、平均値の定理 により $x^*$ と $\tilde x$ の間の $\xi\in X$ で $f(\tilde x)=f(\tilde x)-f(x^*)=f'(\xi)(\tilde x-x^*)$ となる。$f'(\xi)\in F'(X)$ は $0$ でないので $x^*=\tilde x-f(\tilde x)/f'(\xi)\in N(\tilde x,X)$ である。3 は 1 から従う。
2:一意性:$f'(\xi)\in F'(X)$ で $0\notin F'(X)$ なので、$f'$ は $X$ の上で一定の符号をもち、$f$ は狭義単調である。零点は高々 1 つである。
存在:$F'(X)=[d_1,d_2]$ とし、まず $d_1>0$ の場合を考える。$f(\tilde x)=0$ なら $\tilde x$ が零点である。$f(\tilde x)>0$ なら $N(\tilde x,X)=[\tilde x-f(\tilde x)/d_1,\ \tilde x-f(\tilde x)/d_2]$ で、$N(\tilde x,X)\subseteq X$ から $\underline x\le\tilde x-f(\tilde x)/d_1$、すなわち $d_1(\tilde x-\underline x)\ge f(\tilde x)$ である。$\underline x<\tilde x$ であり($\underline x=\tilde x$ なら $f(\tilde x)\le0$ となって矛盾)、平均値の定理により $\underline x$ と $\tilde x$ の間の $\xi$ で
$$
f(\underline x)=f(\tilde x)-f'(\xi)(\tilde x-\underline x)\le f(\tilde x)-d_1(\tilde x-\underline x)\le0
$$
である。$f(\tilde x)>0$ なので、中間値の定理 により $[\underline x,\tilde x]$ に零点がある。$f(\tilde x)<0$ なら、同様に $N(\tilde x,X)=[\tilde x-f(\tilde x)/d_2,\ \tilde x-f(\tilde x)/d_1]\subseteq X$ から $d_1(\overline x-\tilde x)\ge-f(\tilde x)$ で、$f(\overline x)\ge f(\tilde x)+d_1(\overline x-\tilde x)\ge0$ となり、$[\tilde x,\overline x]$ に零点がある。
$d_2<0$ の場合は、$-f$ と包含 $-F'(X)=[-d_2,-d_1]$(下端が正)に上の議論を当てる。$(-f(\tilde x))/(-F'(X))=f(\tilde x)/F'(X)$ なので $N(\tilde x,X)$ は変わらず、$-f$ の零点は $f$ の零点である。$\square$
この定理は Rum10 Theorem 6.2(p. 30)にある。区間 Newton 法の反復 $X_{k+1}:=N(\tilde x_k,X_k)\cap X_k$($\tilde x_k$ は $X_k$ の中点)では、1 により零点は各 $X_k$ に残り続ける。$\tilde x$ を中点の 1 点にすることが要点で、$x-f(x)/f'(x)$ の各 $x$ をすべて区間 $X$ に置き換えると、依存性のために区間は広がっていく(Rum10 Algorithm 6.1、p. 29)。
値域を包む・零点を保証するための手順は次のとおりである。
$X=[-1,2]$、$Y=[-3,1]$ とする。
使う公式:prop-ia-endpoint。
答え:$X+Y=[-4,3]$、$X-Y=[-2,5]$、$X\times Y=[-6,3]$、$X/[1,2]=[-1,2]$、$X-X=[-3,3]$。
積は 4 つの角の値 $(-1)(-3)=3$、$(-1)\cdot1=-1$、$2\cdot(-3)=-6$、$2\cdot1=2$ の最小と最大である。$X/[1,2]=X\times[\frac12,1]$ の角の値は $-\frac12,-1,1,2$ である。幅は $w(X\times Y)=9$ で、lem-ia-width の上界 $\lvert X\rvert w(Y)+\lvert Y\rvert w(X)=2\cdot4+3\cdot3=17$ 以下である。
分配法則が成り立たない例:$A=[-1,1]$ について $A\times(1+(-1))=A\times[0,0]=[0,0]$ だが、$A\times1+A\times(-1)=[-1,1]+[-1,1]=[-2,2]$ である。
$f(x)=x-x^2$ の $X=[0,1]$ での値域は $[0,\frac14]$ である($x=\frac12$ で最大)。同じ関数を表す式によって、自然な区間拡張は次のように違う。
| 式 | 区間での計算 | 結果 |
|---|---|---|
| $x-x\times x$ | $[0,1]-[0,1]\times[0,1]$ | $[-1,1]$ |
| $x-x^2$ | $[0,1]-[0,1]$ | $[-1,1]$ |
| $x\times(1-x)$ | $[0,1]\times[0,1]$ | $[0,1]$ |
| $\frac14-(x-\frac12)^2$ | $\frac14-[-\frac12,\frac12]^2=\frac14-[0,\frac14]$ | $[0,\frac14]$ |
最後の式は $x$ が 1 回だけ現れるので、thm-ia-single-use により値域にちょうど一致する。最初の式で $[0,1]$ を $N$ 等分して和集合をとると、$N=1,2,4,10,100,1000$ で $[-1,1]$、$[-\frac12,\frac34]$、$[-\frac14,\frac12]$、$[-0.1,0.35]$、$[-0.01,0.26]$、$[-0.001,0.251]$ となり、$N\ge2$ のこれらの値では両端の過大評価はちょうど $\frac1N$ である($N=1$ では上端の過大評価は $\frac34$)(cor-ia-subdivision の $1/N$ の速さ)。
$f(x)=x^2-2$、$X_0=[1,2]$ とし、$F'(X)=2\times X$ とする。$0\notin F'(X_0)=[2,4]$ である。
使う公式:thm-ia-newton の 2、中点 $\tilde x_k$ での反復 $X_{k+1}=N(\tilde x_k,X_k)\cap X_k$。
答え:$X_1=[1.375,\,1.4375]$ は $X_0$ に含まれるので、$X_0$ の中に $f$ の零点($\sqrt2$)がただ 1 つある。反復の区間と幅は次のとおりで、$X_4$ の幅は約 $1.2\times10^{-18}$ である。
| $k$ | $X_k$(10 進で丸めて表示) | $w(X_k)$ |
|---|---|---|
| $0$ | $[1,\ 2]$ | $1$ |
| $1$ | $[1.375,\ 1.4375]$ | $6.25\times10^{-2}$ |
| $2$ | $[1.4140625,\ 1.4144176136\ldots]$ | $3.55\times10^{-4}$ |
| $3$ | $[1.41421355929\ldots,\ 1.41421356595\ldots]$ | $6.65\times10^{-9}$ |
| $4$ | $[1.414213562373\ldots,\ 1.414213562373\ldots]$ | $1.17\times10^{-18}$ |
どの段でも $N(\tilde x_k,X_k)\subseteq X_k$ であり、幅はおよそ前の段の幅の 2 乗に比例して減っている。
$\tilde x_0=\frac32$、$f(\frac32)=\frac14$。$\frac14/[2,4]=\frac14\times[\frac14,\frac12]=[\frac1{16},\frac18]$ なので $N=\frac32-[\frac1{16},\frac18]=[\frac{11}8,\frac{23}{16}]=[1.375,1.4375]$。2 段目は $\tilde x_1=\frac{45}{32}$、$f(\tilde x_1)=-\frac{23}{1024}$、$F'(X_1)=[\frac{11}4,\frac{23}8]$ で、$N=[\frac{181}{128},\frac{3983}{2816}]$ となる。表の値は丸めのない分数で計算し、10 進に直したものである。
$f(x)=x^2-2$、$X=[2,3]$、$\tilde x=\frac52$ とする。$F'(X)=[4,6]$、$f(\frac52)=\frac{17}4$ で、
$$
N(\tfrac52,X)=\tfrac52-\tfrac{17}4\times[\tfrac16,\tfrac14]=[\tfrac{23}{16},\ \tfrac{43}{24}]\approx[1.4375,\ 1.79167]
$$
は $X$ と交わらない。thm-ia-newton の 3 により、$[2,3]$ に $f$ の零点はない。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 各変数が 1 回(thm-ia-single-use) | $f(x)=x-x$、$X=[0,1]$ | $F(X)$ が値域に一致する($F(X)=[-1,1]$、値域は $\{0\}$) |
| 割る区間が $0$ を含まない(def-ia-operations) | $1/[-1,1]$ | 商が有界閉区間になる |
| $N(\tilde x,X)\subseteq X$(thm-ia-newton の 2) | $f(x)=x^2-2$、$X=[2,3]$ | $X$ に零点がある |
| 1 点の $\tilde x$ を使う(thm-ia-newton の 1) | $X-F(X)/F'(X)$ の反復、$f(x)=x^2-2$、$X_0=[1.4,1.5]$ | 区間が狭まる(逆に広がる) |
1 行目:$[0,1]-[0,1]=[-1,1]$ だが $x-x=0$。2 行目:$\{1/y\mid y\in[-1,1],\ y\ne0\}=(-\infty,-1]\cup[1,\infty)$ は有界でなく、区間でもない。3 行目:ex-ia-exclusion により零点がなく、$N(\frac52,X)\not\subseteq X$ である。$f'$ の包含 $[4,6]$ は $0$ を含まないので、外したのは $N\subseteq X$ だけである。4 行目:各段で $X\leftarrow X-(X\times X-2)/(2\times X)$ とすると、$[1.4,1.5]$ から幅が $0.2036\ldots$、$0.4230\ldots$ と広がる(Rum10 Algorithm 6.1、p. 29 の表)。零点 $\sqrt2$ は各段の区間に含まれ続けるが、区間は狭まらない。
| 誤り | 正しくは | なぜ |
|---|---|---|
| $X-X=0$、$X/X=1$ とする | $X-X=[-w(X),w(X)]$。$X/X$ も一般に $1$ より広い | 2 回の値が独立に動く(依存性) |
| 分配法則 $X(Y+Z)=XY+XZ$ を使う | $\subseteq$ しか成り立たない | ex-ia-basic |
| $x^2$ を $X\times X$ で計算する | 平方の演算 $X^2$ を使う($0\in X$ なら下端は $0$) | prop-ia-endpoint |
| 端点を最近接の丸めで計算する | 下端は下向き、上端は上向きに丸める | 包含が崩れる |
| 区間 Newton 法で $f'$ の包含に $0$ が入っても続ける | $X$ を分けてから使う | thm-ia-newton の仮定 |
区間演算は、丸め誤差を含めて結論を数学的に保証する 精度保証付き数値計算 の基本の道具である(誤差(数値解析) の節「安定性と精度保証」)。連立 1 次方程式・非線形方程式・固有値・積分・微分方程式の解を包む方法があり、Newton–Kantorovichの定理 のような存在定理の仮定を区間演算で確かめる使い方もある(Rum10 第 2・3 部)。多変数の区間 Newton 法では、$F'(X)$ が区間行列になり、その逆行列の包含が必要になる。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する