数値解析
[Wikipedia|▼Menu]
バビロニア粘土板 YBC 7289 (紀元前1800-1600年頃)。2の平方根の近似値は六十進法で4桁、十進法では約6桁に相当する。1 + 24/60 + 51/602 + 10/603 = 1.41421296... ⇒[1]。(Image by Bill Casselman)

数値解析(すうちかいせき、: numerical analysis)は、計算機代数(英語版)とは対照的に、数値計算によって解析学の問題を近似的に解く数学の一分野である。(狭義には「数値解析」とは「数値計算方法」の数学的な解析・分析(mathematical analysis of numerical methods)のことであり,広義の意味=数値を使って問題の解析・分析を行う(Analysis by numerical methods)・式でなく数値で計算を行う「数値計算」(numerical computation, numerical calculation)全般とは区別される。しかし世間一般には両者はあまり区別されていない。理学工学等の分野の応用として計算を行う場合には普通は広義の意味で「数値解析」と称している。このWikipediaでも区別がなされていない。本来この頁のタイトルは「数値解析」ではなくて「数値計算」とする方が正しい。その場合の「数値計算」とは問題を解くための計算を数式を使って行うのではなくてもっぱら数値を使って行うのだという意味合いがある。)

数値解析は自然科学および工学のあらゆる分野に応用がある。計算言語学[1]社会統計学[2]のように、人文科学社会科学でも重要である。

現在知られている人類史における最初期の数学的記述の一つとして、バビロニア粘土板 YBC 7289 を挙げることができる。YBC 7289 は正方形対角線長さを近似したものと考えられ、結果として 2 {\displaystyle {\sqrt {2}}} の(六十進法による)近似値を含んでいる[3]

電子計算機(コンピュータ)の発明以前、数値計算には数表や補助的な計算機も用いられたものの、アルゴリズムの適用は人の手によるところが大きかった。コンピュータの発明により、汎用的なプログラミングが可能になり、また人の手より速くより多くの計算を実行できるようになった。種々のアルゴリズムのプログラムが実装され、またコンピュータ自身の特性に合わせてアルゴリズムが考案されるようになった[4]
概要

数値解析の目標は、難しい問題への近似解を与える技法の設計と解析である。この考え方を具体化するため、次のような問題と手法を挙げる。

気象予報には、高度な数値計算手法が不可欠である。

ロケットの軌道を計算するためには、常微分方程式の高精度な数値解が必要となる。

自動車会社は自動車事故での安全性を向上させるため、衝突のコンピュータシミュレーションを行っている。そのようなシミュレーションには、偏微分方程式の数値計算が不可欠である。

ヘッジファンドは様々な数値解析ツールを駆使し、他の市場参加者よりも正確に株やデリバティブの価値を計算しようとする。

航空会社は、チケット価格設定、航空機や乗務員のスケジュール設定、燃料補給のスケジュール設定などに洗練された最適化アルゴリズムを利用する。この分野はオペレーションズ・リサーチとも呼ばれる。

保険会社はアクチュアリー分析に数値解析プログラムを利用する。

歴史

数値的手段による解析のための計算は、コンピュータの発明以前から多くの国々で行われていた。線型補間は2000年以上前から行われている。ニュートン法ラグランジュ補間ガウスの消去法オイラー法などの名称からも分かるように、歴史上の偉大な数学者の多くが数値的手段による解析にも注力した[4]

計算を能率化しまた計算の誤りをなるべく減らすために、公式や数表を掲載した印刷物である数表が作られた。例えば関数値を小数点以下16桁まで与える数表を使って、必要に応じて補間を行うことで、関数の精度の良い近似値を得ることができた。この分野での典型的な業績の例として、アブラモビッツ(英語版)とステガン(英語版)の編集したNISTの書籍などが挙げられる(通称“Abramowitz and Stegun”。これは1000ページを超えるもので、典型的な公式、計算式、近似式や関数の数表やグラフなどを多数集めている。コンピュータが利用可能になった後には数表そのものは(関数値のルーチンを作る作業者が計算値の検証に使う場合を除いて)あまり役に立つ機会がなくなったが、公式、計算式、近似式が多く集められており、今日でも数値計算分野にとっては有用性がある)。

機械式計算機やリレー式のデジタル計算機も計算のツールとして開発された。そのような計算機が1940年代に電子式のコンピュータへと進化した。デジタル式のコンピュータは数値の計算以外にも使える機材であるが、例えばENIACの開発目標は、高速な数値計算を行うための機械の実現であった。その後はさらに複雑な計算がより高速に行えるようになっている。(計算機械にはデジタル式以外にもアナログ方式のものがある。例えば計算尺は一種のアナログ式の計算デバイスであるし、機械式や電気式、電子的のアナログ方式のコンピュータもデジタル方式のコンピュータが低価格となりごく当たり前になる以前には良く用いられていた。アナログ方式の弱点は、素子の物理的な特性から決まる誤差やノイズによりある程度以上の高精度な計算を行うことが困難であることや、動作を決めるためのプログラミングは機構や回路そのもので実現するので、ストアドプログラミング方式が実現容易なデジタル方式と違って変更が素早くできないので、用途が専用機械になりがちなことである。)
直接解法と反復解法

直接解法と反復解法

次の式を x について解くことを考える。3x3+4=28

直接解法3x3 + 4 = 28
4を引く3x3 = 24
3で割るx3 = 8
立方根を求めるx = 2

反復解法では、f(x) = 3x3 + 4 に二分法を適用する。初期値として a = 0 と b = 3 を使うと、f(a) = 4、f(b) = 85 である。

反復解法abmidf(mid)
031.514.125
1.532.2538.17...
1.52.251.87523.77...
1.8752.252.062530.32...

ここまでで、解は 1.875 と 2.0625 の間にあるとわかる。このアルゴリズムでは、誤差 0.2 未満でこの範囲にある任意の値を返す。
離散化と数値積分

2時間のレースで、自動車の速度を3回測定した結果が次表のようになっている。時間 0:20 1:00 1:40km/h 140 150 180

離散化とは、この場合、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 での評価は悪条件問題である。

良条件問題: 対照的に関数 f ( x ) = x {\displaystyle f(x)={\sqrt {x}}} は連続であるため、その評価は良条件である。

直接解法は、問題の解を有限回数の演算により計算する。もしも演算の精度が無限にできるならば得られる解は正確である。たとえば、線型方程式系を解くガウスの消去法QR分解線形計画問題シンプレックス法などがある。実際は有限精度の浮動小数点数を用いて計算を行うので,得られるものは解の近似値である。

これに対して反復解法は有限の演算回数で完了するとは限らない。ある初期予測値から開始して、計算を反復的に行うことで近似解を真の解に徐々に収束させていく。仮に計算を無限の精度で行ったとしても、収束する反復を有限回までで打ち切って得られる結果は、一般には正確な解にはならない。例として、ニュートン法二分法ヤコビ法などがある。一般に大規模な数値線形代数の問題では反復法による解法が要求される[5][6][7][8][9][10]

数値解析では、多くの計算法は直接解法ではなくて反復法である。GMRES法共役勾配法などのようないくつかの手法は,本来は有限回の繰り返しで真の解に到達できる直接解法であるが,それを反復法のように扱って計算を繰り返しの途中で打ち切ることで近似解を得るために使われるものがある。これらの手法を大規模問題に対してもしも直接法として適用すると必要な繰り返しの回数が極めて多くなるが、それを反復解法とみなして途中で計算の繰り返しを打ち切ることにより繰り返しの回数に応じた精度の近似解が得られるという性質がある。
離散化

さらに、連続問題を近似的に離散問題に置き換えて解くことが必要になる。この置き換え操作を「離散化(discretization)」という。たとえば、微分方程式を解く場合が挙げられる。数値的に微分方程式を解くためには、データの数が有限でなければ現実には扱うことができない。そこでたとえば微分方程式の定義領域が連続なものであっても、そのなかから有限個の点を適切に代表点として選び、元の微分方程式をそれらの点での値についてだけの関係に置き換えて扱う。
誤差の発生と伝播「誤差#計算誤差の種類」も参照

誤差の研究は、数値解析の重要な一分野である。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:97 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef