2月12日(日) に名古屋大学であった,「量子と古典物理と幾何」研究会に行ってきた話(イベントページはATNDだったが無くなった...). 2月11日からやってたが,その日は名古屋 Ruby 会議があったので断念.

いきさつ

ヤフーニュースで スパコン京 用のプログラミング言語を作ったというニュースを発見(記事はもうなくなってた.この記事を使ったんだと思う.). 言語オタク(仮)としては,ぜひ仕様を読みたいと探し回ったところ,最終的にこの研究会に行きついた.

この言語を作った村主さんという理研のエンジニアの方が来てくれるとのコトで,速攻で申し込んだ.

内容も量子論が半分(2/11)と圏論が半分(2/12)ぐらいだったので,Haskeller にとっては惹かれる内容であった.

ハイライト

講演者は4人. 一人持ち時間は1時間半. 最初はノートパソコンでメモを取ってたが,ホワイトボードをメインで使い始めたので,諦めてノートにメモを取った. 大学の講義みたい.

  • 物理学者のための圏論入門
    • 谷村先生
      • 名大の先生
    • 圏論は物理との相性が良い
      • 対象の構造や構成要素(内側)を考えるのが集合論
      • 対象の操作や影響(外側)に観点を置くのが圏論
      • 物理(特に熱力学や量子論)は観測して,その影響を捉えて判断する(特徴付ける)
        • まんま圏論の考え方
    • 圏論の3本の矢
      • 射(arrow)
      • 関手(functor)
      • 自然変換(natural transformation)
    • 圏(Category)の定義 i. 対象(Object)がある - 集合である必要は無い - 構成要素は関係ない - 始域(domain)と終域(codomain) - 集合である必要は無いのでエンドポイント的なイメージ ii. 射(Arrow)がある - 対象から対象へのなんらかの写像のようなモノ - 対象 a から b への射が複数あってよい - 圏にとってもっとも中心的な構成要素 iii. 合成(composite)が定義可能 - f : a -> b, g : b' -> c のとき b = b' ならば g . f : a -> c (合成射) - 対象の等価性は対象ごとで iv. 結合律が成り立つ - h . (g . f) = (h . g) . f v. 恒等射が定義できる - f = f . id_a
    • 関手(Functor)の定義
      • 関手 F はある圏の射をある圏の射に写像する
        • f : a -> b, Ff : Fa -> Fb ならば F(f) = Ff
      i. 共変関手と反変換手 - 共変性: F(g . f) = F(g) . F(f) - 反変性: F(g . f) = F(f) . F(g) ii. 恒等射を保存する - F(id_a) = id_Fa
    • 自然変換(natural transformation)の定義
      • 特定の圏間にある2つの共変関手を写像する t : F -> F'
      • 始域の各対象ごとに t_a : Fa -> F'a が定まる
      • t_af : a -> b に依存しない
        • t_b . Ff = F'f . t_a (: Fa -> F'b)
    • 普遍射(universal arrow)
      • 始域には対応する対象が無い終域の対象を,そうでない対象に写像する射
  • 事例とストリング図によるn-圏への入門
    • 檜山先生
      • 圏論(やHaskell)についてWebで調べるとだいたいこの方に行きつく(笑)
    • 参照
    • ハイブ(映画バイオハザード1でのアンブレラの秘密基地)におけるゾンビラン(後述)をストリング圏にモデル化してハイブの不変量を求めるという話
      • 要するに別種のハイブ同士がゾンビランにおいて等価かどうかを判定する方法を定義したいらしい
      • バイオハザード(もといゾンビネタ?)が好きらしい
    • 問題定義
      • ハイブ : 三角分割された二次元多角形
        • 三角分割 : 立体も含む多面体を三角形で分割する手法
        • 条件: DAFTO Graph
        • 各三角形には入口なる辺と出口になる辺がある(必ず1つ以上)
        • ループする経路は無い
      • ゾンビラン
        • ハイドの入り口から任意の数のゾンビを放す
        • ゾンビはハイブ(三角形に分割された)の規則に従って 非決定的に移動を繰り返す
          • ゾンビは利口じゃないから!
        • 放した量と同じだけのゾンビが出口から出てくる
        • 複数の入り口に対する放し方(例えば A, B の入り口に何対何で放すか)と出口からの出方(C,D の出口から何対何で出てくるか)を観測する
      • 内部構造を無視してハイブの構造(入口の数と出口の数)より観測結果は一意に定まるか?
        • ハイブを関数と考えれる
        • それを圏と考える
          • 結果: 定まらない
    • N圏を導入する
      • ある意味再帰的に圏を定義する
      • 結局今回は3圏だった
      • ちなみに圏を圏と考えた場合(射を対象とする)は2圏となる
        • 射と関手
        • 関手と自然変換
    • 記号な違いは思想的に対立している(g . ff ; g)
  • 複雑ネットワークと圏論
    • 春名先生
      • 圏論の歩き方の著者の一人(15章)
    • 雑話
      • 良く新入生をお説教する謎のおじさんにあった話(名大では有名らしい(笑))
      • the cell の表紙(3版 -> 6版)
        • 数理ネットワークっぽくなってる
    • "Networks as Things" vs "Networks as Processes"
      • 前者は複雑ネットワークの科学
        • ネットワーク自体の構造を研究
        • 入出力は明示的に扱わない
      • 後者は圏論的ネットワーク理論
        • Hypergraph category
        • (一部の話..「開いた」ネットワークをつなげるためのフレームワーク)
    • 本日な話題は上2つをつなげたい
    • (難しく,これ以上はよくわからなかった)
  • 偏微分方程式から高性能プログラムへの自動変換
    • 村主さん
      • すごいH本の訳者のひとり
      • すごうでHaskellr
    • スパコン京用に作った DSL "Formuru" の話
      • (よくわからないけど)
      • ステンシル計算ステンシル計算という最適化??をどーのこーのして
      • Fortran と C++ のコードを吐く
      • ユニコードをサポート(数式で良く出るギリシャ文字がそのまま使える)
      • 処理系は Haskell で書いた
    • GitHub にて公開中
      • 論文や,いつぞやのスライドもあるので詳しくはそれを見ると良い
    • Haskeller なら Haskell の(型クラスを使いまくって)内部DSLを作ったのではだめなの?
      • 構文の制約が強い
        • UTF-8 を含む構文
        • 記号を中置で使わない
        • etc...
      • Haskell 使える人がいない
      • 新しく作った方が楽
    • 細かい仕様の希望は,どーせオープンソースなんだから勝手に変更して使って
    • 名前の由来:
      • Muranushi の Fortran でいいんじゃね?から
      • Formula とのバッティングを避ける(検索するうえでの)
        • しかし,現状は「次の検索結果を表示しています: formula」となる
        • こうならないようなぐらい有名になるといいなぁ
    • これを手土産に宇宙系に戻りたい(好きな分野は宇宙系らしい)

感想

研究会というのは初めて出たかも. もともと講演会は大好きだったのでめちゃくちゃ楽しかった. まぁ,すごい場違い感はあったけど(たぶん回りの人たちは物理系のガチ研究者).

でも,また出たい. あわよくば,もっとお話ししたかった.

おしまい