[ Amazon, Springer ] ISBN 978-4-431-10002-7. \6500
大雑把なところは速報編に書いたので,もう少し詳しいことをこちらの方でお知らせする。ただし,何分ワシ自身が翻訳者の一人なので,内輪褒めっぽい内容になるのは致し方ないことである。その分割り引いて読んで頂ければ幸いである。
本書は「Solving Ordinary Differential Equations I」の日本語訳である。原著のタイトルをそのまま翻訳すると「常微分方程式を解く」あるいは「常微分方程式の解法」となるが,第一章を除いては全て常微分方程式の離散解法についての詳細な解説なので,訳者間の意見を総合した結果,「数値解法」を冠した本書のタイトルに落ち着いたという次第である。
藤原正彦と言えば今や保守派のベストセラー作家として知られる存在となってしまったが,本職は純粋数学者で,自身では二流どころの学者と言っているが,かなりの国際派数学者と見ていい。その藤原は,主に数学者の世界について,「一流どころの学者が,二流の学者の書いた論文を全て読みこなして咀嚼しまとめ上げて,グループ全体の面倒を見ている」というような(手元に本がないのでワシのうろ覚えの要約であることをお断りしておく)ことを書いている。しかしこれは「論文はふつー英語で書くでしょ?」という学界では共通の傾向であり,ワシが属している(たぶん)数値解析・数値計算の世界でも事情は変わらない。一流どころのパワーあふれる一握りの研究者が,英語で記述された論文を常にWatchし,片っ端からその業績を自家薬籠中のものにしていくと共に,自身でもバリバリと理論を構築し,コードを書き,数値実験を行って論文を湯水の如き勢いで生産していくのである。
本書は常微分方程式の数値解法の分野では,一流どころの3人が集結して執筆した,帯の文句にある通り(背表紙),まさに「百科事典」的な内容の専門書である。本書と同様のタイトルの本は何冊か出版されており,日本でも監訳者が書いたものが入門書としては存在するが,それらがほぼ例外なく引用しているのが本書なのである。他人の論文からの引用はもちろん,著者らが直接関わった論文の内容もドカドカと隙間なく盛り込まれているので,1980年代までの文献調査はまず本書と本書の巻末に掲載された文献リスト(日本語ひらがな読みによるソート済み!)に当たった方が楽だろうというぐらいだ。それだけ体力も能力も備わったお三方,特にハイラーとヴァンナーの力量の凄さが示されているのが本書なのである。
理工系の教養・専門課程では今でもプログラミング実習も兼ねて数値解析・数値計算の講義がなされているが,そこでは大体最後辺りで常微分方程式の数値解法について触れられることになっている。Euler法,Runge-Kutta法,多段階法辺りが定番であろうが,もう少し凝り性の教師であれば,補外法についても触れるかもしれない。
本書ではそれらについて,「完璧な理論体系」だけではなく,それらを実際の問題に適用して得た計算時間vs.誤差のグラフ,実装に当たって考え得る工夫の数々も網羅的に記述してある。
例えば,Runge-Kutta法だと,これが陰的解法となれば,積分区間を離散的に区切った小区間を一つ一つ進むごとに非線型方程式を解く必要が出てくる。これをそのままNewton法で実行したのでは計算時間がかかってしまう。そこで,必要な時にのみJacobi行列の計算を行い,不必要な時には準Newton法を適用するという工夫を,普通の研究者なら当然思いつくだろう。
本書では更に,そのNewton反復計算そのものを軽くするための工夫についても述べている。具体的に言えば,Jacobi行列をHessenberg行列に変換し,ゼロ成分を構造的に増やして計算量を減らすのである。こう述べれば「ワシにもできるわい」という人も多かろうが,実際に適用する際には,Newton法・準Newton法のJacobi行列計算のタイミングに合わせて行わねばならず,実際に計算時間を減らすことができるレベルのコードを書くためには相当の数学的かつプログラミング的センスが必要となるのである。まあ,簡単だと思う向きは実際にやってみると良い。どんだけ大変な作業か,よーく分かると思うから。・・・つーか,ここに書いたワシの解説の本質がちゃんと伝わっていれば,の話なのだが。
この一例でも分かる通り,原著者には理論を構築するだけではなく,実装レベルまで見通したセンスと,実装そのものもやり遂げるだけの「力業」が備わっているのである。この凄さが日本の読者に伝われば,ワシら翻訳者冥利に尽きるというものである。
ちなみに,本書の解説に使用されたコードは原著者らのWebページ(主としてハイラーの方)で公開されているが,現在はTest Setを集めたWebサービスが本格的に展開されているので,そちらにあるものを使うのがいいだろう。本書ではこのTest Setについての記述がなかったので,ここで補足しておく次第である。
・・・とまぁ,本書の内容については賞賛の一言に尽きるのだが,実際に翻訳に携わったワシも含む訳者及び監訳者は相当苦労させられた。特に監訳者については,言っちゃ悪いが,「この程度」の翻訳料では相当な赤字だろうと思われる(まだ直接聞いてないけど多分そう)。ほとんどボランティアかと思えるような献身的な努力(原著者とのe-mail及び直接のコンタクト)に加えて,特にワシが担当した第2章の前半部の抜本的な訳文の修正作業や,全世界にまたがる研究者の発音(全部カタカナになっている!)のチェックと訳語の統一作業,フランス語・ドイツ語・英語の引用部分やその真意の注釈など,本文作成に必要な全ての仕事を一人でこなしたのである。一体この仕事量の何処が「監訳」なのか,クビを傾げる程だ。世間一般では「監訳」ってのは,手下に付いた訳者の仕事にけちを付けるか,「良きに計らえ」と言うだけのモンだと思われているし,実際その程度の,いやその程度のこともしない輩ばかりである。しかし,本書に関してはワシが書いた通りの超人的な働きぶりであったことは,ここできちんと書いておこう。
そして,最後にワシの仕事についても触れておこう(の割には長くなった)。ワシの「訳文の」担当は先に書いた通り第2章の前半だが,それ以外に,監訳者が原著者から受け取った原書の元ファイルをLaTeXに「翻訳」する作業も担当したのである。
どういう意味かって? 本書でもちらりと監訳者が書いているが,原著の元ファイル,実は
つーことで,ワシもまたかなりの無茶な作業で,pLaTeXでエラーが出ない程度のファイルを全章分作成し,必要最小限のマクロを組んで,担当する訳者にファイルと図版を配布して,「以降の作業は全部担当訳者が頑張って下さい!」と,甚だ無責任な仕事をムリヤリ終えたのである。ワシの無責任仕事に付き合わされた(第2巻分のファイル作成)豊田高専にいらっしゃる江崎先生には,深くお詫びする次第である。加えて,中途半端なLaTeXファイルに格闘された他の翻訳者の方々についても,お詫びしなければならない。どーもすいませんでした。
で,本書については,多分,製版業者の方の仕事だと思うが,本文の組み方についてはかなりの改善がなされていて感心させられた。・・・が,ワシの無責任仕事の一部がやっぱり残っている箇所があり,そこを見つけるたびにワシは「アチャー」と苦虫を潰す仕儀となってしまった。まあ言わなきゃ気が付かないかな,という程度ではあるのだが,やっぱり忸怩たる思いは残る。といっても,あの当時の力量ではまあ仕方がなかったかな,と開き直る気分も,多少は・・・ある。でもまぁミスはミス,もし,それらしき箇所を見つけた方は「幸谷の無責任仕事がここにも!」とお怒り頂いてご勘弁をお願いしたいのであります。だってできちゃったもんは仕方ないじゃん。ぶー。
ともあれ,TeXの製版についてはそこそこの出来ではあるものの,内容については折り紙付きである。常微分方程式を使ってシミュレーションをしようという方には,TeX Bookのような座右の書として(褒めてないかな?この言い方)入手されておいても損はない。何せ,原著よりも格安なんだから,買わない手はない。万単位で売れるような,そんな子供だましの数学入門書などではないから,今買っておかないと,あっという間に絶版であろう。第2巻の翻訳は来年早々には出るはずだが,見つけたら2冊揃えて即買い! ですぜ,ダンナ。
Posted by tkouya at December 13, 2007 3:00 AM