「数値解析」の版間の差分
m編集の要約なし |
m cewbot: ウィキ文法修正 69: ISBNの構文違反 |
||
319行目: | 319行目: | ||
* 森正武:「数値解析法」、朝倉書店(朝倉現代物理学講座 7)、ISBN 978-4254135671(1984年11月)。 |
* 森正武:「数値解析法」、朝倉書店(朝倉現代物理学講座 7)、ISBN 978-4254135671(1984年11月)。 |
||
* 戸川隼人:「詳解数値計算演習」、共立出版、ISBN 978-4320010352(1985年)。 |
* 戸川隼人:「詳解数値計算演習」、共立出版、ISBN 978-4320010352(1985年)。 |
||
* 村田健郎:「スーパーコンピュータ―科学技術計算への適用」、丸善、ISBN |
* 村田健郎:「スーパーコンピュータ―科学技術計算への適用」、丸善、ISBN 978-4621029848(1985年3月)。 |
||
* 三井斌友:「数値解析入門―常微分方程式を中心に」、朝倉書店 (数理科学ライブラリー 7) (1985年4月)。 |
* 三井斌友:「数値解析入門―常微分方程式を中心に」、朝倉書店 (数理科学ライブラリー 7) (1985年4月)。 |
||
* 伊理正夫、藤野和建:「数値計算の常識」、共立出版、ISBN 978-4320013438(1985年6月3日)。 |
* 伊理正夫、藤野和建:「数値計算の常識」、共立出版、ISBN 978-4320013438(1985年6月3日)。 |
||
336行目: | 336行目: | ||
* 森口繁一:「数値計算工学」、岩波書店、ISBN 978-4000055130(1989年4月26日)。 |
* 森口繁一:「数値計算工学」、岩波書店、ISBN 978-4000055130(1989年4月26日)。 |
||
* 山口昌哉, 野木達夫:「数値解析の基礎―偏微分方程式の初期値問題」、共立出版 (共立講座・現代の数学 28) 、ISBN 978-4320011458(1989年9月)。 |
* 山口昌哉, 野木達夫:「数値解析の基礎―偏微分方程式の初期値問題」、共立出版 (共立講座・現代の数学 28) 、ISBN 978-4320011458(1989年9月)。 |
||
* 名取亮:「数値解析とその応用」、コロナ社 (コンピュータ数学シリーズ)、 |
* 名取亮:「数値解析とその応用」、コロナ社 (コンピュータ数学シリーズ)、ISBN 978-4339025484(1990年8月)。 |
||
* 大野豊(監修)、磯田和男(監修):「新版 数値計算ハンドブック」、オーム社、ISBN 978-4274075841(1990年9月)。 |
* 大野豊(監修)、磯田和男(監修):「新版 数値計算ハンドブック」、オーム社、ISBN 978-4274075841(1990年9月)。 |
||
* 奈良久、阿部亨、早川美徳:「数値計算法」、朝倉書店、ISBN 978-4254227321(1991年3月1日)。 |
* 奈良久、阿部亨、早川美徳:「数値計算法」、朝倉書店、ISBN 978-4254227321(1991年3月1日)。 |
||
350行目: | 350行目: | ||
* 森正武、室田一雄、杉原正顕:「岩波講座 応用数学〈12〉:【方法1】数値計算の基礎/【方法2】線形計算」、岩波書店、ISBN 978-4000108027(1997年11月4日)。 |
* 森正武、室田一雄、杉原正顕:「岩波講座 応用数学〈12〉:【方法1】数値計算の基礎/【方法2】線形計算」、岩波書店、ISBN 978-4000108027(1997年11月4日)。 |
||
* 藤野清次:「数値計算の基礎―数値解法を中心に」、サイエンス社、ISBN 978-4781908618(1997年12月1日)。 |
* 藤野清次:「数値計算の基礎―数値解法を中心に」、サイエンス社、ISBN 978-4781908618(1997年12月1日)。 |
||
* 小国力:「Fortran 95, C & Javaによる新数値計算法 ― 数値計算とデータ分析」、サイエンス社 (Information & computing 94)、 ISBN |
* 小国力:「Fortran 95, C & Javaによる新数値計算法 ― 数値計算とデータ分析」、サイエンス社 (Information & computing 94)、 ISBN 978-4781908557(1997年12月1日)。 |
||
* 戸川隼人:「UNIXワークステーションによる科学技術計算ハンドブック―基礎篇C言語版」新装版、サイエンス社、ISBN 978-4781908687(1998年2月1日)。 |
* 戸川隼人:「UNIXワークステーションによる科学技術計算ハンドブック―基礎篇C言語版」新装版、サイエンス社、ISBN 978-4781908687(1998年2月1日)。 |
||
* 中尾充宏、山本野人:「精度保証付き数値計算―コンピュータによる無限への挑戦」、日本評論社、ISBN 978-4535782587(1998年5月)。 |
* 中尾充宏、山本野人:「精度保証付き数値計算―コンピュータによる無限への挑戦」、日本評論社、ISBN 978-4535782587(1998年5月)。 |
2017年8月29日 (火) 00:11時点における版
この記事に雑多な内容を羅列した節があります。 |
数値解析(すうちかいせき、Numerical Analysis)は、数学および物理学の一分野で、代数的な方法で解を得ることが不可能な解析学上の問題を(通常は有限精度の)数値を用いて近似的に解く手法に関する学問である。
史上最初の数学的記述の一つとして、バビロニアの粘土板 YBC 7289 を挙げることができる。これは六十進法で (単位矩形の対角線の長さ)を数値的に近似したものである[1]。三角形の辺の長さを計算できること(そして、平方根を計算できること)は、特に建築において重要である。例えば、縦横それぞれ2メートルの正方形の壁の対角線は メートルとなる[注釈 1]。
数値解析は、このような実用的計算の長い伝統に続くものである。バビロニアの の近似のように、現代の数値解析も厳密な解を求めようとするものではない。何故なら、厳密な解を有限時間で求めることは不可能だからである。その代わりに、数値解析の多くは、ある程度の誤差の範囲内の近似解を求めようとする。
数値解析は自然科学および工学のあらゆる分野に応用がある。計算言語学や社会統計学のように、人文科学や社会科学でも重要である。
コンピュータ以前は、数値的な手法は数表と、大きな計算になると機械式計算機による補助も近代には使われたものの、紙とペンによる膨大な途中経過をダブルチェックして行われる大変な作業であった。(個々の計算はそろばんにより行われるかもしれないが、そろばんで「膨大な途中経過」は扱えない。計算尺も用途によっては有用だが、有効数字が限られており、それでは間に合わない分野も多い)
コンピュータの発達以降は、従来から見るとその桁外れな計算力により応用分野が大きく広がったとともに、コンピュータ以前からのノウハウに加え、コンピュータによる計算の特性を正しく理解して使うことも重要になった。
常微分方程式は天体(惑星、恒星、小宇宙)の軌道の計算に登場する。資産管理には最適化が利用されている。数値線型代数はデータ解析に不可欠である。確率微分方程式とマルコフ連鎖は、医学や生物学における生体細胞のシミュレーションの基本である。
以下の記述では「精度」と「正確度」という用語があまり正しく使われていないかもしれない。まず正確度と精度の記事を確認すること。
概要
数値解析の目標は、難しい問題への近似解を与える技法の設計と解析である。この考え方を具体化するため、次のような問題と手法を挙げる。
- 気象予報には、高度な数値計算手法が不可欠である。
- ロケットの軌道を計算するためには、常微分方程式の高精度な数値解が必要となる。
- 自動車会社は自動車事故での安全性を向上させるため、衝突のコンピュータシミュレーションを行っている。そのようなシミュレーションには、偏微分方程式の数値計算が不可欠である。
- ヘッジファンドは様々な数値解析ツールを駆使し、他の市場参加者よりも正確に株やデリバティブの価値を計算しようとする。
- 航空会社は、チケット価格設定、航空機や乗務員のスケジュール設定、燃料補給のスケジュール設定などに洗練された最適化アルゴリズムを利用する。この分野はオペレーションズ・リサーチとも呼ばれる。
- 保険会社はアクチュアリー分析に数値解析プログラムを利用する。
歴史
数値的手段による解析のための計算は、コンピュータの発明以前から多くの国々で行われていた。線型補間は2000年以上前から行われている。ニュートン法、ラグランジュ補間、ガウスの消去法、オイラー法などの名称からも分かるように、歴史上の偉大な数学者の多くが数値的手段による解析にも注力した。
計算を能率化しまた計算の誤りをなるべく減らすために、公式や数表を掲載した印刷物である数表が作られた。例えば関数値を小数点以下16桁まで与える数表を使って、必要に応じて補間を行うことで、関数の精度の良い近似値を得ることができた。この分野での典型的な業績の例として、アブラモビッツとステガンの編集したNISTの書籍などが挙げられる(通称“Abramowitz and Stegun”。これは1000ページを超えるもので、典型的な公式,計算式、近似式や関数の数表やグラフなどを多数集めている。コンピュータが利用可能になった後には数表そのものは(関数値のルーチンを作る作業者が計算値の検証に使う場合を除いて)あまり役に立つ機会がなくなったが、公式,計算式、近似式が多く集められており,今日でも数値計算分野にとっては有用性がある)。
機械式計算機やリレー式のデジタル計算機も計算のツールとして開発された。そのような計算機が1940年代に電子式のコンピュータへと進化した。デジタル式のコンピュータは数値の計算以外にも使える機材であるが、たとえばENIACの開発目標は、高速な数値計算を行うための機械の実現であった。その後はさらに複雑な計算がより高速に行えるようになっている。(計算機械にはデジタル式以外にもアナログ方式のものがある.例えば計算尺は一種のアナログ式の計算デバイスであるし,機械式や電気式、電子的のアナログ方式のコンピュータもデジタル方式のコンピュータが低価格となりごく当たり前になる以前には良く用いられていた.アナログ方式の弱点は,素子の物理的な特性から決まる誤差やノイズによりある程度以上の高精度な計算を行うことが困難であることや,動作を決めるためのプログラミングは機構や回路そのもので実現するので,ストアドプログラミング方式が実現容易なデジタル方式と違って変更が素早くできないので,用途が専用機械になりがちなことである.)
直接解法と反復解法
直接解法と反復解法 次の式を x について解くことを考える。
反復解法では、f(x) = 3x3 + 4 に二分法を適用する。初期値として a = 0 と b = 3 を使うと、f(a) = 4、f(b) = 85 である。
ここまでで、解は 1.875 と 2.0625 の間にあるとわかる。このアルゴリズムでは、誤差 0.2 未満でこの範囲にある任意の値を返す。 離散化と数値積分2時間のレースで、自動車の速度を3回測定した結果が次表のようになっている。 時間 0:20 1:00 1:40 km/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 での評価は悪条件問題である。 良条件問題: 対照的に関数 は連続であるため、その評価は良条件である。 |
直接解法は、問題の解を有限個のステップで計算する。その解は、演算精度が無限ならば正確である。例えば、線型方程式系を解くガウスの消去法やQR分解、線形計画問題のシンプレックス法などがある。実際には有限な浮動小数点数が使われるため、得られる解は近似値となる。
これに対して反復解法は一定のステップ数で完了するとは限らない。ある初期予測値から開始して、反復的に計算を行って徐々に解に収束させていく。一般にこの場合、たとえ無限の精度で計算したとしても、有限回の反復では正確な解にたどり着くことはない。例として、ニュートン法、二分法、ヤコビ法などがある。数値線型代数の大規模な問題には、反復解法が一般に必要とされる。
数値解析では、反復解法が直接解法よりも一般的である。いくつかの手法は基本的には直接解法だが、GMRES法 や共役勾配法などのように、反復解法として使うことも多い。これらの技法では厳密解を得るために必要なステップ数が大きくなるため、反復解法として近似解を利用する。
離散化
さらに、連続問題を近似的に離散問題に変換して解くことも必要となる。この変換過程を「離散化(discretization)」という。例えば、微分方程式を解く場合が挙げられる。微分方程式を数値的に解くには、有限長のデータでなければならず、定義域が連続であっても、有限個の点を選んで値を計算する。
誤差の発生と伝播
誤差の研究は、数値解析の重要な一分野である。解に誤差が入り込む原因はいくつかある。
丸め誤差
全てのデジタルコンピュータのモデルである有限状態機械では、数値を有限の桁数で表現するためあらゆる実数を正確に表現するのは不可能であり、端数処理にともなう誤差が発生する。この誤差を丸め誤差という。この誤差は計算を倍精度で行うなど、コンピュータの計算精度を上げることによって減らすことができる。
打ち切り誤差
打ち切り誤差は、反復解法で本来は無限に繰り返す反復を中途で打ち切ったために発生する近似解と厳密解の差である。例えば右の欄にある を解く問題で、10回程度の反復では、解は約 1.99 となる。このとき打ち切り誤差は 0.01 である。一般に反復回数をより多くとればこの誤差は減少する。
離散化誤差
多くの問題では基礎方程式は微分方程式である。連続量で表される微分方程式に離散化近似を行うと、元の式と異なる差分方程式が得られる。差分方程式はテイラー展開の高次微小量を無視して得られるため、その解も元の微分方程式の解と正確には一致しない。このように離散化によって発生する誤差を離散化誤差という。この誤差を減らすには、より高次の離散化方法をとる、計算点の個数をできるだけ多くするなどの方法がある。
モデリング誤差
上述までの誤差は、与えられたモデルを「正しく」解いているか、という観点からの誤差であるが、その対立概念として、元の基礎方程式に関して、「正しい」式を解いているか、という問題がある。たとえば非線形現象を線形近似することなどがこれに相当する。これは数値解析というより、元の問題が属する科学分野の問題ではあるが、基礎方程式が誤っている(実現象のモデルとして不適切である)場合には上述の誤差を減らしても解が実現象を正しく表すとは限らないため、解の誤差評価をする際には必ず検討しなければならないことである。この検証過程では定式化や仮説における誤り、モデルの適用限界などに対する考察が必要になる[2]。
数値的安定性と良条件性
誤差が発生すると、計算を通じてそれが伝播していく。実際、電卓やコンピュータでの(浮動小数点数の)加算は正確ではなく、反復計算をすると計算はさらに不正確になっていく。このような誤差の研究から数値的安定性の概念が生まれた。あるアルゴリズムが数値的に安定であるとは、誤差が発生・伝播したときに計算が進むにつれてその誤差があまり大きくならないことを意味する。これは問題が良条件の場合のみ可能である。良条件とは、データが少しだけ変化したとき、解も少しだけ変化するような性質を持つことを意味する。逆に問題が悪条件であれば、データに含まれる誤差は大きく成長する。
しかし、良条件の問題を解くアルゴリズムは必ずしも数値的に安定とは言えない。数値解析の技術は、良条件の問題を解く安定なアルゴリズムを見つけるためにある。例えば、2の平方根(約 1.41421)の計算は良条件問題である[要出典]。この問題を解く多くのアルゴリズムは、初期近似値 x1 から開始して になるべく近い値を求めようとする。つまり、x1=1.4 として、よりよい近似値を x2、x3、…と計算していく。有名なアルゴリズムとしてバビロニアの平方根があり、この場合の式は xk+1 = xk/2 + 1/xk である。別の方法として、 たとえば、xk + 1 = (xk 2−2)2 + xk という式を使うとする(仮に Method X とよんでおく)[注釈 2]。この2つのアルゴリズムについて、x1 = 1.4 と x1 = 1.42 の場合の反復結果の一部を以下に示す。
バビロニア | バビロニア | Method X | Method X |
---|---|---|---|
x1 = 1.4 | x1 = 1.42 | x1 = 1.4 | x1 = 1.42 |
x2 = 1.4142857... | x2 = 1.41422535... | x2 = 1.4016 | x2 = 1.42026896 |
x3 = 1.414213564... | x3 = 1.41421356242... | x3 = 1.4028614... | x3 = 1.42056... |
... | ... | ||
x1000000 = 1.41421... | x28 = 7280.2284... |
見ての通り、バビロニアの平方根は初期値がどうであっても素早く収束するが、Method X は初期値が1.4の時は収束が遅く、1.42を初期値にすると発散する。したがって、バビロニアの平方根は数値的に安定だが、Method X は数値的に不安定である。
研究分野
数値解析は、解こうとしている問題によっていくつかの分野に分かれる。
関数の値の計算
補間: 気温の観測値が1:00には20℃、3:00には14℃だったとする。このデータを線型補間すると、2:00の気温は17℃、1:30の気温は18.5℃となる。 補外: ある国の国内総生産が毎年平均5%伸びていて、昨年の値が1000億ドルだったとする。ここで補外すると、今年は1050億ドルとなる。 回帰: 線型回帰では、n 個の点が与えられたとき、それら n 個の点のなるべく近くを通る直線を求める。 最適化: レモネード売りがレモネードを売っている。1杯1ドルでは、1日に197杯売れる。1杯あたり1セント値段を上げると、1日に売れるレモネードは1杯減る。1杯を1.485ドルにすると売り上げが最大となるが、1セント未満を使った値段は付けられないので、1.49ドルにすると一日の最大売り上げ 220.52 ドルが得られる。 微分方程式: ある部屋で一方からもう一方へ空気が流れるように100個の扇風機を配置し、羽根をそこに落としてみる。何が起きるだろうか? 羽根は空気の流れに従って漂うが、非常に複雑な動きになるかもしれない。その近似としては、羽根が漂っている付近の空気の速度を1秒おきに測定し、シミュレートされた羽根が1秒間は測定された方向にその速度で進むと仮定する。このような手法をオイラー法と呼び、常微分方程式を解くのに使われる。 |
最も単純な問題は、関数のある点での値を求めることである。単純に数式に値を代入する直接的な手法は、効率的でないこともある。多項式の場合、ホーナー法を使うことで乗算と加算の回数を減らすことができる。一般に、浮動小数点演算を使うことで生じる丸め誤差を予測して制御することが重要となる。
補間、補外、回帰
補間が役立つのは、ある未知の関数のいくつかの点の値があるとき、それら以外の中間点でのその関数の値を求める場合である。単純な手法としては線型補間があり、既知の点の間で関数が線型に変化するとみなすものである。これを一般化した多項式補間はもっと正確となることが多いが、ルンゲ現象に悩まされることもある。その他の補間手法としてはスプラインやウェーブレットといった局所化関数を使うものがある。
補外は補間とよく似ているが、未知の関数の値が判っている点の外側の点について値を求めることをいう。
回帰も類似した手法だが、既存のデータが不正確であることを考慮する。いくつかの点とその値があり、それらデータが誤差を含みつつ何らかの関数に従っているとして、その未知の関数を決定する。このための手法として、最小二乗法がよく知られている。
方程式、方程式系の解
基本的な問題のひとつとして、与えられた方程式の解を計算する問題がある。その方程式が線型か否かによって手法が分類される。例えば、 は線型だが、 は線型ではない。
線型方程式系を解く手法については研究が進んでいる。標準的な直接解法としては何らかの行列分解を使うものがあり、ガウスの消去法、LU分解、対称行列やエルミート行列に関するコレスキー分解、非正方行列に関するQR分解がある。反復解法としては、ヤコビ法、ガウス=ザイデル法、SOR法、共役勾配法があり、大規模な方程式系でよく使われる。
非線型方程式には求根アルゴリズムが用いられる(根とは、関数がゼロとなる変数の値を意味する)。関数が可微分で導関数が分かっている場合には、ニュートン法が利用されることが多い。他にも線型化などの手法がある。
固有値と特異値
固有値分解や特異値分解も重要な問題である。例えば、Spectral Image Compression[3] は特異値分解に基づいたアルゴリズムである。これに対応した統計学上のツールを主成分分析という。例えば、World Wide Web上での話題トップ100を自動的に抽出し、各Webページをどの話題に属するか分類するといった作業で使われる。
最適化問題
最適化問題は、与えられた関数が最大(または最小)になる点を問う問題である。多くの場合、解は何らかの制約条件を満たさなければならない。
最適化問題はさらに、関数や制約の形式によっていくつかに分類される。例えば、線形計画問題は関数と制約が共に線型である場合を扱う。線形計画問題の主な解法として、シンプレックス法などを挙げることができる。
ラグランジュの未定乗数法は、制約条件のある最適化問題を制約のない問題に変換するために用いられる。
積分
数値積分(数値的求積法)は、定積分の値を求めるものである。一般的手法としては、ニュートン・コーツの公式を使った手法(中点法やシンプソンの公式)やガウスの求積法などがある。これらは分割統治戦略に基づくもので、大きな集合についての積分を小さな集合の積分に分割して値を求める。高次元になるとこれらの手法は計算の手間が膨大となるため、モンテカルロ法などの手法が使われる。
微分方程式
数値解析では、微分方程式(常微分方程式や偏微分方程式)を(近似的に)解く問題も扱う。
偏微分方程式を解くには、まず方程式を離散化し、有限次元の部分空間で計算を行う。そのような手法として、有限要素法、差分法、特に工学分野で使われる有限体積法などを挙げることができる。これらの手法は関数解析学の定理などに基づいている。これによって、問題を代数方程式の求根に還元することができる。
主な手法
- 代数系
- 位相空間 - 関数、漸近展開、テイラー展開、線型近似、最良近似、チェビシェフ近似、直交多項式近似、有理関数近似、補間、多項式補間、線形補間、ニュートン補間、ガウス補間、ラグランジュ補間、逆補間、エルミート補間、最小二乗法、スプライン補間、曲線あてはめ、要素内補間、有理関数補間、多次元補間、補外、エイトケン補外、リチャードソン補外、ステファンセン加速法、シャンクス変換
- 微分法 - 勾配、差分、高速微分法、自動微分
- 積分法 - 測度、台形公式、シンプソンの公式、ニュートン・コーツの公式、ガウス求積法、ロンバーグ積分法(リチャードソン補外)、変数変換に基づく公式(IMT公式、二重指数型関数変換公式等)、振動積分、オイラーの和公式、グレゴリ積分公式、特異性の分離、除去、低減、複素積分路の選択、変更、適応型積分法(自動積分)、乱択アルゴリズム、乱数列、擬似乱数、線形合同法、M系列、メルセンヌ・ツイスタ、モンテカルロ法、メトロポリス法
- 代数方程式
- ベクトル空間 - 線型変換、等長変換、直交化、グラム・シュミットの正規直交化法、修正グラム・シュミット法、ギブンス回転、ハウスホルダー変換、QR分解
- 求根アルゴリズム - スツルムの定理、ホーナー法、減次、二分法、割線法、ニュートン法、逆補間法、ブロイデン法、ベアストウ・ヒッチコック法、商差法、レーマー法、スミスの定理、複素平面内の二分法(四分法)、平野法、デュラン・カーナー法、コンパニオン行列法
- 連立一次方程式 - ガウス消去法、LU分解、コレスキー分解、修正コレスキー分解、ブロックLU分解、帯LU分解、スカイライン法、ADI法、スパースLU分解、ヤコビ法、ガウス・ザイデル法、SOR法、共役勾配法、GMRES法、クリロフ部分空間法、条件数、前処理行列、チェビシェフ反復法
- 固有値問題 - 対角化、ヤコビ法、三重対角化、ヘッセンベルグ化、QR法、フランシスの複素ヘッセンベルグQR法、実ヘッセンベルグ二重QR法、DQ-DS法、冪乗法、逆反復法、部分空間法、同時逆反復法、ランチョス法、アーノルド法、クリロフ部分空間法、フィルタ対角化法、ホモトピ-法、特異値分解、擬似逆行列、分割統治法
- 関数方程式
- 関数空間 - 線型作用素、等長作用素、フーリエ変換、高速フーリエ変換、ラプラス変換、ウェーブレット変換
- 差分法 - オイラー法、ミルン法、ルンゲ・クッタ法、シンプレクティック法、シンメトリック法、繰返し法(松野法、変形松野法、リープフロッグ・台形法、リープフロッグ・後方差分法)、グラッグ法(リチャードソン補外)、予測子修正子法、ピカールの逐次近似法、射撃法、高階(2,3階)方程式専用の公式、刻み幅の制御、適応型積分法、マルチグリッド法、領域分割法、CFL条件
- 変分法 - 重み付き残差法、ガラーキン法、レイリー・リッツ法、有限要素法、有限体積法、境界要素法、代用電荷法、等角写像法、グリーン関数法、スペクトル法、モンテカルロ法、セル法、全保存型数値積分法、p版有限要素法、メッシュフリー法、メッシュ生成、マルチグリッド法、領域分割法、最適化問題、線形計画問題、双対問題、線形計画法、シンプレックス法、楕円体法、内点法、非線形計画法、ラグランジュの未定乗数法、最急降下法、直線探索法、共役勾配法、メタヒューリスティクス、局所探索法、焼きなまし法(メトロポリス法)、遺伝的アルゴリズム、分割統治法
- 統計学 - 統計量、確率分布、多変量解析
- 数値的安定性 - 任意精度演算、近似アルゴリズム、精度保証付き数値計算、区間演算
ソフトウェア
20世紀後半以降、多くのアルゴリズムはコンピュータ上で実装され、実行されてきた。Netlib には数値解析用の各種ルーチンのソースコードがあり、その多くはFORTRANとC言語で書かれている。各種の数値解析アルゴリズムを実装した商用ライブラリ製品としては IMSL や NAG などがある。フリーな(ソースコードが公開され,利用や改変の自由度が高い)ものの例としては GNU Scientific Library を挙げることができる。
MATLABは行列計算を中心とする数値計算用の商用プログラミング言語として有名だが、他にも商用ではSAS、SPSS、 S-PLUS 、 IDL などがある。
フリーソフトとして、「MATLAB」と互換性の高い Scilab・GNU Octave・FreeMat、「S言語」や「S-PLUS」の言語仕様に準じるR言語、SPSS の代替を目指す PSPP や gretl、そのほかIT++(C++ライブラリ)、Pythonの派生品 (SciPy、NumPy) など、様々な数値解析ソフトウェアが使われている。
性能も様々で、ベクトルや行列の演算は一般に高速だが、スカラーのループは10倍以上の差があるものもある。[4]
Mathematica や Maple のような数式処理システムの多くは数値計算に使うこともできる。Sage は数値計算と数式処理計算の両方を備えた統合システムである。また、簡単な問題ならば表計算ソフトでも取り扱えることがある。
関連項目
- 数 - コンピュータの数値表現、位取り記数法、指数表記、固定小数点数、浮動小数点数、任意精度演算、算術演算、端数処理、近似値、誤差、正確度と精度
- アルゴリズム
- 計算科学
- シミュレーション
- 数値解析ソフトウェア
- 和算
- ドゥッチ数列
注釈
出典
- ^ Photograph, illustration, and description of the root(2) tablet from the Yale Babylonian Collection
- ^ 峯村吉泰『JAVAによる流体・熱流動の数値シミュレーション』森北出版、2001年、4頁。ISBN 4-627-91751-1。
- ^ The Singular Value Decomposition and Its Applications in Image Compression
- ^ Speed comparison of various number crunching packages
参考文献
関連文献
この節に雑多な内容が羅列されています。 |
狭義では数値解析と数値計算は異なるが、両者を区別をしないことにする。
洋書
なるべく発行年代順に並べる。
- Gilat, Amos (2004年). MATLAB: An Introduction with Applications (2nd edition ed.). John Wiley & Sons. ISBN 0-471-69420-7
- Hildebrand, F. B. (1974年). Introduction to Numerical Analysis (2nd edition ed.). McGraw-Hill. ISBN 0-070-28761-9
- Gene H. Golub and Charles F. Van Loan: "Matrix Computations", 3rd Edition, The Johns Hopkins University Press, ISBN 0-8018-5413-X(hard cover), ISBN 0-8018-5414-8(pbk), (1996).
- Leader, Jeffery J. (2004年). Numerical Analysis and Scientific Computation. Addison Wesley. ISBN 0-201-73499-0
- Trefethen, Lloyd N. (2006). "Numerical analysis", 20 pages. To appear in: Timothy Gowers and June Barrow-Green (editors), Princeton Companion of Mathematics, Princeton University Press.
和書
なるべく発行年代順に並べる。(発行の日付は奥付のものとは異なることがある)。
- 一松信:「数値計算」、至文堂 (近代数学新書)(1963年)。
- 一松信:「近似式」、竹内書店 (現代応用数学双書) (1963年)。
- 宇野利雄:「計算機のための数値計算」、朝倉書店 (1963年11月)。
- 一松信:「電子計算機と二進法」、日本評論社 (電子計算機シリーズ)(1965年)。
- 山内二郎 (編)、森口繁一 (編)、一松信 (編):「電子計算機のための数値計算法 I」、培風館 (1965年)。
- 山内二郎 (編)、森口繁一 (編)、一松信 (編):「電子計算機のための数値計算法 II」、培風館(1967年)。
- 赤坂隆:「数値計算」、コロナ社(応用数学講座7)、ISBN 9784339060065(1967年11月)。
- 雨宮綾夫(編),田口武夫(編):「数値解析とFORTRAN」、丸善、(1969年)。
- 雨宮綾夫(編)、田口武夫(編):「数値解析とFORTRAN」、丸善 (1969年10月)。
- J. ウォルシュ(編)、高須達監(訳):「数値解析概論」、日本評論社(1970年)。
- 磯田和男、大野豊:「Fortranによる数値計算ハンドブック」、オーム社(1971年)。
- 一松信:「数値解析」、税務経理協会 (情報科学講座) (1971年)。
- 戸川隼人:「マトリクスの数値計算」、オーム社、ISBN 978-4274070082(1971年1月)。
- 山内二郎 (編)、森口 繁一 (編)、一松 信 (編):「電子計算機のための数値計算法 III」、培風館(1972年)。
- J.R. ウェストレイク、戸川 隼人 (訳) :「コンピュータのための線形計算ハンドブック」、培風館 (1972年) 。
- 戸川隼人:「微分方程式の数値計算―有限要素法と差分法」、オーム社、ISBN 978-4274070099 (1973年)。
- 一松 信:「 電子計算機と数値計算」、朝倉書店(初等数学シリーズ7)(1973年)。
- P. ヘンリッチ、一松信 (訳)、平本巌 (訳)、本田勝 (訳) :「数値解析の基礎」、培風館 (1973年)。
- 森正武: 「数値解析」、共立出版 (共立数学講座12)、 (1973年)。
- J.H. ウィルキンソン、一松信 (訳)、四条忠雄 (訳): 「基本的演算における丸め誤差解析」、培風館 (1974)。
- 一松信:「初等関数の数値計算」、教育出版 (シリーズ新しい応用の数学 8)、ISBN 978-4316375915(1974年1月)。
- 戸川隼人:「計算機のための誤差解析の基礎」サイエンス社(Information&Computing 37)、ISBN 978-4781905501(1974年10月1日)。
- F.・ジョン、藤田宏(訳)、名取亮(訳):「数値解析講義」、産業図書 (数理解析とその周辺11)、(1975年)。
- 森正武:「数値解析と複素関数論」、筑摩書房 (数理科学シリーズ7)(1975年)。
- T.R. マッカーラ、三浦功(訳)、田尾陽一(訳):「計算機のための数値計算法概論」、サイエンス社、ISBN 978-4781902524(1975年3月1日)。
- 牧之内三郎、鳥居達生:「数値解析」、オーム社、ISBN 978-4274020117(1975年10月)。
- ディビッド・モースント、C・S・デュリス、村上温夫(訳):「初等数値解析」、共立出版(共立全書 548)、ISBN 978-4320005488(1975年11月1日)。
- 一松信 (編)、戸川隼人 (編) :「数値計算における誤差」、共立出版、ISBN 978-4320012134(1975年12月10日)。
- 戸川隼人:「数値計算」、サイエンス社 (サイエンスライブラリ コンピュータテキスト5)(1976年)。
- 戸川隼人:「数値解析とシミュレーション」、共立出版 (共立全書 211)、ISBN 978-4320002111(1976年9月20日)。
- 山本哲朗:「数値解析入門」、サイエンス社 (サイエンスライブラリ―現代数学への入門14)、(1976年10月)。
- 藪下信:「初等数値解析」、森北出版 (1977年6月)。
- E.W. Chenny. 一松信 (訳)、新島耕一 (訳):「近似理論入門」、共立出版(1977年12月)。
- ロジェ・テマム, 藤田 宏 (訳), 米口 肇 (訳): 「数値解析特論―偏微分方程式の近似解法」、産業図書 (数理解析とその周辺〈21〉)、(1977年12月)。
- 森口繁一:「計算数学夜話―数値で学ぶ高等数学」、日本評論社、ISBN 978-4535781177(1978年1月)。
- 角谷保、片桐重延:「コンピュータのための数値解析」、東京電機大学出版局 (数学とコンピュータシリーズ7)、(1978年9月)。
- 戸川隼人:「数値計算入門」第2版、オーム社 (コンピュータ実務技法講座)、ISBN 978-4274070785(1979年6月)。
- C.ドボアー、S.D. コンテ、吉沢 正 (訳):「電子計算機による数値解析と算法入門」、ブレイン図書出版 (理工学海外名著シリーズ39)、(1980年3月)。
- 永坂秀子:「計算機と数値解析」 朝倉書店(理工学基礎講座)、ISBN 978-4254135060 (1980年3月)。
- 戸川隼人:「数値計算法」、コロナ社 (電子通信学会大学シリーズ A- 4)、ISBN 978-4339000047(1981年1月)。
- 伊理正夫:「数値計算 ― 方程式の解法」、朝倉書店 (理工系基礎の数学12)、ISBN 978-4254113624 (1981年12月)。
- 森正武、名取亮、鳥居達生:「数値計算」、岩波書店(岩波講座 情報科学18)(1982年1月8日)。
- B. Carnahan、藤田宏(訳):「計算機による数値計算法」、日本コンピュータ協会 (1982年2月)。
- 松山実:「基礎数値解析」、昭晃堂、ISBN 978-4785630355(1982年6月)。
- 一松信:「数値解析」、朝倉書店(新数学講座13)、ISBN 978-4254114430(1982年10月)。
- 渡部力:「数値解析とFORTRAN」第3版、丸善 (1983年7月)。
- 森正武:「数値解析法」、朝倉書店(朝倉現代物理学講座 7)、ISBN 978-4254135671(1984年11月)。
- 戸川隼人:「詳解数値計算演習」、共立出版、ISBN 978-4320010352(1985年)。
- 村田健郎:「スーパーコンピュータ―科学技術計算への適用」、丸善、ISBN 978-4621029848(1985年3月)。
- 三井斌友:「数値解析入門―常微分方程式を中心に」、朝倉書店 (数理科学ライブラリー 7) (1985年4月)。
- 伊理正夫、藤野和建:「数値計算の常識」、共立出版、ISBN 978-4320013438(1985年6月3日)。
- 森口繁一、伊理 正夫:「算法通論」第2版、東京大学出版会、ISBN 978-4130620857(1985年10月)。
- A. ラルストン、P. ラビノヴィッツ、戸田英雄(訳),小野令美(訳):「電子計算機のための数値解析の理論と応用(上)」、ブレイン図書出版(発売:丸善)、ISBN 978-4892410451(1986年3月)。
- A. ラルストン、P. ラビノヴィッツ、戸田英雄(訳),小野令美(訳):「電子計算機のための数値解析の理論と応用(下)」、ブレイン図書出版(発売:丸善)、ISBN 978-4892410468(1986年3月)。
- 村田 健郎:「線形代数と線形計算法序説」、サイエンス社 (Information & computing 6)、 ISBN 978-4781904276(1986年4月1日)。
- 篠原能材:「数値解析の基礎」第4版、日新出版(理工学基礎シリーズ)、ISBN 978-4817300973 (1987年4月)。
- 森正武:「FORTRAN77数値計算プログラミング」増補版、岩波書店 (1987年9月)。
- 竹本宜弘, 荒実:「Cによる数値計算」、朝倉書店(1987年10月)。
- 森口繁一:「数値計算術」、共立出版 (計算機科学・ソフトウェア技術講座)、ISBN 978-4320023819(1987年12月)。
- 村田健郎、三好俊郎、小国力、小柳義夫:「工学における数値シミュレーション―スーパーコンピュータの応用」、丸善、ISBN 978-4621032343(1988年2月)。
- ピアソン、荒実(訳)、竹本宜弘(訳):「FORTRANによる数値計算」、朝倉書店(1988年10月)。
- 戸川隼人:「数値計算法演習」、コロナ社 (電子情報通信学会大学シリーズ演習)、ISBN 978-4339002522(1988年12月1日)。
- 川上一郎:「数値計算」、岩波書店 (理工系の数学入門コース 8)、ISBN 978-4000077781(1989年4月6日)。
- 森口繁一:「数値計算工学」、岩波書店、ISBN 978-4000055130(1989年4月26日)。
- 山口昌哉, 野木達夫:「数値解析の基礎―偏微分方程式の初期値問題」、共立出版 (共立講座・現代の数学 28) 、ISBN 978-4320011458(1989年9月)。
- 名取亮:「数値解析とその応用」、コロナ社 (コンピュータ数学シリーズ)、ISBN 978-4339025484(1990年8月)。
- 大野豊(監修)、磯田和男(監修):「新版 数値計算ハンドブック」、オーム社、ISBN 978-4274075841(1990年9月)。
- 奈良久、阿部亨、早川美徳:「数値計算法」、朝倉書店、ISBN 978-4254227321(1991年3月1日)。
- 村田健郎、J.J.ドンガラ、小国力、三好俊郎、長谷川秀彦:「行列計算ソフトウェア―WS、スーパーコン、並列計算機」、丸善、ISBN 978-4621036549(1991年12月)。
- 戸川隼人:「数値計算」、岩波書店、ISBN 978-4000078573(1991年12月9日)。
- 森口繁一(編)、伊理正夫(編)、武市正人(編):「Cによる算法通論」、東京大学出版会、ISBN 978-4130621328(1992年2月)。
- William H. Press、William T. Vetterling、Saul A. Teukolsky、Brian P. Flannery:「NUMERICAL RECIPES in C [日本語版]」、技術評論社、ISBN 978-4874085608(1993年6月1日)。
- 高橋亮一:「応用数値解析」、朝倉書店、ISBN 978-4-254-12090-5(1993年8月25日)。
- 池辺八洲彦、稲垣敏之:「数値解析入門」、昭晃堂 、ISBN 978-4785601317(1994年3月10日)。
- 村田健郎、名取亮、唐木幸比古:「大型数値シミュレーション」、岩波書店、ISBN 978-4000051262(1994年4月)。
- 戸川隼人:「計算機のための数値計算」、サイエンス社 (サイエンスライブラリコンピュータテキスト 5)、ISBN 978-4781902913(1995年5月1日)。
- 高橋大輔:「数値計算」、岩波書店 (理工系の基礎数学 8)、ISBN 978-4000079785(1996年2月16日)。
- 森正武、室田一雄、杉原正顕:「岩波講座 応用数学〈12〉:【方法1】数値計算の基礎/【方法2】線形計算」、岩波書店、ISBN 978-4000108027(1997年11月4日)。
- 藤野清次:「数値計算の基礎―数値解法を中心に」、サイエンス社、ISBN 978-4781908618(1997年12月1日)。
- 小国力:「Fortran 95, C & Javaによる新数値計算法 ― 数値計算とデータ分析」、サイエンス社 (Information & computing 94)、 ISBN 978-4781908557(1997年12月1日)。
- 戸川隼人:「UNIXワークステーションによる科学技術計算ハンドブック―基礎篇C言語版」新装版、サイエンス社、ISBN 978-4781908687(1998年2月1日)。
- 中尾充宏、山本野人:「精度保証付き数値計算―コンピュータによる無限への挑戦」、日本評論社、ISBN 978-4535782587(1998年5月)。
- 名取 亮 (編):「数値計算法」、オーム社、ISBN 978-4274131530(1998年9月)。
- G.J.Borse、臼田 昭司(訳):「MATLAB数値解析」、オーム社、ISBN 978-4274023804(1998年12月)。
- 大石進一:「精度保証付き数値計算」、コロナ社、ISBN 978-4339026054(1999年12月)。
- 福井義成、野寺隆志, 久保田光一, 戸川隼人:「新 数値計算」、共立出版 (インターネット時代の数学シリーズ 2)、ISBN 978-4320016415(1999年12月1日)。
- 有本卓:「数値解析 1」、コロナ社(大学講義シリーズ)、ISBN 978-4339001242(2000年1月)。
- 加川幸雄、霜山竜一:「入門数値解析」、朝倉書店 (入門電気・電子工学シリーズ)、ISBN 978-4254228205(2000年4月)。
- 佐藤次男、中村理一郎:「よくわかる数値計算―アルゴリズムと誤差解析の実際」、日刊工業新聞社、ISBN 978-4526048364(2001年11月)。
- 森正武:「数値解析」第2版、共立出版(共立数学講座) 、ISBN 978-4320017016(2002年2月1日)。
- 洲之内治男、石渡恵美子:「数値計算」新訂版、サイエンス社、 新訂版、ISBN 978-4781910017(2002年5月1日)。
- 宮下精二:「数値計算」、朝倉書店、ISBN 978-4254115772(2002年7月)。
- 山本哲朗:「数値解析入門【増訂版】」、サイエンス社、ISBN 978-4781910383(2003年6月1日)。
- 杉原正顕、室田一雄:「数値計算の数理」、岩波書店(2003年5月23日)。
- E.クライツィグ、田村義保 (訳):「数値解析 (技術者のための高等数学)」第8版、培風館、ISBN 978-4563011192 (2003年12月1日)。
- 二宮市三、長谷川武光、秦野泰世、桜井鉄也、杉浦洋、吉田年雄:「数値計算のつぼ」、共立出版、ISBN 978-4320120884(2004年1月1日)。
- 吉田年雄:「数値解析の基礎・基本」、牧野書店 (理工系数学の基礎・基本)、ISBN 978-4434067532(2005年10月)。
- 二宮市三 (編) :「数値計算のわざ」、共立出版、ISBN 978-4320018037(2006年2月)。
- 田中敏幸:「数値計算法基礎」、コロナ社、ISBN 978-4339060782(2006年3月1日)。
- 河村哲也:「数値計算入門」、サイエンス社(Computer Science Library)、ISBN 978-4781911267(2006年4月1日)。
- 大石進一:「MATLABによる数値計算」、培風館、ISBN 978-4563014957(2001年7月)。
- 高倉葉子:「数値計算の基礎―解法と誤差」、コロナ社、ISBN 978-4339060928(2007年4月1日)。
- 長谷川 武光、細田 陽介、吉田 俊之:「工学のための数値計算」、数理工学社、ISBN 978-4901683586(2008年8月1日)。
- 小澤一文:「Cで学ぶ数値計算アルゴリズム」、共立出版、ISBN 978-4320122215(2008年11月20日)。
- 安田仁彦:「数値解析基礎」、コロナ社、ISBN 978-4339060973(2008年12月)。
- 服部裕司:「C & Fortran による数値計算プログラミング入門」改訂版、共立出版、ISBN 978-4320122208(2009年2月10日)。
- 金子晃:「数値計算講義」、サイエンス社、ISBN 978-4781912257(2009年4月1日)。
- 加古孝:「数値計算」、コロナ社、ISBN 978-4339027204(2009年4月16日)。
- 水島二郎、柳瀬眞一郎:「理工学のための数値計算法」第2版、数理工学社、ISBN 978-4901683708 (2009年8月1日)。
- 杉浦洋:「数値計算の基礎と応用―数値解析学への入門」新訂版、サイエンス社(新情報教育ライブラリ M-11) 、ISBN 978-4781912400(2009年12月1日)。
- 久保田光一:「工学基礎 数値解析とその応用」、数理工学社 (新・工科系の数学)、ISBN 978-4901683579(2010年8月1日)。
- 金谷健一:「数値で学ぶ計算と解析」、共立出版、ISBN 978-4320019423(2010年10月23日)。
- 中尾充宏、辺善隆:「実例で学ぶ精度保証付き数値計算」、サイエンス社(別冊数理科学2011年10月号)(2011年10月21日)。
- 斎藤宣一:「数値解析入門」、東京大学出版会(大学数学の入門9)、ISBN 978-4130629591(2012年10月23日)。
- 河村哲也、桑名杏:「数値計算入門【C言語版】」、サイエンス社、ISBN 978-4-7819-1330-8 (2014年1月1日)。
- 三井田惇郎、須田宇宙:「数値計算法」(第2版・新装版)、森北出版、ISBN 978-4627801530(2014年2月28日)。
- 櫻井鉄也:「数値の処理と数値解析」,放送大学教育振興会、ISBN 978-4-595-31504-6 (2014年3月20日).
- 柳田英二、三村昌泰、中木達幸:「理工系の数理 数値計算」、裳華房、ISBN 978-4785315603(2014年10月28日)。
- 堀之内總一、酒井幸吉、榎園茂:「Cによる数値計算法入門(第2版、新装版)」、森北出版、ISBN 978-4627093836(2015年11月27日)。
- 菊地文雄、齊藤宣一:「数値解析の原理」、岩波書店(岩波数学叢書)、ISBN 978-4-000298230(2016年8月30日)。
- 齊藤宣一:「数値解析」、共立出版、ISBN 978-4320111905(2017年3月23日)。
学術論文誌など
外部リンク
- Numerical Analysis - スカラーペディア百科事典「数値解析」の項目。
- 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