精度保証付き数値計算

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
数学 > 数値解析 > 精度保証付き数値計算

精度保証付き数値計算[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]

ガウス求積二重指数関数型数値積分公式などの数値積分公式の誤差評価を行う)

主な精度保証付き数値計算ライブラリ[編集]

その他、様々なライブラリが開発されている[40][41]

関連する研究集会[編集]

関連項目[編集]

関連分野[編集]

研究者[編集]

日本[編集]

海外[編集]

定理[編集]

出典[編集]

  1. ^ 山本哲郎によって発案された用語である
  2. ^ a b c 大石、他 (2018)
  3. ^ 荒井迅. 精度保証付き数値計算の力学系への応用について. 数理解析研究所講究録, 1485.
  4. ^ 荒井迅. 精度保証付き数値計算の応用:カオス : 渾沌を殺さず七竅を鑿つために (PDF)
  5. ^ D. Michelucci (2000), "Reliable computations for dynamic systems". Proc. SCAN 2000 / Interval 2000 — 9th GAMM-IMACS International Symposium on Scientific Computing, Computer Arithmetic, and Validated Numerics
  6. ^ Kühn, W. (1998). Rigorously computed orbits of dynamical systems without the wrapping effect. Computing, 61(1), 47-67.
  7. ^ Loh, E., & Walster, G. W. (2002). Rump's example revisited. Reliable Computing, 8(3), 245-248.
  8. ^ 精度保証付き数値計算の必要性
  9. ^ スカッドミサイルの追撃・阻止の失敗による兵舎の被爆”. 失敗知識データベース. 特定非営利活動法人 失敗学会 (2018年1月30日). 2019年4月20日閲覧。
  10. ^ アリアン5型ロケットが制御不能で40秒後に爆発”. 失敗知識データベース. 特定非営利活動法人 失敗学会 (2018年1月30日). 2019年4月20日閲覧。
  11. ^ Rounding error changes Parliament makeup
  12. ^ 大石進一:「精度保証付き数値計算」、コロナ社、(1999年)
  13. ^ a b c 山本哲朗『数値解析入門』サイエンス社〈サイエンスライブラリ 現代数学への入門 14〉、2003年6月、増訂版。ISBN 4-7819-1038-6
  14. ^ ガンマ関数の精度保証付き計算メモ (PDF)
  15. ^ Yamanaka, N., Okayama, T., & Oishi, S. I. (2015, November). Verified Error Bounds for the Real Gamma Function Using Double Exponential Formula over Semi-infinite Interval. In International Conference on Mathematical Aspects of Computer and Information Sciences (pp. 224-228). Springer, Cham.
  16. ^ Rump, S. M. (2014). Verified sharp bounds for the real gamma function over the entire floating-point range. Nonlinear Theory and Its Applications, IEICE, 5(3), 339-348.
  17. ^ 大石進一(2008): 電子情報通信学会技術研究報告. NLP, 非線形問題, 108, 55-57.
  18. ^ N. Yamamoto and N. Matsuda (2005): Trans. Jap. Soc. Indust. Appl. Math., 15, 347-359.
  19. ^ Johansson, F. (2019). Numerical Evaluation of Elliptic Functions, Elliptic Integrals and Modular Forms. In Elliptic Integrals, Elliptic Functions and Modular Forms in Quantum Field Theory (pp. 269-293). Springer, Cham.
  20. ^ Johansson, F. (2019). Computing Hypergeometric Functions Rigorously. ACM Transactions on Mathematical Software (TOMS), 45(3), 30.
  21. ^ Johansson, F. (2015). Rigorous high-precision computation of the Hurwitz zeta function and its derivatives. Numerical Algorithms, 69(2), 253-270.
  22. ^ Johansson, F. (2017). Arb: efficient arbitrary-precision midpoint-radius interval arithmetic. IEEE Transactions on Computers, 66(8), 1281-1292.
  23. ^ Johansson, F. (2018, July). Numerical integration in arbitrary-precision ball arithmetic. In International Congress on Mathematical Software (pp. 255-263). Springer, Cham.
  24. ^ Johansson, F., & Mezzarobba, M. (2018). Fast and Rigorous Arbitrary-Precision Computation of Gauss--Legendre Quadrature Nodes and Weights. en:SIAM Journal on Scientific Computing, 40(6), C726-C747.
  25. ^ a b Zeidler, E., Nonlinear Functional Analysis and Its Applications I-V. en:Springer Science & Business Media.
  26. ^ a b c 杉原正顯, & 室田一雄. (1994). 数値計算法の数理. 岩波書店.
  27. ^ a b c 非線形方程式に対する解の精度保証付き数値計算 (PDF)
  28. ^ 中尾充宏, & 山本野人. (1998). 精度保証付き数値計算 チュートリアル: 応用数理最前線.
  29. ^ 中尾充宏, & 渡部善隆. (2011). 実例で学ぶ精度保証付き数値計算, サイエンス社.
  30. ^ M. Nakao, M. Plum, Y. Watanabe (2019) Numerical Verification Methods and Computer-Assisted Proofs for Partial Differential Equations (Springer Series in Computational Mathematics).
  31. ^ Oishi, S., & Tanabe, K. (2009). Numerical Inclusion of Optimum Point for Linear Programming. JSIAM Letters, 1, 5-8.
  32. ^ 尾崎克久(2011). 誤らない計算幾何学アルゴリズム (特集 計算の品質--精度・誤差・効率), 数学セミナー 47(11), 36-39, 2008-11.
  33. ^ S.M. Rump: INTLAB - INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77-104. Kluwer Academic Publishers, Dordrecht, 1999.
  34. ^ Rohn, J. (2009). VERSOFT: verification software in MATLAB/INTLAB.
  35. ^ Montanher, T. M. (2009). Intsolver: An interval based toolbox for global optimization. Version 1.0.
  36. ^ Overview of kv – a C++ library for verified numerical computation, Masahide Kashiwagi, SCAN 2018.
  37. ^ Johansson, F. (2013). Arb: a C library for ball arithmetic. ACM Comm. Computer Algebra, 47(3/4), 166-169.
  38. ^ Sanders, D. P., Benet, L., & Kryukov, N. (2016). The julia package ValidatedNumerics. jl and its application to the rigorous characterization of open billiard models. SCAN 2016, 124.
  39. ^ ValidatedNumerics.jl: a new framework in Julia, David P. Sanders and Luis Benet, SCAN 2018.
  40. ^ Interval and Verified Software
  41. ^ 松田望. (2016). 中心値・半径方式による精度保証付き多倍長区間演算ライブラリの開発. 電気通信大学博士論文.

参考文献[編集]

外部リンク[編集]

解説記事[編集]