研究内容

概要

コンピュータを用いる数値計算において、その計算結果は厳密に正確なものではなく、 ある程度の誤差を伴います。これは、無理数や循環小数などの無限桁数が有限桁に 近似されることに起因しています。そこで、厳密に表現することができない数の演算を 解決するための手段として 区間解析 (interval analysis) が考案され ました。現在、この区間解析に関する研究を行っています。

区間解析を応用させた数値計算に、非線形方程式の厳密解を与えるための 精度保証付き数値計算 などが挙げられます。

区間演算とは

1. 区間の表現、演算

区間解析のための実際の計算方法に 区間演算 があります。 区間演算とは、" 一定の区間を持った実数を加減乗除する " 、という演算です。

簡単な例を挙げます。例えば、 " 1 から 3 までの間 " という値と " 2 から 5 までの間" という値があるとします。これらの範囲を足し合わせた時、 合計の範囲はどうなるでしょう。範囲の足し算ならば、直感的に、それぞれの範囲の 下限どうしの和と上限どうしの和が、合計の範囲であると考えられます。 上の例では、それぞれの下限は 1 と 2 、 上限は 2 と 5 なので、合計の範囲は " 3 から 7 までの間 " になります。この計算を以下のように表現します。

[1, 2] + [2, 5] = [3, 7]

引き算、掛け算、割り算に関しても、足し算のように、2つの範囲を計算させた ときに、最も小さくなる値が下限、最も大きくなる値が上限となります。

[1, 2] - [2, 5] = [-4, 0]
[1, 2] * [2, 5] = [2, 10]
[1, 2] / [2, 5] = [0.2, 1]

これが区間演算の基本的なルールです。

2. 精度保証への応用

コンピュータで無理数を扱う場合、その精度には限度があります。 ここで区間演算を利用します。円周率を例にとると、コンピュータが 小数点の桁数を厳密に表せなくとも、

3.1415926535...

[3.1415926535, 3.1415926536]

と表現すれば、円周率はこの範囲内に収まることを宣言できます。 そしてこの円周率を用いた演算も、計算結果に下限と上限が表れます。 こうして無理数を範囲で包んで演算すれば、誤差を生じやすい 複雑な計算も、どれほどの誤差に収束するかを判定することができます。

3. 区間の発散と、その対応策

鋭意制作中

戻る