数値計算は、特に物理系や工学系の研究で多く使われています。
高校までは必ず答えのある方程式を解いていますが、実際には解析的に解けない問題のほうが多いのです。
例えば、三つの天体が万有引力で引き合っているときの運動は、解析的に解けないことが証明されています(3体問題)。
そのほかにも、式は立てられるけれども、解析的な解は確立されていない式もあるのです。
このようなとき、数値計算を使って、性質を調べたりします。
しかし、数値計算は近似計算ですので、実際に計算を行う前にルールを知っておく必要があります。
ここでは、数値計算独自のルールについて、知っておくべき内容を記載した参考書を紹介します。
数値計算は立派な計算分野の一つ
できた方程式が解析的に解けないといっても、方程式はわかっています。
ある初期値を代入して、そこから逐次計算することで、その特殊解を代入したときの現象が見て取れるのです。
こういった計算を人の手で行うのは膨大な手間がかかります。
繰り返し似たような計算を行うのは、コンピューターが得意とする分野です。
そのため、物理系や工学系の研究では、コンピューターを使ったシミュレーションが盛んに行われています。
コンピューターシミュレーションは、便利な手法でもありますが、同時にコンピューターに課せられた制限を理解して活用しないと、本来の答えとは違った答えが出る可能性があります。
そのため、コンピューターシミュレーションのような数値計算を行う時には、数値計算独自のルールを知っておく必要があります。
おすすめの参考書
知っておくべき常識が掲載されている参考書
この書籍の初版は1985年(連載は1982年から1984年)と非常に古いものになっていますが、2018年現在でもその内容が色あせることはありません。
コンピューターの性能は1985年と比べても比較にならないぐらい向上していますが、その基本となる考え方は変わっていないからです。
特に最初の8章
- 数の表現と誤差
- 桁落ちに気をつけよう(その1)
- 桁落ちに気をつけよう(その2)
- たった1回だけの計算なんて・・・
- 逆行列よさようなら
- 単位と次元
- 数値積分法 -台形則を使いこなすには
- 数値微分法 -打ち切り誤差と丸め誤差
をみても、数値計算を行う時には絶対に知っておかなければならない概念が盛りだくさんです。
さらに、第1章で実際にコンピューターで計算させた結果と、本来出るべき数値との不一致の例が掲載されていたりと、なぜ数値計算でこのようなことを意識する必要があるのかを意識させられる構成になっています。
大学の講義では数値計算のところで、コンピューターの操作やプログラムなどたくさんの項目を学習しなければなりません。
そのため、こういった数値計算では重要な項目を回数を使って解説することが難しいこともあるでしょう。
でも、基本的な内容にして、絶対に知っておくべき内容なので、「数値計算」の書籍を手にとって読むことをおすすめいたします。
前出の「数値計算の常識」は数値計算を行う上で、注意しなければならない点についての解説をしています。
ただ、どのような方法を用いて計算したらいいかという内容にまでは深く触れていません。
具体的な計算式の使い方は、「数値計算の常識」とは別に学ぶ必要があります。
数値計算の書籍はいくつかありますが、ここでおすすめするのは「数値計算(理工系の数学入門コース 8)」です。
発行当時はFORTRANが主流だったため、FORTRANのキーワードも出てきますが、大部分の説明はPADで書かれているため、実際に考える際には、自分の知っているプログラムに置き換えると読みやすくなると思います。
「数値計算(理工系の数学入門コース 8)が優れている点は、問題を解くときに使う手法を解説しているだけでなく、どのくらい正確に計算できるのかという例題や演習問題が掲載されている点です。
今とこうとしている問題について、どのような手法で、1回の計算の間隔(刻み幅)はどのくらいがいいのかということが例題や演習問題を通じて、確かめることができるようになっています。
ただし、実際にプログラムを動かす必要がある場合には、自分でプログラムを作って動かす必要があります。
どの手法で計算したらいいかというのは、実際にやってみないとなかなか感覚がつかめない部分もあります。
「数値計算(理工系の数学入門コース 8)」は、どの手法で計算したらいいかを理解するのを手助けしてくれる参考書でもあるのです。
目次
- 数値計算と数値
- 数値計算の手順とPAD
- 非線形方程式とニュートン法
- 連立1次方程式
- 数値積分
- 常微分方程式
※1章の「数値計算と数値」は主に誤差についてのお話です。
前出の「数値計算の常識」と内容がかぶりますが、解説は「数値計算の常識」のほうが詳しいです。
最低限知っておいてほしい内容のサマリーという位置づけでみるといいでしょう。
Fortranに関する書籍の紹介は以下のページで解説しております。