[進捗報告] 関数リファレンス,参考文献,索引挿入

 最終章を書きながら前の商を見返していたのだが,関数リファレンスとしての使い勝手が悪いので,下記のような表を挿入しまくり,最終的に10ページ近く増えてしまったぞい。

2015-11-29_173518

 あと,不完全だった参考文献,索引も入れてみた。後は校正しながら書き直す程度かなぁ。

 残っている一番の問題はWindows環境でのLAPACK/BLASの使い方の解説なんだが,本家提供のWindows用が出るまで待つか,3.5.0で書いちまうか,まだ思案中なう。

 とりあえず11月末までに全部できたので,後はチマチマ直していこうっと。もう心は「多倍長数値計算入門(仮称)」に飛んでいるのであるからして~。

[進捗報告] 最終章一応完成

 Hammerstein型積分方程式の解法に衣替えした最終章,一応完成。固有値問題,連立一次方程式のどちらも使ってなおかつ平易(かな?)な問題を対象に,Derivative free解法を使う内容になったので,まぁとりあえずはおさまりがいいと思っている,思いこんでいる,思いこまなきゃやってられないと思っている。

 ふひ~,これで来週一杯かけて手直しして出版社に投げることができる。最終章を書くにあたりつたつら前の章を参照したが,思いのほかreferenceとしての使い勝手がよろしくないので,その辺りの修正がメインかしらん。あとはWindows環境だが,LAPACK 3.6.0のWindows版(ここに出るはず)が出てからにしたいなぁと思いつつ,まぁ3.5.0で困るという内容ではないので一応は使えるんだけど,Reference BLASを使うためのcblas.hとcblas_f77.hがどこにも入ってない。結局,Windows環境ではスタンダードなVisual C++で使おうとするとこれを持ってこないといかん。CBLASが同梱されている3.6.0なら楽なんだろうなと愚考する次第。まぁ後はタイミングの問題かな。

 つーことで1年かかってようやっとここまでこれました。A4サイズで111ページってのはちと少ないかなぁと思いつつこの辺りでやめておかないとA5にした時に200ページ越えちゃうぞと。

 風邪ひいて死にそうなのでまずは寝ます。

[進捗報告] LAPACK 3.6.0 Released and how to install

LAPACK 3.6.0が出たので早速試す。今まで別パッケージだったCBLASが同梱されているので,ソースからコンパイルした素のLAPACK/BLASを使いたい場合は重宝しそう。

 以下インストール方法 with gfortran & gcc or ifort & icc on Linux

1. lapack-3.6.0.tgzをダウンロードして適当なディレクトリに置く
2. 解凍 -> lapack-3.6.0ディレクトリ生成 -> lapack-3.6.0へ移動(以下,カレントディレクトリを./と表記)
3. ./INSTALL/make.inc.gfortran (gfortran & gcc用) or make.inc.ifort (ifort & icc用)を./make.incにコピー
4. cd BLAS/SRC; make でBLASコンパイル -> librefblas.a生成
5. cd ../../; cd SRC; make でLAPACKコンパイル -> liblapack.a生成
6. cd ../; cd TESTING; make でLAPACKテスト -> libtmglib.a生成
7. cd CBLAS; make でCBLASコンパイル -> libcblas.a生成
8. cd ../../; makeLAPACKEコンパイル -> liblapacke.a生成

 ちなみに,5と6は./でmakeでもO.K.

 gfortranの場合,TESTINGのコンパイル時にetime関数がないとうエラーが出る。その時にはmake.incで”TIMER = NONE”を指定しておく。副作用として時間計測はできなくなる。

[進捗報告] 最終章プログラム開発完了

 Gauss-Legendre積分公式の導出(DGESY関数使用),積分方程式の離散化とDerivative-free解法の実装(DGETRF & DGETRS関数使用),ついでにOpenMP並列化も行って高速になることも確認したのでとりあえずこれにてプログラム開発は終了。

 文章はまだ7割方しか埋まってないが,まぁベンチマーク結果を入れてとりあえず明日中には上がりそう。固有値計算+連立一次方程式+OpenMP並列化と3拍子揃ってまとめられたのでなんとか安心できそう。

 つーことで,残りは頭からの見直しをしつつ

  • Windows環境でコンパイル(Windows用Intel C++どっかに落ちてない?)するための解説
  • 索引づくり

かなぁ。MacOS Xは無視する(メンドクサイ)。

[進展報告] 最終章執筆開始

 前段階の部分を書いてみたが,実際計算してみないとこの先が困る。ので,いくつか例題を参照しながら実装しつつ進むことにする。