Corollaryは必然に。

このブログは「コロちゃんぬ」の提供でお送りします

圏・関手・自然変換 ~ベーシック圏論をゆるく読む会の記録2018~

勤労感謝の日
いいや、圏論関手の日だね!


2018年7月末、Φカフェ数学デーにて「『ベーシック圏論』をゆるく読む会」、通称「ゆる圏↻」が自然に(?)発生しました。今日まで私は概ね参加してきました。私は皆さんの発表を聴くために最低限の予習をしていたのですが、私が予習していたことを理由に私自身が発表したこともよくありました笑。学生のときのように予習に多くの時間を費やせず証明につまることもありますが、数学に詳しい方々のサポートのおかげで理解が深まっております。


ゆる圏↻ は次回でベーシック圏論の2章が読み終わる予定ですが、本日23日は勤労感謝の日でΦカフェがお休みです。したがって、Φカフェ数学デーもお休みなのでゆる圏↻ もお休みです。そこで、ベーシック圏論の第一章の内容である圏・関手・自然変換を私なりに紹介しようと思います。

ゆる募 このブログを書くにあたって、可換図式をTeX(XY-pic)で書けるようにしました。\[\xymatrix{
F(A) \ar[r]^{F(f)} \ar[d]_{\alpha_{A}} & F(A') \ar[d]^{\alpha_{A'}}\\
G(A) \ar[r]_{G(f)} & G(A')\ar@{}[lu]|{\circlearrowright}
}\]右クリックでTeXソースが見れますが、調べながら書いたので、圏論家の皆さまにはもっとシンプルな書き方があったら教えて欲しいです。例えば、上の図式の「\circlearrowright」はG(A’)からF(A)への空な射を書いて、その射の中央に「\circlearrowright」を置きましたが、これでいいんですかね…?

圏論を学ぶ上で有用なWebサイト

ここで、私が圏論を学ぶ上で参考にしているWebサイトを3つ紹介します。他にも有用なサイトがありましたら教えてください。

圏とは何か

数学を学んでいると、「構造をもった集合」と「その構造を保つ写像」に頻繁に出会います。集合論であれば、「集合」と「写像」のことであり、線形代数であれば「線形空間」と「線形写像」、トポロジーであれば「位相空間」と「連続写像」といったようにたくさんあります。

そこで、数学的な構造のことは置いといて「何かしらの“対象”」「その対象の間の“射”」に注目し、これらの関係がどうなっているかについて考えます。この“対象”と“射”に関する理論のことを圏論と呼ぶ…と私は理解しています。


前置きはここまでにして、圏の定義から始めましょう。


定義(圏)
圏(category)\mathscr{A}とは,

  • 対象(object)の集まり\operatorname{ob}(\mathscr{A})
  • A, B\in\operatorname{ob}(\mathscr{A})に対してAからBへの射(morphism)の集まり\mathscr{A}(A, B)
  • A, B, C\in\operatorname{ob}(\mathscr{A})に対して射の合成(composition)と呼ばれる関数

\begin{equation*}
\xymatrix@C=20pt@R=2.8pt{
\mathscr{A}(B, C)\times\mathscr{A}(A, B) \ar[r] & \mathscr{A}(A, C) \\
(g, f) \ar@{(-}[u] \ar@{|->}[r] & g\circ f \ar@{(-}[u]
}
\end{equation*}

  • A\in\operatorname{ob}(\mathscr{A})に対して恒等射(identity)と呼ばれる射1_A\in\mathscr{A}(A, A)

からなり, 以下の条件をみたすものをいう:

  • 任意のf\in\mathscr{A}(A, B), g\in\mathscr{A}(B, C), h\in\mathscr{A}(C, D)について次の結合法則が成り立つ: (h\circ g)\circ f=h\circ(g\circ f).
  • 次の単位法則が成り立つ: \forall f\in\mathscr{A}(A, B)\; f\circ 1_A=1_B\circ f=f.

(数学的構造をもつ集合の圏)

  • \textbf{Set}とは、対象が集合で、射は写像によって得られる圏のこと。
  • \textbf{Grp}の対象は群で、射は群準同型写像
  • \textbf{Vect}_kの対象は体k上のベクトル空間で、射は線形写像
  • \textbf{Top}の対象は位相空間で、射は連続写像

上記の例はどれも合成は写像の合成のことで、恒等射は恒等写像のことです。上記のように、本来はきちんと記述すべきである合成や恒等射についてはしばしば省略され、我々読者に解釈を委ねられます。もっと細かいことを言えば、群準同型写像の合成は群準同型であること等も一つ一つ確認するべきですが、私は「そだね~」と思いながら読みました。まあ、数学書の著者に何かを委ねられることは今に始まったことではないし、必要であれば定義に基づいて証明していけばいいんじゃないですかね。この記事の著者である私も読者に解釈を委ねることがあります笑。


(いろんな圏)
圏の対象は(何か数学的構造をもった)集合である必要は全くなく、圏の射も関数である必要はありません。圏の条件に合うように、物と矢を書けばいいのです。例えば、対象がABの2つ(集合でなくてもいい)で、射は恒等射とAからBへの射(関数でなくていい)が3つあるようなものは圏になります。図で表すと次のようになります :\begin{equation*}\xymatrix{A \ar@(dl,ul)[ ]^-{1_A} \ar[r] \ar@<4pt>[r] \ar@<-4pt>[r] & B \ar@(ur,dr)[ ]^-{1_B}}\end{equation*}また、対象を\bulletで表し、恒等射を省略しますが、\begin{equation*}
\xymatrix@=10pt{
\bullet \ar@/^3pt/[rrd] & & & & & & \bullet\ar@/_3pt/[lld]\\
\bullet\ar[ddd]\ar[u]\ar[rr] & & \bullet & \bullet\ar[l]\ar[r] & \bullet & & \bullet\ar[ll]\ar[u]\ar[ddd]\\
& \bullet & & & & \bullet &\\
& & \bullet&\bullet\ar@/^10pt/[l]\ar@/_10pt/[r] & \bullet & &\\
\bullet & & & \bullet\ar@<3pt>[lll]\ar@<-3pt>[lll]\ar@<3pt>[rrr]\ar@<-3pt>[rrr] & & &\bullet
}\end{equation*}は圏(ねこ)です。射の向きはでたらめではなく、例えばねこの口を表す射を\begin{equation*}
\xymatrix@=10pt{
\bullet_1\ar@/_10pt/[r]&\bullet_2\ar@/_10pt/[r] & \bullet_3
}\end{equation*}としてしまうと、合成してできるはずの1から3への射がないので圏にはなりません。\begin{equation*}
\xymatrix@=10pt{
\bullet\ar@/_10pt/[r]\ar@/_20pt/[rr]&\bullet\ar@/_10pt/[r] & \bullet
}\end{equation*}であれば大丈夫です。



定義(同型)
f\in\mathscr{A}(A, B)同型射(isomorphism)である\overset{def.}{\iff}あるg\in\mathscr{A}(B, A)が存在して g\circ f=1_A,\quad f\circ g=1_Bとなる.
(このgは存在すれば一意なのでf^{-1}と表し, f逆射(inverse)という)

AB同型(isomorphic)である(A\cong Bと書く)\overset{def.}{\iff} AからBへの同型射が存在する.


例えば、\textbf{Set}\textbf{Grp}\textbf{Top}における同型射はそれぞれ全単射、群同型、同相写像のことです。各分野の概念が圏の言葉で統一して表現されていくところがいいですね。


(群を圏とみる話)
次のような圏を見てみましょう。\begin{equation*}\xymatrix{G \ar@(d,l)[ ]^-{g^2} \ar@(l,u)[ ]^-{g} \ar@(ur,dr)[ ]^-{1_G} }\end{equation*}ただし、g^2=g\circ gg\circ g^2=1_Gとします。なんか、圏の話をしているのに位数3の群に見えませんか?

逆に、群Gが与えられたとき、\mathscr{A}

  • \operatorname{ob}(\mathscr{A})=\{G\}
  • \mathscr{A}(G, G)=\{g\mid g\in G\}
  • 射の合成は群の演算,
  • 恒等射1_GG単位元

からなるものとします。Gは群なので結合法則も単位法則も成り立ち、\mathscr{A}は圏になります。つまり、群は対象がただ一つからなり、すべての射が同型射であるような圏と本質的に同じなんです!これは私が圏論をやってて最初に面白いと思った所です。

関手とは

圏という“数学的対象”が得られました。今度は“圏の構造を保つ射”というなかなかにメタいことを考えます。いわば「圏の準同型」です。

定義(関手)
\mathscr{A}, \mathscr{B}を圏とする.関手(functor)F:\mathscr{A}\to\mathscr{B}とは

  • 関数

\begin{equation*}
\xymatrix@C=20pt@R=2.8pt{
\operatorname{ob}(\mathscr{A}) \ar[r] & \operatorname{ob}(\mathscr{B})\\
A \ar@{(-}[u] \ar@{|->}[r] & F(A) \ar@{(-}[u]
}\end{equation*}

  • A, A'\in\operatorname{ob}(\mathscr{A})について, 関数

\begin{equation*}
\xymatrix@C=20pt@R=2.8pt{
\mathscr{A}(A, A') \ar[r] & \mathscr{B}(F(A), F(A') ) \\
f \ar@{(-}[u] \ar@{|->}[r] & F(f) \ar@{(-}[u]
}
\end{equation*}からなり, 次の条件をみたすものをいう :

  • A\overset{f}{\longrightarrow}A'\overset{g}{\longrightarrow}A'' \;\text{in}\;\mathscr{A}について, F(g\circ f)=F(g)\circ F(f).
  • A\in\operatorname{ob}(\mathscr{A})について, F(1_A)=1_{F(A)}.

図式で表すとこんな感じです。

\begin{equation*}
\boxed{\mathscr{A}\\
\xymatrix{
A \ar[r]^{f} \ar[rd]_{g\circ f} & A' \ar[d]^{g}\\
& A''
}}
\;\overset{F}{\longrightarrow}\;
\boxed{\mathscr{B}\\
\xymatrix{
F(A) \ar[r]^{F(f)} \ar[rd]_{F(g\circ f)} & F(A') \ar[d]^{F(g)}\\
& F(A'')
}}\end{equation*}

感覚的な説明をすると、関手というのは、圏\mathscr{A}における射の構造は写った先の圏\mathscr{B}でも同じような構造を保つものと言えます。



(数学的構造をもつ集合の圏の間の関手)
一番簡単な例は忘却関手(forgetful functor)です。

  • k上の線形空間Vに対して,U(V)Vの台集合(演算を忘れる)
  • 線形写像f:V\to Wに対してU(f):U(V)\to U(W)を単なる写像(線形であることを忘れる)

と定義すれば、関手U:\textbf{Vect}_k\to\textbf{Set}が簡単に得られます。


次に簡単な例は自由関手(free functor)F:\textbf{Set}\to\textbf{Vect}_kです。詳しいことは省略しますが、

  • 集合Sに対して,S の各元が基底となるような自由線形空間F(S)
  • 写像f:S\to Tに対して\begin{equation*}\xymatrix@C=20pt@R=2.8pt{F(S) \ar[r]^-{F(f)} & F(T)\\ \displaystyle\sum_{s\in S}\lambda_s s \ar@{(-}[u] \ar@{|->}[r]<4pt> & \displaystyle\sum_{s\in S}\lambda_s f(s) \ar@{(-}[u]}\end{equation*}

と定義すればF(f)は線形写像であり,Fは関手であるための条件をみたします。


他にも数学の各分野で

  • 集合から自由群: \textbf{Set}\to\textbf{Grp}
  • 集合から離散位相・密着位相: \textbf{Set}\to\textbf{Top}
  • 群から剰余群: \textbf{Grp}\to\textbf{Grp}
  • 基点つき位相空間から基本群: \textbf{Top}_*\to\textbf{Grp}

などを構成しますが、そういうのはだいたい関手です*1圏論の楽しいところの一つとして、数学の各分野の概念を圏論の言葉に翻訳できるときがあるというのが挙げられますね。

自然変換

ある意味で関手を対象とみなし、“関手と関手の間の射”を考えることもできます。

定義(自然変換)
\xymatrix{\mathscr{A} \ar@<0.5ex>[r]^{F}\ar@<-0.5ex>[r]_{G} & \mathscr{B} }を圏と関手とする. FからGへの自然変換(natural transformation) \alpha: F\Rightarrow G*2とは, \mathscr{B}の射の族\left(F(A)\overset{\alpha_A}{\longrightarrow}G(A)\right)_{A\in\mathscr{A}}であって, 任意の\mathscr{A}の射A\overset{f}{\longrightarrow}A'に対して次の\mathscr{B}における図式\begin{equation*}\xymatrix{
F(A) \ar[r]^{F(f)} \ar[d]_{\alpha_{A}} & F(A') \ar[d]^{\alpha_{A'}}\\
G(A) \ar[r]_{G(f)} & G(A')\ar@{}[lu]|{\circlearrowright}
}\end{equation*}を可換にする(すなわち, G(f)\circ\alpha_A=\alpha_{A'}\circ F(f)ものをいう.

また, \alphaFからGへの自然変換であることを
\begin{equation*}
\xymatrix{
\mathscr{A} \ar@/^8pt/[r]^{F} \ar@/_8pt/[r]_G & \mathscr{B}\ar@{}[l]|{\Downarrow\alpha}
}
\end{equation*}のように表す.


2つの関手 F,\; G:\mathscr{A}\longrightarrow\mathscr{B} があれば,\mathscr{A}の射A\overset{f}{\longrightarrow}A'から2つの\mathscr{B}の射\begin{equation*}F(A)\overset{F(f)}{\longrightarrow}F(A'),\quad G(A)\overset{G(f)}{\longrightarrow}G(A')\end{equation*}が作れます。この2つの射を可換図式のように整合的に繋いでくれる\mathscr{B}の射の族\left(F(A)\overset{\alpha_A}{\longrightarrow}G(A)\right)_{A\in\mathscr{A}}というのは、F によって写される射F(A)\overset{F(f)}{\longrightarrow}F(A')G によって写される射G(A)\overset{G(f)}{\longrightarrow}G(A')に変換してくれるものと考えることができます。



自然変換の例で印象的だったのは、行列式は自然変換とみなせる話ですかね。\textbf{CRing}可換環がなす圏で,\textbf{Mon}はモノイドがなす圏とします。
まず、関手 M_n:\textbf{CRing}\to\textbf{Mon}を以下で定義します :

  • 可換環Rに対しM_n(R)Rの元を成分にしたn\times nの正方行列
  • 準同型写像R\overset{f}{\longrightarrow}Sに対して\begin{equation*}\xymatrix@C=20pt@R=2.8pt{M_n(R) \ar[r]^-{M_n(f)} & M_n(S)\\ (x_{ij})_{1\le i,j\le n} \ar@{(-}[u] \ar@{|->}[r] & (f(x_{ij}))_{1\le i,j\le n} \ar@{(-}[u]}\end{equation*}と定める(もちろんM_n(f) はモノイド準同型!)

一方、U:\textbf{CRing}\to\textbf{Mon}は忘却関手とします。つまり、環R を乗法を演算にもつモノイドとみなし、これをU(R) とおきます。

このとき、任意のR\in\textbf{CRing}に対して行列式を対応させる写像\begin{equation*}\xymatrix@C=20pt@R=2.8pt{M_n(R) \ar[r]^-{\det_R} & U(R)\\ X \ar@{(-}[u] \ar@{|->}[r] & \det_R(X) \ar@{(-}[u]}\end{equation*}が定義できますが、線形代数R=\mathbb{R}, \mathbb{C}の場合で)習ったように\det_R(XY)=\det_R(X)\det_R(Y)\det_R(I)=1_Rが成り立ちます。これは\det_Rがモノイド準同型であることを言っているので,\det:=\left(M_n(R)\overset{\det_R}{\longrightarrow}U(R)\right)_{R\in\textbf{CRing}}\textbf{Mon}の射の族になります。さらに任意の\textbf{CRing}の射R\overset{f}{\longrightarrow}S に対して
\begin{equation*}\xymatrix{
M_n(R) \ar[r]^{M_n(f)} \ar[d]_{\det_{R}} & M_n(S) \ar[d]^{\det_{S}}\\
U(R) \ar[r]_{U(f)} & U(S)
}\end{equation*}を可換にします。ベーシック圏論にはこれを「確認すること!」と書いてあったのでゆる圏↻ でも確認しましたが、任意のX=(x_{ij})\in M_n(R)に対して,行列式の定義

\det_R(X)=\displaystyle\sum_{\sigma\in\mathfrak{S}_n}\operatorname{sgn}(\sigma)x_{1\sigma(1)}x_{2\sigma(2)}\cdots x_{n\sigma(n)}

を思い出せば簡単に示せます(より詳しい記述は皆さまに任せます!)。

以上より,自然変換\begin{equation*}
\xymatrix@=30pt{
\textbf{CRing} \ar@/^12pt/[r]^-{M_n} \ar@/_12pt/[r]_-U & \textbf{Mon}\ar@{}[l]|(0.42){\Downarrow \det}
}
\end{equation*}が得られました。

今は圏論関手の日?

気合入れて書いてたら圏論関手の日が終わってしまいました(!!)でも、20分程度の遅れは本質的には23日であるから、ブログの魔改造により11月23日に投稿したことにしました(^^;)。次回は随伴について書こうと思います。


thank Q for rEaDing.φ(・▽・ )

*1:群の中心を対応させるものG\mapsto Z(G)は関手になりません。

*2:『ベーシック圏論』では「\alpha: F\to G」と書いていましたが、記号を統一するために「\Rightarrow」を用いました。