数値解析

数値解析(すうちかいせき、英: numerical analysis)は、計算機代数とは対照的に、数値計算によって解析学の問題を近似的に解く数学の一分野である。 (狭義には「数値解析」とは「数値計算方法」の数学的な解析・分析(mathematical analysis of numerical methods)のことであり,広義の意味=数値を使って問題の解析・分析を行う(Analysis by numerical methods)・式でなく数値で計算を行う「数値計算」(numerical computation, numerical calculation)全般とは区別される。しかし世間一般には両者はあまり区別されていない。理学工学等の分野の応用として計算を行う場合には普通は広義の意味で「数値解析」と称している。このWikipediaでも区別がなされていない。本来この頁のタイトルは「数値解析」ではなくて「数値計算」とする方が正しい。その場合の「数値計算」とは問題を解くための計算を数式を使って行うのではなくてもっぱら数値を使って行うのだという意味合いがある。)
数値解析は自然科学および工学のあらゆる分野に応用がある。計算言語学[1]や社会統計学[2]のように、人文科学や社会科学でも重要である。
現在知られている人類史における最初期の数学的記述の一つとして、バビロニアの粘土板 YBC 7289 を挙げることができる。YBC 7289 は正方形の対角線の長さを近似したものと考えられ、結果として 2時間のレースで、自動車の速度を3回測定した結果が次表のようになっている。
離散化とは、この場合、0:00 から 0:40 までの自動車の速度が一定とみなし、同様に 0:40 から 1:20 までと、1:20 から 2:00 までも一定とみなすことである。すると、最初の40分の走行距離は約 (2/3h x 140 km/h)=93.3 km となる。したがって、全走行距離は 93.3 km + 100 km + 120 km = 313.3 km と見積もられる。これがリーマン和を使った一種の数値積分である(走行距離は速度の積分であるため)。
悪条件問題: 関数 f(x) = 1/(x − 1) を考える。f(1.1) = 10 で f(1.001) = 1000 である。x が 0.1 の範囲内で変化したとき、f(x) は約1000も変化する。この f(x) の x = 1 での評価は悪条件問題である。
良条件問題: 対照的に関数 回帰: 線型回帰では、n 個の点が与えられたとき、それら n 個の点のなるべく近くを通る直線を求める。
最適化: レモネード売りがレモネードを売っている。1杯1ドルでは、1日に197杯売れる。1杯あたり1セント値段を上げると、1日に売れるレモネードは1杯減る。1杯を1.485ドルにすると売り上げが最大となるが、1セント未満を使った値段は付けられないので、1.49ドルにすると一日の最大売り上げ 220.52 ドルが得られる。
微分方程式: ある部屋で一方からもう一方へ空気が流れるように100個の扇風機を配置し、羽根をそこに落としてみる。何が起きるだろうか? 羽根は空気の流れに従って漂うが、非常に複雑な動きになるかもしれない。その近似としては、羽根が漂っている付近の空気の速度を1秒おきに測定し、シミュレートされた羽根が1秒間は測定された方向にその速度で進むと仮定する。このような手法をオイラー法と呼び、常微分方程式を解くのに使われる。
最も単純な問題は、関数のある点での値を求めることである[注釈 2]。単純に数式に値を代入する直接的な手法は、効率的でないこともある。多項式の場合、ホーナー法を使うことで乗算と加算の回数を減らすことができる。一般に、浮動小数点演算を使うことで生じる丸め誤差を予測して制御することが重要となる。
補間が役立つのは、ある未知の関数のいくつかの点の値があるとき、それら以外の中間点でのその関数の値を求める場合である。単純な手法としては線型補間があり、既知の点の間で関数が線型に変化するとみなすものである。これを一般化した多項式補間はもっと正確となることが多いが、ルンゲ現象に悩まされることもある。その他の補間手法としてはスプラインやウェーブレットといった局所化関数を使うものがある。
補外は補間とよく似ているが、未知の関数の値が判っている点の外側の点について値を求めることをいう[20]。
回帰も類似した手法だが、既存のデータが不正確であることを考慮する。いくつかの点とその値があり、それらデータが誤差を含みつつ何らかの関数に従っているとして、その未知の関数を決定する。このための手法として、最小二乗法がよく知られている。
基本的な問題のひとつとして、与えられた方程式の解を計算する問題がある。その方程式が線型か否かによって手法が分類される。例えば、時間 0:20 1:00 1:40
km/h 140 150 180
補間、補外、回帰
方程式、方程式系の解
- Numerical Analysis - ウェイバックマシン(2007年2月26日アーカイブ分) - スカラーペディア百科事典「数値解析」の項目。
- Scientific computing FAQ
- Numerical analysis DMOZ category
- Numerical Computing Resources on the Internet - a list maintained by Indiana University Stat/Math Center
- Java Number Cruncher 典型的数値解析アルゴリズムのダウンロード可能なコード例と実行可能なアプレットがある。
- Numerical Analysis Project by John H. Mathews
- Alternatives to Numerical Recipes
- Numerical Recipes: The Art of Scientific Computing, Cambridge Univ Press の書籍等のサポートページ
- Numerical Analysis for Engineering
- 世界大百科事典 第2版『数値解析』 - コトバンク
- 日本大百科全書(ニッポニカ)『数値計算』 - コトバンク
- ブリタニカ国際大百科事典 小項目事典『数値解法』 - コトバンク
- A Survey of Numerical Methods Utilizing MixedPrecision Arithmetic
- 大宮司久明:「数値流体力学大全」(2015)(GNUフリー文書利用許諾契約書 (GFDL)に基き配布)
- 川上一郎:「数値計算の基礎」(2008年1月23日改定)GitHub
- Probabilistic Numerics
- Open Encyclopedia of Parallel Algorithmic Features
- Prof. Dr. Ronald W. Hoppe's Homepage (数値解析科目の講義録)
- 配信講義 計算科学技術特論A(2021)計算科学eラーニングアーカイブチャンネル
- 配信講義 計算科学技術特論A(2021)(4月8日~7月29日)※講義の録画、スライド掲載
- 配信講義 計算科学技術特論B(2022)(2022年4月7日~7月28日・オンライン)※講義の録画、スライド掲載
- 配信講義 計算科学技術特論A(2023)(2023年4月13日~7月27日・オンライン)※講義の録画、スライド掲載予定
- 京都大学数理解析研究所における数値解析関係の研究集会(名古屋大学で2024年に作成された過去の開催リスト)
- 計算工学ナビ