大野 豊、磯田 和男 監修:数値計算ハンドブック

作成日 : 2012-12-02
最終更新日:

概要

数値計算と統計処理のアルゴリズムを FORTRAN 77 で記述している。 特に偏微分方程式の各種スキームが詳しい。 目次は次の通り。

第 I 編 数値計算

  1. 線形計算
  2. 数値積分
  3. 常微分方程式
  4. 偏微分方程式
  5. 積分方程式
  6. 非線形方程式
  7. 補間、近似
  8. 最小2乗法
  9. 最適化問題
  10. 特殊関数
  11. フーリエ変換

第 II 編 統計計算

  1. 確率と分布
  2. 基礎統計
  3. ノンパラメトリック統計
  4. 時系列分析
  5. 擬似乱数
  6. モンテカルロ法

感想

今となっては古めかしいところも多いだろう。 それも致し方ない。数値計算の分野は日進月歩だからだ。 それでも、ここに書かれていることを基本として理解しておくのは悪くはないだろう。 なお、積分方程式の章が独立に設けられているのは珍しいと思う。

数値積分

一つだけ、数値積分について記述する。台形則の考え方である。 まず、`x = a` から `x = b` までの `f(x)` の定積分の値を、端点のみで近似したとする。 `h = b - a` とすると、次のようになる。

`int_a^bf(x)dx=h/2{f(a)+f(b)}`
次に、近似をよくするために `h_1 = h / 2` としよう。`x_0 = a, x_1 = a + h, x_2 = b`とすると
`int_a^bf(x)dx=h_1/2{f(a)+f(a+h_1)}+h_1/2{f(a+h_1)+f(b)}`
この考え方を進めて、区間 `[a, b]`を`n`等分しよう。
`h = (b-a)/n`
ここで
`( a=x_0 lt x_1 lt ... lt x_(n-1) lt x_n = b )`
各区間 `[x_0, x_1], [x_1, x_2], ......, [x_(n-1), x_n]` の各台形の面積の和は次の式であたえられる。
`int_a^bf(x)dx=h/2[sum_(i=1)^n{f(x_(i-1))+f(x_i)}]`
無限区間`(-oo, +oo)` において解析的である場合には, 等間隔に刻み幅 `h` をとった上記台形則が、精度においてほとんど例外なく最良の結果を与えることが知られている。

二重指数関数型公式

本書 p.155 以降で解説されている二重指数関数型公式を紹介する。 上記の結果から、一般区間 `(a, b)` を無限区間`(-oo, +oo)` に変換するような変数変換をすれば、 高精度な積分公式となることが期待される。仮に、積分変数 `x` に対してそのような変数変換が存在したとする。 この変数変換を `x = tau(t)` としよう。このとき、 `f(x)` の定積分は次のように変換される。

`int_a^bf(x)dx = int_-oo^(+oo)f(tau(t))tau'(t)dt`
右辺に刻み幅 `h` の台形則を適用すると、次の公式が得られる。
`int_-oo^(+oo)f(tau(t))tau'(t)dt = h sum_(i=-oo)^(+oo)f(tau(ih))tau'(ih)`
右辺は無限和になっているが、`|f(tau(t))tau(t)|`が`|t|`の増大とともに減少するようにとれば、 実際の計算は有限和ですむ。したがって、`n` を分点数とすれば、次の近似式が得られる。
`int_-oo^(+oo)f(tau(t))tau'(t)dt = h sum_(i=-m')^(+m)f(tau(ih))tau'(ih) (n = |-m'| + |+m | + 1)`
さて、関数 `tau(t)` はどのようにとればいいのだろうか。 高橋秀俊と森正武は、変数変換後の被積分関数が次のような場合に最適な公式になることを見出した。
`|f(tau(t))tau'(t)| ~= exp{-a_1 exp(a_2 abs(t) ) } (abs(t) -> oo)`
ここで、`a_1, a_2` はある定数である。このように、被積分関数の形が、 指数関数が二重に適用されていることから、二重指数関数型公式と呼ばれている。 具体的な例として、
`x = tau(t) = tanh(pi/2sinh(t))`
`tau(t) = cosh(t)/(cosh^2 (pi/2sinh(t)))`
を選択できる。こうすると積分は次のようになる。

`int_a^b f(x)dx``=(b-a)/2 int_-1^(+1) f((b-a)/2t + (b+a)/2)dt`
`=pi/2 h((b-a)/2 sum_(i=-oo)^(+oo) f((b-a)/2 tanh(pi/2sinh(ih)) + (b+a)/2) cosh(ih) / (cosh^2 (pi/2(sinh(ih)) )))`

数式記述

このページの数式は MathJax で記述している。

書誌情報

書名数値計算ハンドブック
監修者大野 豊、磯田 和男 監修
発行日1990年 9月 1日(第1刷)
発行元オーム社
定 価25,000 円(本体)
サイズ 版 ページ
ISBN4-275-07584-2
備考現在手元にない

まりんきょ学問所数学の本数学の本 > 大野 豊、磯田 和男 監修:数値計算ハンドブック


MARUYAMA Satosi