April 10, 2008

4/10(木) 掛川・?

 うっひょ~,初回講義前日にようやっとテキストが4章分出来上がった~。一応公開済みの所に置いてあるけど,URIは全部完成してから公開予定。GW中には一通り完成させたいので,その辺かな~?
 しっかし,講義前日の筈なのに,先方からは全く連絡nothing。これも凄いよな。明日初回ってのをご依頼のM先生から聞いてなかったらアウトだぜ? 年間スケジュールもWebに載ってないし,全く教員と学生は最高だが,事務体制は超ヘタレだなぁ>S大J部
 で,初回はいきなり複素関数・関数近似・数値積分の概略を喋っちゃう予定なのだが,さーてどうなりますことやら・・・ちと不安であるが,まあ優秀なる学生さんのことであるから,何とかなるでありましょう・・・と人ごとモード。

 で,C++標準の複素数計算機能を調べている内に,gcc(g++) Version 3.4.6の"complex"ヘッダファイルを覗いてみた。除算の中核部分はこーなっている。

  // 26.2.5/15
  // XXX: This is a grammar school implementation.
  template
    template
    complex<_Tp>&
    complex<_Tp>::operator/=(const complex<_Up>& __z)
    {
      const _Tp __r =  _M_real * __z.real() \
+ _M_imag * __z.imag();
      const _Tp __n = std::norm(__z);
      _M_imag = (_M_imag * __z.real() - \
_M_real * __z.imag()) / __n;
      _M_real = __r / __n;
      return *this;
    }


こんなんだから,gccのライブラリは信用ならないって言われちゃうんだよなぁ。"grammer school implementation"って開き直られても・・・。ちなみに,Visual C++ 2003以上のものはかなりマトモでした。そろそろ数値計算にgccはステ,かな。どう計算すべきか,って話はワシの資料(大元は伊理センセの本)にも書いてある。

 さて,明日はちょっと早めに出かける予定なので(何せ,出勤簿がどーなっているか,J学部の非常勤講師室がどこかもさっぱりワカランし),今日はこの辺で寝ます。

Posted by tkouya at April 10, 2008 11:56 PM