精度保証付き数値計算
数学的に厳密な誤差(前進誤差、後退誤差、丸め誤差、打切り誤差、離散化誤差)の評価を伴う数値計算のことであり、数値解析の一分野 ウィキペディアから
精度保証付き数値計算[1](せいどほしょうつきすうちけいさん、Validated Numerics, Rigorous Computation, Reliable Computation, Verified Computation, Numerical Verification, 独: Zuverlässiges Rechnen)とは数学的に厳密な誤差(前進誤差、後退誤差、丸め誤差、打切り誤差、離散化誤差)の評価を伴う数値計算のことであり、数値解析の一分野である[2]。演算では区間演算を使用し、結果はすべて区間で出力する。精度保証付き数値計算はウォリック・タッカーによって14番目のスメイルの問題を解くのにも活用されており(Tucker (1999)を参照)、力学系の研究では重要なツールとして位置づけられている[3][4][5][6]。
精度保証付き数値計算の必要性
要約
視点
精度保証付き数値計算ではない通常の数値計算だと誤差によって不都合な事象が生じてしまう。いくつかのその例を挙げる。
Rumpの例題
1980年代にRumpは次のような例を提示した(Rump (1988)を参照)。
という関数を考え、この関数にという値を与えて数値計算をしたときにどういう結果が得られるか実験した。計算機はIBMのメインフレームS/370を使用して、単精度、倍精度、拡張精度で実験を行い、それぞれ
- 単精度(10進約8桁):
- 倍精度(10進約17桁):
- 拡張精度(10進約34桁):
の結果を得た。この結果を見ると、それぞれの精度に応じて途中の桁まで正しい値が得られているように思えたが、実は真の値はであり、真の値とは符号さえ合わないような結果が得られていた。これは、「ある演算精度で計算してそれよりも高い演算精度で計算したときに双方の結果が近ければある程度は結果の正しさを確認できる」とは限らないことを示す例である[2][7]。
幻影解
Breuer-Plum-McKennaはEmden方程式の境界値問題をスペクトル法によって離散化して解き、非対称な近似解が得られると報告した。しかしGidas-Ni-Nirenbergの理論的な解析手法によって非対称な解が存在しないことが証明されていた。つまりBreuer-Plum-McKennaが得た近似解は離散化誤差による幻影解だったのだ。これは珍しい例だが、微分方程式の解の存在を厳密に検討するには数値解法によって得られた近似解を検証しなければいけないことが分かる。
商用ソフトウェアの限界
ローレンツ方程式を精度保証付き数値計算とMATLABのode45(ODEソルバ)において最高精度を指定した場合で比較を行うと、ある程度時刻が進むと得られる解が違ってくるという実験例がある[8]。
数値計算の誤差による事故
数値計算の誤差によって生じた事故として次の3つが挙げられる。
主な研究分野
精度保証付き数値計算は主に以下の分野に分かれて研究がなされている[2][12]。
(ガウス求積、二重指数関数型数値積分公式などの数値積分公式の誤差評価を行う)
主な精度保証付き数値計算ライブラリ
関連する研究集会
- 日本数学会・応用数学分科会
- 日本応用数理学会・計算の品質研究部会
- 日本シミュレーション学会・精度保証付シミュレーション技術研究委員会
- 数値解析シンポジウム (NAS)
- International Symposium on Scientific Computing, Computer Arithmetics and Validated Numerics (SCAN)
関連項目
関連分野
研究者
日本
海外
- ゲッツ・アールフェルト
- ウルリヒ・クリッシュ
- ウォリック・タッカー(精度保証付き数値計算について著書がある)
- en:Vladik Kreinovich
定理
出典
参考文献
外部リンク
Wikiwand - on
Seamless Wikipedia browsing. On steroids.