安定性
ある問題を解くための手法の安定性(stability)とは、その手法が求解プロセス中における(丸め)誤差にどの程度敏感に反応するかに関する特性を意味する。データが保証するのと同程度の解の精度を保証できる手法は安定であり、そうでないものは不安定である。条件(condition)が問題の鋭敏さに関係した概念であるのに対し、安定性は解法の鋭敏さに関係した概念である。
不安定な手法の具体例は標本分散を計算するための数式(3)
であるが、ここではさらに2つの例を追加する。
Example 4.9
(2次方程式)
2次方程式
について考える。標準的な根の公式
を使って有効桁数4桁の計算を行うと
という解が得られる。しかし
という関係式を使って
から
を求めると
という別の結果が得られる。正しい解は
である。標準的な根の公式を用いた場合、小さい方の根については
の値が
に近いものとなり、桁落ち(cancellation)が起るためこのような問題が生ずる。
2次方程式の求解といった単純な問題であっても注意が必要である。関連する有用な情報については
Forsythe [1969]
を参照されたい。
Example 4.10
(漸化式)
が
![]() |
(7) |

![$[0,1]$](graphics/section4b__16.png)


![]() |
(8) |
![]() |
(9) |



![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
表2

簡単な考察を行うことによってこの不安定性の理由を解明することができる。は厳密値では表現できないため、それからわずかにはずれた値
からスタートせざるを得ない。そこで
としよう。そうするとたとえその後の計算が厳密に行えたとしても
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
となる。一般式としては
となることが帰納法によって証明できる。この場合、
とすると
となる。これから明らかなように、この前進漸化式によって
の値を計算する方法は誤差が急激に成長するために不安定である。
次に示すのはこのの値を計算するための安定な手法である。
Example 4.11
(安定な漸化式)
数式
(9)
を変形することによって後退漸化式
が得られる。今、
に対する近似値を
とする。
このときExample
4.10の場合と同様、次の一般式が得られる。
Example
4.10のときには誤差の急速な成長を招いたが、今回の場合、初期誤差は急速に減衰する。今、推定によりとすると
(8)
より
倍精度IEEE
arithmeticを前提に後退漸化式を用いると
という値が得られる。これはここに表示した全桁数において正しい値である。これよりこの後退漸化式は安定であると言える。
なお、
(7)
の積分は適切な数値積分公式を使うことによって問題なく安定的に値の評価が可能である。なぜなら関数は区間
全体で非負、単調だからである。
常微分/偏微分方程式の解法においては、微分方程式を差分方程式で置き換えることに伴うある種の不安定性が発生する場合がある。最初に単純な非線形方程式の解法に伴う問題について触れておく。
Example 4.12
(寄生解)
方程式
![]() |
(10) |






上の例の場合、寄生解が(10)
の解にならないことは明白であるため、それによってだまされることはない。しかし常微分/偏微分方程式の解法においては打切り誤差により、分離が明白ではないことが起る。
Example 4.13
(ODEの不安定性)
初期値問題
![]() |
(11) |
![]() |
(12) |














![]() |
図6 ODEの例 - 安定な場合 |
![]() |
図7 ODEの例 - 不安定な場合 |
最初のケースについては数値解は厳密解に良く追従できている。しかし2番目のケースについては発振が見られ、数値解は厳密解から乖離してしまっている。
このような振舞いが生じる理由は (12) が
![]() |
(13) |





