このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

圏論番外:簡単な圏の例を2つ

竹内さんの本『層・圏・トポス』には例が少ない、という話をしました。マックレーンの本は例が多いらしい*1けど、その例が難し過ぎるという噂も聞きます。ここで、割と簡単で示唆的な例を2つ挙げておきます。

点付き集合の圏

これはよく引き合いに出される例です。単なる集合じゃなくて位相空間に点を付けたモノもよく現れます。点付き集合(pointed set; 基点付き集合、付点集合)とは、集合Aと、特定されたAの点aの組(A, a)です。特定された点を「*A」のように書いて、記号を乱用して A = (A, *A) と書くと便利です。

点付き集合を対象だと考えることにして、点付き集合 (A, *A) から点付き集合 (B, *B) への射とは、f:A→B という写像で f(*A) = *B であるものだとします。要するに特定された点(基点)を保存する写像が射です。点付き集合と、基点を保存する写像の全体が圏になるのは明らかでしょう。

この圏が面白いのは、対象に構造らしい構造がないのに、わずかながらベクトル空間や加群の圏に近づいていることです。対象の直積と直和は定義できます。終対象と始対象が一致してますから、これをゼロ対象と呼んでいいでしょう。ゼロ対象があるので、任意の対象A, B間にゼロ射0A,Bが定義できます。

対角ΔA:A→A×A と余対角∇A:A+A→A も定義できるので、射のペアリング<f, g>、余ペアリング[f, g]も作れ、行列計算の一歩手前まで行けます。直積と直和が一致しないので結局行列計算はできないのですが、A+B→A×B なる射<[idA, 0B, A], [0A,B, idB]> = [<idA, 0A, B>, <0B, A, idB>] は単位行列に似た感じです。

それと、点付き集合のイメージを複数の人に絵に描いてもらうと、かなり違った絵が出てきたりします。直積、直和も絵に描くことを実際に何人かでやってみると面白いと思いますよ。

部分単射の圏

集合AからBへの部分写像とは、A0⊆A と、普通の写像f:A0→B の組です。A0 が有効定義域です(域はあくまでAです)。集合と部分写像も圏を作りますが、このなかでf:A0→B が単射であるものだけを射とした圏が部分単射(partial injection)の圏です。

この圏のなかでは、射の“逆”としてinverseじゃなくてconverseとかtransposeと呼ばれる射が存在します*2。しかし、すべての射が同型(iso)ってわけじゃありません。射はすべて部分単射ですが、でもすべてモノ射ってわけでもありません。この圏における終対象/始対象、直積/直和があるかないか、あるならどんなかを考えるのは良い練習問題だと思います。

点付き集合の概念と組み合わせて、(A, *A)から(B, *B)への基点を保つ部分写像(f(*A)は定義されている!)で単射なものからなる圏を考えると、これもちょいと面白い。ヒルベルト空間(あるいはユークリッド・ベクトル空間)と等長作用素の圏と似てるんですよね。「なんで似てるんかな?」と考えたことはあるんですが、事情は分かりませんでした。([追記]また考えてみたら、だいたい事情がわかった。離散版の内積を考えるのがミソみたい。[/追記]

点付き集合も部分単射もそれらの組合せも、有限集合ベースでも定義できるので、手やプログラムでいじることができます。

*1:http://d.hatena.ne.jp/m-hiyama/20070109/1168308205#c にも書いたけど、僕はあの定番本をろくに読んでないのです。

*2:converseが自己反変関手になっていて、converseを通じて反対圏と同型になっています。