幸谷智紀「多倍長精度数値計算」森北出版

幸谷智紀「多倍長精度数値計算」森北出版

[ Amazon ] ISBN 978-4-627-85491-8, \4200 + TAX

 いやぁ長かった長かった。本来なら昨年のうちに発売されているはずのものが,「可能な限り厚く書け」という方針に変更され,巻末のGNU MP(抜粋),MPFR(完璧),__float128(完璧)のリファレンスまで付録に付くことになってしまったからさぁ大変,シコシコ作業してどーにかこーにか248ページの,ワシの単著としては最大のページ数を誇るテキストが出来上がってしまったのである。担当編集者が途中交代したりして「こりゃ出ないかな?」などと疑心暗鬼になりつつも何とか今日の晴れの日を迎えたのだからとりあえずは良しとしよう。表紙のプログラムが本文で使っているC, C++プログラムとは似ても似つかぬものになっているなどと無粋なことをいう奴は嫌いなので無視することにして,ワシはこの分厚くてド高いテキストをしみじみ眺めて悦に入っているところなのである。

 そう,本書は高価である。税抜き4200円! 吉野家の牛丼並を10杯食える値段になってしまった理由はただ一つ,特殊過ぎて売れそうにないからである。・・・んなことは分かっている,だからペラい「LAPACK/BLAS入門」程度でいいんじゃないかという提案もしていたのだが,「あれじゃペラ過ぎて演習書としては物足りない」とぬかす向きがあったらしく,「どのみち売れないんだから,そんなら分厚くしてくれ」ということになった由。開き直った結果の高額書籍なのである。つーことで,長い数字並べてヘラヘラ楽しめる,そう,「π 円周率1,000,000桁表」などをお持ちの方に置かれましては是非とも座右に置かれることをお勧めしておく。何を隠そう,ワシも本書を座右にたくさん置いているのであるからして(当たり前だ),数字マニアにおかれましては,スクラッチからプログラミングする非効率さも知っておかれては如何かと思う次第なのである。

 そう,今時,多倍長計算,即ち,標準的な整数型(int, long)や実数型(float, double)を越える桁数の計算を四則演算レベルから作成するなどということは止めた方がいいのである。趣味で作るならご自由であるが,それにしても,GNU MP(GMP)やMPFR, QDといった高速かつ機能豊富なオープンソース多倍長演算ライブラリがタダで自由に使えるご時世に,それらの機能を一顧だにせずに唯我独尊的なプログラミングをすることは労力の無駄,車輪の再々発明よりたちが悪い暴挙と言わざるを得ない。本書はこれらのライブラリの解説と関数一覧(QDは初めてかしらん?),CやC++のプログラミング例を豊富に取り揃えて,あまつさえ,手間のかかるベンチマークテストまでやってお示ししているのであるから,買えとは言わないけれど(買ってくれると嬉しいけれど),スクラッチから多倍長精度プログラミングをやろうという方は一通り目通ししておくべきであると断言しておく。まぁ,Webの世界には既にこれらのライブラリをベースとした,MPACKみたいな高速計算ライブラリも多数あるので,そちらを見てもらうのも良いが,高度過ぎる複雑なライブラリを見るより,単純なCやC++テンプレート例を読んだ方が取り掛かりには良いのではないか・・・どうかは皆様で判断して頂きたい。ま,当面売り切れる本ではないので,多倍長数値計算をする必要が出てきたら,ちらとでも眺めて頂ければ幸いである。