一松信:数値解析

作成日 : 2022-07-27
最終更新日 :

概要

「まえがき」から引用する。

全体的に本書の内容は,最新の知識とはいい難い.もちろん新しい内容を加え,将来の動向を先取りするように努力はしたが, どちらかというと主流は,一昔前にすでに確立され,専門家の間では周知の常識的な話題ばかりである. それにもかかわらず,現場の利用者がことのほか“保守的”であり,この種の基本的知識が十二分に伝わっていない場面が多いように感ずるので, 大学ではその種の基礎を教えるほうが重要だと考えた次第である.

なお本書の第1刷は 1982 年 10 月 15 日付となっている。

椅子とり競争

「§ 20. Kerner 法」の p.78 には次のような記述がある。

Kerner 法を実験してみると,椅子とり競争といった感がある.しばしばそこに「人間くさい」ドラマ(?)を感ずることもある.

Kerner 法とは、`n` 次代数方程式の解を `n` 個同時に求める反復解法のアルゴリズムである。代数方程式の解は一般に複素数で表されるので、 近似解を複素平面上に図示すると、近似解が真値に近づくようすがあたかも椅子取り競争を思わせるところから、このような感想になったのだろう。

なお、Scilab では、多項式の根を求める算法としては Jenkins-Traub アルゴリズムを用いているようだ。

長い数値の区切り

「§ 33. 数値の意味」の p.134 には次のような説明がある。

最後に長い数値の区切りについて一言する.数学的にはどうでもよいのに近いのだが, ヨーロッパでは,その数値の性格上,長い数値を読みやすくするために 3 桁ごとに区切り,あるいは中間にコンマを入れて

(33.1)
1,384,389,037,985
というふうに書く習慣がある.日本語では(中国語でも),同じ目的には 4 桁ごとに区切る方が自然である.国際共通用のため, もしも (33.1) のように書いたら,それを無理に換算せずに,たとえば
1 テラ 384 ギガ 389 メガ 037 キロ 985
とでも読み下すのがよいのかもしれない.(後略)

私はこの手の 3 ケタコンマが大嫌いだ。よくぞ言ってくれた。

生活の知恵

「§ 34. 計算機内部の数値表現」の p.136 には次のような記述がある。

`sqrt(x^2+y^2)` をこのままの形で求めず,`abs(x) ge abs(y)` なら `abs(x)sqrt(1+(y//x)^2)`, `abs(x) lt abs(y)` なら `abs(y)sqrt(1+(x//y)^2)` として計算するとよい,といった“生活のちえ”は, あふれを防ぐやむをえない自衛手段(?)というべきである.

これは、言外には、「このような生活の知恵を人間様に押し付けるのはやめて、コンパイラでよしなにやってくれよ」という不満がこめられていると思う。 ちなみに、C 言語には、hypot(x, y) という関数があり、まさにあふれを防ぐ演算を内部でおこなう仕組みになっている。 私は最初なぜ C 言語で sqrt(x*x+y*y) と記述できる関数なのにわざわざ hypot を定義するのか疑問に思っていたら、 あるときこのようなあふれを防ぐということを知って納得したのだった。それでも、`sqrt(x^2+y^2)` という式を見かけたら、 言語処理系が生活の知恵に即したコンパイル(トランスレート)をしてほしいと思っている。

満員バス通過現象

「§ 35. 誤差」の p.143 には次のような説明がある。

桁落ちと情報落ちが怖しいのは,この両者が相ついで生ずるときである.その典型例は `abs(a) ≪ abs(b)` のとき

`(a+b) - b = a`

のはずが,0 (または `a` の上位の数値のみ)になる現象である. これを満員バス通過現象*)と読んでよかろう. 満員バス `b` にお客 `a` が乗り切れず,途中でお客が下りて(`-b`)バスがすいても `a` が復元されず, 終点についたら乗っているはずの客 `a` が消えていた(実は出発地に積み残して置き去り)という事件である.

満員バス通過現象には次ページの p.143 に脚注があり、戸川隼人教授の命名によることが書かれているとともに、 イラストまでついている。なお、p.144 でこの話題に関連した「丸め誤差のくりこみ」という手法は簡単にしか述べられていない。 実際の方法は、奥村晴彦「C 言語による標準アルゴリズム事典」のp.128 「情報落ち」の項に、その誤差のくりこみ手法が述べられている。 同書ではくりこみという言葉は用いられていないが、「積み残し」を都度求めるとともに、新たな値を「積み残し」も含めたのちに加える、 という手法であるので、実質は同じだろう。

計算量

p.148 の「§ 37. 計算量について」の冒頭には次の記述がある。

この問題は,本講座の『計算数学』に詳細に論ぜられると思うが,ざっと述べる.

実は、本講座の『計算数学』には、計算量の話題が全くない。

朝倉書店 新数学講座

数式の記述

数式は MathJax を用いている。

書名数値解析
著者一松信
発行日2001 年 7 月 10 日 初版第 16 刷
発行元朝倉書店
定価3400 円
サイズA5 版
ISBN4-254-11443-5
備考草加市立図書館で借りて読む

まりんきょ学問所数学の部屋数学の本 > 一松信:数値解析


MARUYAMA Satosi