市來健吾の日記

プログラマ、(元)物理屋(ナノテク、流体)

周期系 FMM


  • 2,3-c) program の実装: reciprocal-self 部、その2

    • main routine の実装

      • scalar 関数の漸化式を陽に書下す、 前の手書きノートと確認済み

      • 係数計算に自身がない、generator を書く

      • scalar 部分の定義を修正 (上のレベルとの関係で)

  • 2,3-c) program の実装: 3 つのまとめ

    • free B.C. の code を元に

    • 構造まとめ

      • 最下位レベル:

        • 一般的な微分の計算 (これまで作ってきた routines)

          • free, periodic の real, recip, recip-self それぞれ

        • それを使った dot-product 計算

          • ポイントは (n+m) 次 tensor の n 次と m 次への振分け

          • これは一般的な procedure

      • 粒子レベル:

        • real, recip-self は組む

        • recip は「粒子レベル」に適さず、 一つ上で直接組む

      • 系レベル:

        • 現状では、recip 部の組み込みに躊躇している

        • overhead はあるが、簡単に組んでおく

    • 登録 (Rev 3.1): free B.C. から連番に

    • 実装、終了

  • 一山越えた

    • 数値 scheme の開発で一番大変な、 「無」から「有」までこぎつけた

    • この process に比べれば、debug なんて楽しいもんだ

      • だって、実際に叩けば答えてくれる「もの」がある訳だから

    • 逆に言うと、常に叩ける「もの」を keep するように開発して行くってのは 効率的ってことかな

      • しかし、「う〜ん」って踏ん張る部分が無いと、 つまらないものしか出来ない気もする

      • 結局「バランスが大事」っていつもの結論か