「多倍長数値計算入門」シラバス=目次予定

 次年度の後期に担当することになった「数値解析2」のためのテキストして下記のシラバス案を作ってこれに沿ったテキスト「多倍長数値計算入門(仮)」を書いてみることにした。

  1. 多倍長数値計算とは? 
  2. コンピュータの内部と演算の高速化手法
  3. 多倍長自然数演算
  4. 多倍長整数演算とその応用
  5. 多倍長浮動小数点演算
  6. 多倍長精度浮動小数点演算ライブラリの比較
  7. 並列化手法
  8. 初等関数の計算
  9. 円周率の計算
  10. 基本線型計算と並列化
  11. 連立一次方程式の求解
  12. StrassenのアルゴリズムとLU分解への応用
  13. 非線型方程式の求解
  14. Remez法による最良関数近似多項式の導出
  15. 補外法による常微分方程式の初期値問題の求解

 学部の講義だから「スタンダード」なものを講義する必要があるので,今までは多倍長計算については多少触れる程度にとどめていたのだけれど,QDもMPFR/GMPもすっかり定着したし,GMPに至ってはこれがないとLinuxのセキュリティも確保できないほど深くシステムに食い込んじゃっているので,こんだけスタンダードになっちゃったものを逆に講義しない方がおかしいという状況だからもう遠慮は要らんわな。一応整数演算とその応用についても触れるべく1章分ぐらいは雑多なものを入れる予定だが,そのほかの部分は数値計算の話題になる。

 こういう知識詰め込み型講義ってのは,漆塗り型の基礎教養的講義に比べて嫌われるらしい。受講生に言わせると,毎回講義内容もトーンもガラリと変わっちゃうので目まぐるしくて戸惑うとのこと。まぁこちらとしては「うるせぇガタガタぬかすな一度ぐらい目を回す経験ぐらいしておけ!」というつもりでやるのでアンケートはズタボロになりそうだし,ひょっとしたら受講生ゼロかなぁとも思うんだが(それはそれで一面ラッキーではある),こちらとしてはせっかく担当するのだから準備するのも「楽しみ」がないとツマランのよねぇ。

 演習はC++を主軸としつつ,ほとんどANSI Cでプログラミングという感じ。環境をWindows向けに整えるのがちと骨であるが,MPIRはあるし,QDは多分ネイティブVisual C++でも問題なくコンパイルできるだろうし,まぁ何とかなるのかなと楽観している。ダメならLinuxのCUI環境提供かCygwin使えばいいしね。

 つーことで今後LAPACK入門(仮)の校正作業と並行して準備を進めていく予定。さっさとこれ書いてワシのアカデミックキャリアの半分以上は終わったなぁという感慨を持ちたいのであります。〆切は来年8月上旬。さてどーなりますなら。

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

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

2015-11-29_173518

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

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

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