ここ何日か二重圏の話題が続いてますが、二重圏以外でも次元が高め(つっても、2次元か3次元)の圏をいじったりしています。「二重圏の簡単な例:非負行列の順序構造」では行列を使って二重圏の実例を構成しましたが、今日は行列の概念を少し拡張する話をします。行列の係数(成分)を圏の射とするのです。
圏係数の行列の圏は、それ自体としても興味深いですが、いろいろな用途のために特殊化したり一般化したりする足場になります。具体的な計算をしたいときの計算の道具にもなります。
ラベル付き集合
IとLが集合のとき、写像 a:I→L をI上のラベリングと呼び、組 (I, a) をラベル付き集合と呼ぶことにしましょう。ラベル付き集合 (I, a) もラベリングaも同じ事で、定義からは単に写像に過ぎません。あえて、「ラベル付き集合」と呼ぶのは、まー気分の問題です。
ラベルの集合Lを強調するときは、L-ラベル付き集合といいます。ラベル付き集合 (I, a) を単にaとも書いて、[a] = I と約束します。ラベリングを集合I上の構造と考えて、[a] = I は、ラベル付き集合の台集合(underlying set)とみなします。
総和可能な圏
圏Cは、可換モノイドによって豊饒化されているとします。つまり、ホムセットC(A, B)が可換モノイドの構造を持つとします。モノイド演算は足し算の形で書いて、中立元(単位元)に相当する射はゼロ射と呼ぶことにします。ゼロ射は、ホムセットごとに1つずつあります。
Mを可換モノイド、Iが集合として、x:I→M があるとき、xを“Iで添字付けられたMの要素族”と考えます。要素族のIに渡る総和を Σ(i∈I | xi) と書きます。総和は、公理的に定義できるのですが、正確な定義は割愛して「全部足し合わせる」という直感に頼ることにします。任意のI、Mに関して要素族の総和が常に存在するわけではありません。集合の基数κを取ったとき、次のような条件を考えることができます。
- (Iの基数)<κなら、Σ(i∈I | xi) が存在する。
- (Iの基数)≦κなら、Σ(i∈I | xi) が存在する。
このような条件をみたすとき、可換モノイドMは κ未満で総和可能、κ以下で総和可能といいます。ここでは、基数やその不等号を表に出さないで、次の条件を考えます; Xは集合の集まり(類)だとします。集合圏をSetとするなら、X⊆|Set| ですね。このXに対して、
- I∈X ならば、Σ(i∈I | xi) が存在する。
集合の類Xに対して、この条件を満たす可換モノイドMを、X-総和可能と呼び、圏CのすべてのホムセットはX-総和可能な可換モノイドであると仮定します。
圏係数の行列
Xは集合の類とします。Cは、X-総和可能な可換モノイドで豊饒化された圏とします。この状況で、C係数の行列と行列の積を定義できます。
まず、I∈Xとラベリング a:I→|C| によるラベル付き集合 (I, a) を考えます。このようなラベル付き集合の全体を Labeled(X, |C|) と書きます。以下、Labeled(X, |C|)に属するラベル付き集合を単に a, b などと書きます。
a, b∈Labeled(X, |C|) として、“a列b行”の行列 f とは、写像 f:[a]×[b]→Mor(C) です。ただし、次の条件を課します。
- (i, j)∈[a]×[b] に対して、dom(f(i,j)) = a(i) かつ cod(f(i, j)) = b(j)
以上のようにして定義される“a列b行”の行列の全体を Mat[X]C(a, b) とします。集合の類Xは暗黙に決まっているとして、MatC(a, b) とも書きます。
f∈MatC(a, b)、g∈MatC(b, c) に対して、それらの結合 f;g を定義しましょう。[a] = I, [b] = J, [c] = K として、
- (f;g)(i, k) := Σ(j∈J | f(i, j);g(j, k))
f(i, j);g(j, k) でjを動かすと、ホムセット C(a(i), b(k)) のなかの“Jで添字付けられた射の族”となります。仮定より、集合Jに関する総和は存在するので、Σ(j∈J | f(i, j);g(j, k)) はwell-definedです。これによって行列の積が定義できます。
圏係数の行列の圏
圏係数行列では、係数(成分)の積が可換とは限らず、総和が無限和かもしれないのですが、計算方法は普通の行列と同じです。行列に関する多くの計算法則もそのまま成立します。例えば、結合律 (f;g);h = f;(g;h) が成立します。
a∈Labeled(X, |C|) として、単位行列 Ia を次のように定義します。
- i∈[a] に対して、I(i, i) = ida(i)
- i, j∈[a] 、i≠j に対して、I(i, j) = 0。ここで0は、a(i)→a(j) のゼロ射。
行列 f∈MatC(a, b) に対して、Ia;f = f;Ib = f も簡単に示せます。
以上のことから、集合の類Xと圏Cに対して行列の圏 Mat[X]C が定義できます。記号の簡略化のためにこの圏をMとすると:
- |M| := Labeled(X, |C|)
- a, b∈|M| に対して、ホムセットは M(a, b) := Mat[X]C(a, b)
- 射の結合は行列の積
- 恒等射は単位行列
今日定義したMat[X]Cは単なる圏ですが、XやCに条件をつけることにより、モノイド圏や半環圏やトレース付き圏にすることが出来ます。また、ホムセットの足し算を他の構造から導き出すこともあります。
行列計算はなかなか楽しいですね。