森 正武、室田 一雄、杉原 正顕:数値計算の基礎

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

概要

関数近似、補間、加速、数値微分、数値積分、非線形方程式、代数方程式、高速 Fourier 変換、 高速微分法、区間解析を取り上げる。

感想

級数の和は小さい項から足すようにすると精度がよくなる、 というよく知られた事実から、 区間解析と精度保証のような難しい話題まで含んでいる。 本書の内容でかろうじて覚えているのは、 Legendre(ルジャンドル)多項式Chebyshev(チェビシェフ、 チェイビショーフ)多項式である。 数値計算に使ったかどうかははっきりとしないが、関数近似の美しさはなんとなく記憶に残っている。

二重指数型公式

`int_-1^1 f(x) dx` を計算するために、下記の関数を考える。

`varphi(t) = tanh (pi / 2 sinh t)`

ここで `sinh(x) = (e^x - e^(-x)) / 2, tanh(x) = (e^x - e^(-x)) / (e^x + e^(-x)) ` である。 `x = varphi(t)` とおくと、`t` の値域 `(-oo, oo)` は `x` の値域 `(-1, 1)` に対応することがわかる。 よく用いられる例として、
`int_-1^1 dx / sqrt (1 - x^2) ` を考えよう。`x = varphi(t)` の変換をほどこすと、
`I = int_-1^1 dx / sqrt (1 - x^2) = int_-oo^oo 1 / sqrt(1 - (varphi(t))^2) varphi'(t)dt = int_-oo^oo 1 / sqrt(1 - (tanh^2(pi/2 sinh t))) (pi/2) cosh t / (cosh^2( pi/2 sinh t))dt `

この右辺を台形則で近似すればよい。端的にいえば、区間`[-1, 1]`における積分`f(x)`を、 次のように近似してしまおうというものである。

`int_-1^1 f(x) dx ~= sum_(k=-oo)^oo w_k f(x_k)`

ここで引数 `x_k` および重み `w_k` は次の式で与えられる。`h` は任意の刻み幅である。

`x_k = tanh(1/2 pi sinh k h)`
`w_k = (1/2 h pi cosh k h)/( cosh^2 (1/2 pi sinh k h ))`

欧米では、`x_k` の形から tanh-sinh 求積法 (quadrature) とも呼ばれる。

実際の計算については JavaScript の応用として載せている。

数式

数式記法には ASCIIMathML 形式を、 数式表示には MathJax を使っている。

発行日1993 年 5月 14日
発行元岩波書店
定 価3495円(税別)
サイズ
ISBN4-00-010512-4
備 考3分冊合計の金額
NDC

まりんきょ学問所数学の部屋数学の本 > 森 正武、室田 一雄、杉原 正顕:数値計算の基礎


MARUYAMA Satosi