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

ご連絡は上記 X アカウントに DM にてお願いします。

参照用 記事

線形代数の二重圏 Double Linear Algebra

二重圏の例が何かないかなー、と探していて、線形代数からの事例を思いつきました。この二重圏は、線形代数として面白いかは疑問(特に新しいことが出てこない)ですが、二重圏の例としては面白いです。二重圏を使った線形代数の定式化なので、$`\mathbf{DLA}`$〈Double Linear Algebra〉と呼びましょう。

$`\mathbf{DLA}`$ は、二重圏の一般的概念を事例で確認するときに使えます。また、“関手達とプロ関手達から形成される二重圏”のようなより複雑な二重圏に対する良い足慣らしになります。$`\newcommand{\cat}[1]{ \mathcal{#1} }
\newcommand{\mbf}[1]{ \mathbf{#1} }
\newcommand{\mrm}[1]{ \mathrm{#1} }
%\newcommand{\mfk}[1]{\mathfrak{#1}}
%\newcommand{\msc}[1]{\mathscr{#1}}
%\newcommand{\mbb}[1]{\mathbb{#1}}
\newcommand{\u}[1]{ \underline{#1} }
\newcommand{\id}{ \mathrm{id}}
\newcommand{\Id}{ \mathrm{Id}}
%\newcommand{\op}{ \mathrm{op}}
\newcommand{\In}{ \text{ in }}
\newcommand{\hyp}{\text{-} }
%\newcommand{\Iff}{ \Leftrightarrow }
\newcommand{\Imp}{ \Rightarrow }
\newcommand{\twoto} {\Rightarrow }
\newcommand{\pto} {\not\to }
\newcommand{\pcomp} {\mathop{\diamond} }
\newcommand{\o}[1]{ \overline{#1} }
\newcommand{\wt}[1]{ \widetilde{#1} }
\newcommand{\whitestar}{\unicode{x2606} }
`$

内容:

はじめに

線形代数を二重圏を使ってやることに特に必然性はありません。二重圏を使って出来ることは、二重圏を使わなくても出来ます。では何故二重圏を使うか? というと、「二重圏を使いたいから使う」が理由です。二重圏という比較的エキゾチックな構造の事例を、線形代数という比較的ファミリアーな概念を使って作りたい、ということです。

二重圏を使っても新しいことは出てきませんが、線形代数に対する別な視点は提供できるでしょう。線形代数の観点からも、まったく無意味というわけでもないと思いますよ。

線形代数からの準備

ベクトル空間の係数体〈スカラー体〉は実数体に固定します。なので、実数係数ベクトル空間達の圏 $`\mbf{Vect}_{\mbf{R}}`$ の下付きの $`\mbf{R}`$ は省略します。実数係数有限次元ベクトル空間達の圏は $`\mbf{FdVect}`$ と書きます。この記事で「ベクトル空間」と言ったら、それは $`\mbf{FdVect}`$ の対象、すわわち実数係数有限次元ベクトル空間のことです。

圏 $`\mbf{FdVect}`$ は、ベクトル空間のテンソル積によりモノイド圏になります。このモノイド圏を、記号の乱用(名前のオーバーロード)で次のように書きます。

$`\quad \mbf{FdVect} = (\mbf{FdVect}, \otimes, \mbf{R})`$

“$`\mbf{R}`$ 上のベクトル空間としての $`\mbf{R}`$”がモノイド単位です。

$`\mbf{MultiLin}`$ は、複線形写像を射〈複射〉とする複圏〈色付きオペラッド〉です。これは圏ではありませんが、双線形写像の居場所を提供するだけなので、複圏を知らなくても気にしなくていいです。$`B`$ が有限次元ベクトル空間のあいだの双線形写像であることを以下のように書きます。

$`\quad B: (V, W) \to X \In \mbf{FdMultiLin}`$

双線形写像とテンソル積空間の関係から、次の(集合のあいだの)同型が成立します。

$`\quad \mbf{FdMultiLin}( (V, W), X) \cong \mbf{FdVect}( V\otimes W, X) \In \mbf{Set}`$

習慣により、双線形写像は次のようにも書きます。

$`\quad B: V\times W \to X \In \mbf{FdMultiLin}`$

内積{ベクトル}?空間〈inner product {vector}? space〉は、ベクトル空間に内積が付随したものです。次のように書きます。

$`\quad V = (\u{V}, I_V)\\
\text{where }\\
\quad \u{V}\in |\mbf{FdVect}|\\
\quad I_V : \u{V}\times \u{V} \to \mbf{R} \In \mbf{FdMultiLin}
`$

余域〈codomain〉が $`\mbf{R}`$ である線形写像/複線形写像を形式〈form〉と呼びます。内積 $`I_V`$ は双線形形式です。双線形形式 $`I_V`$ が内積である条件〈公理 | 法則〉は次です。

  • 対称 : $`\forall v, w\in \u{\u{V}}.\, I_V(v, w) = I_V(w, v)`$
  • 正定値 : $`\forall v \in \u{\u{V}}.\, I_V(v, v) \ge 0`$
  • 非退化 : $`\forall v \in \u{\u{V}}.\, I_V(v, v) = 0 \Imp v = 0`$

$`\u{\u{V}}`$ は、内積空間 $`V`$ の台ベクトル空間 $`\u{V}`$ の台集合の意味です。が、そこまで神経質にならずに、適当に記号の乱用を使ってもかまいません。

「正定値」は、ほんとは「非負値」ですが、まー習慣だから。

$`V`$ が内積空間のとき、双対空間への(線形な)同型写像が誘導されます。

$`\quad J_V : \u{V} \to {\u{V}}^* \text{ isomorphism }\In \mbf{FdVect}`$

ここで、$`{\u{V}}^*`$ は標準双対空間なので、次のように定義されます。

$`\quad {\u{V}}^* := \mrm{LinMap}(\u{V}, \mbf{R}) = \mbf{FdVect}(\u{V}, \mbf{R})`$

$`J_V`$ の定義は以下のようです。'$`\lambda`$' はラムダ計算のラムダ記号です。

$`\text{For } a\in \u{\u{V}} \\
\quad J_V(a) := \lambda\, v\in \u{\u{V}}.\, I_V(a, v)
`$

$`J_V(a)`$ が $`V`$ 上の線形形式、つまり双対空間のベクトルになるのは明らかでしょう。$`J_V`$ が同型になることも、内積の条件〈公理〉から出ます。ここらへんのことは、以下の過去記事、特に内積ペアに関する説明を参照してください。

双対空間の簡略化

前節では、内積空間 $`V`$ 、台ベクトル空間 $`\u{V}`$ 、台集合 $`\u{\u{V}}`$ を区別しましたが、以下では適当に(=常識程度に)オーバーロードします -- オーバーロード解決/省略補完を適宜おこなってください。

定義によれば、$`V, V^*, V^{**}, V^{***}, \cdots`$ などはすべて別なベクトル空間です。しかし扱いにくいので、$`V`$ と二重双対空間 $`V^{**}`$ は同一視して同じとみなしましょう*1。つまり、次の等式を仮定します。

$`\quad V^{**} = V \;\In \mbf{FdVect}`$

一般に、$`v\in V`$ に対して、$`\hat{v}\in V^{**}`$ を次のように定義できます。

$`\text{For }f\in V^*\\
\quad \hat{v}(f) := f(x)
`$

先のベクトル空間のあいだの等式は $`\hat{v} = v`$ とみなすことです。

また、$`\mbf{R}^* = \mbf{R}`$ とも仮定します。$`\mbf{R}^*`$ の要素は、$`\mbf{R}\to \mbf{R}`$ という線形写像ですが、これは正比例関数なので、その比例定数と同一視します。

$`V`$ と $`V^{**}`$ は規準的〈canonical〉に同一視できますが、$`V`$ と $`V^*`$ を同一視する規準的な手段はありません(同型ではありますが)。内積に伴う $`J_V : V \to V^*`$ は(内積を前提にして)規準的な同型です。$`V^{**} = V`$ のもとでは次が成立します。

$`\quad J_{V^*} = {J_V}^{-1} \;: V^* \to V \In \mbf{FdVect}`$

内積空間 $`V`$ の台ベクトル空間 $`\u{V}`$ とその双対空間 $`{\u{V}}^*`$ のあいだには、$`J_V, J_{V^*}`$ による規準的同型があります。

内積空間と線形写像の圏

$`\mbf{FdIVect}`$ を、内積空間を対象として線形写像を射とする圏とします。注意すべきは、対象が内積空間でも、射は内積を考慮しない単なる線形写像であることです。等長写像(内積を保存する)とかの条件は付けません

圏 $`\mbf{FdIVect}`$ にもテンソル積と双対を入れます。内積を考えない圏 $`\mbf{FdVect}`$ には前もってテンソル積も双対もあると仮定してますが、内積を込めたテンソル積・双対はまだ未定義です。以下、$`V = (\u{V}, I_V)`$ のように、記号の乱用をせずに書いて議論します(そうでないと不明瞭になるので)。

$`V, W`$ を2つの内積空間として、これらのテンソル積 $`X = V \boxtimes W`$ を定義します。'$`\boxtimes`$' は、これから定義する新しいテンソル積です。台ベクトル空間に関しては:

$`\quad \u{X} := \u{V}\otimes\u{W}`$

つまり、台ベクトル空間達の普通のテンソル積として定義します。

$`X = V\boxtimes W`$ の内積 $`I_X`$ は次の形です。

$`\quad I_X : (\u{V}\otimes \u{W})\times (\u{V}\otimes \u{W}) \to \mbf{R} \In \mbf{FdMultiLin}`$

ベクトル空間 $`\u{V}\otimes \u{W}`$ は、$`v\otimes w`$ の形の要素(テンソル積空間のベクトル)で生成されるので、この形の要素に対して $`I_X`$ の値を定義すれば十分です。

$`\text{For }v, v'\in \u{\u{V}}, w, w'\in \u{\u{W}}\\
\quad I_X ( v\otimes w , v' \otimes w') := I_V(v, v')I_W(w, w')
`$

上記定義を双線形に全域に拡張すれば、双線形写像が得られます。それが内積の条件を満たすことは確認が必要です。練習問題ですね。

上のようにして定義した $`I_X`$ が $`I_{V\boxtimes W}`$ です。まとめると:

$`\quad V\boxtimes W := (\u{V}\otimes \u{W}, I_{V\boxtimes W})`$

次に、内積空間 $`V`$ の双対空間 $`V^\whitestar`$ を定義します。'$`{^\whitestar}`$' は、これから定義する新しい双対です。台ベクトル空間に関しては:

$`\quad \u{V^\whitestar} := \u{V}^*`$

新しい双対の台ベクトル空間は、台ベクトル空間の普通の双対空間として定義します。

$`V^\whitestar`$ の内積 $`I_{V^\whitestar}`$ は次の形です。

$`\quad I_{V^\whitestar} : \u{V}^*\times \u{V}^* \to \mbf{R}\In \mbf{FdMultiLin}`$

$`I_{V^\whitestar}`$ の定義は以下のとおりです。

$`\text{For }v, w\in \u{ {\u{V}}^* }\\
\quad I_{V^\whitestar} ( v, w) := I_V( J_{V^*}(v), J_{V^*}(w))
`$

まとめると:

$`\quad V^\whitestar := (\u{V}^*, I_{V^\whitestar})`$

以上で、$`\mbf{FdIVect}`$ の対象達にもテンソル積と双対が定義できました。

$`\quad (\hyp\boxtimes\hyp) : |\mbf{FdIVect}| \times |\mbf{FdIVect}| \to |\mbf{FdIVect}| \In \mbf{SET}\\
\quad (\hyp)^\whitestar : |\mbf{FdIVect}| \to |\mbf{FdIVect}| \In \mbf{SET}
`$

射に対するテンソル積は、台ベクトル空間のあいだの射のテンソル積がそのまま使えるので、新たに定義する必要はありません。射に対する双対は、この時点では定義しません

最終的に(記述を割愛した事項がありますが)、圏 $`\mbf{FdIVect}`$ は次のような圏になります。

  • 対象に対するモノイド積 $`\boxtimes`$ と射に対するモノイド積 $`\otimes`$ により(内積空間としての $`\mbf{R}`$ を単位対象とする)モノイド圏である。
  • 対象に対して、厳密対合的な双対 $`\hyp^\whitestar`$ が定義されている。
  • 対象 $`V`$ とその双対 $`V^\whitestar`$ のあいだに内積も込めた同型(等長線形写像) $`J_V`$ が割り当てられている。

議論を明瞭にするために、新しい記号 '$`\boxtimes`$', '$`{^\whitestar}`$' を使いましたが、ここから先では、'$`\otimes`$', '$`{^*}`$' をオーバーロードして使います。

二重線形代数の二重圏

このブログ内で、二重圏に関してはけっこう言及しています。

古い記事ですが、入口として良さそうな記事を挙げると:

“圏達の圏のなかの圏対象〈内部圏〉”としての二重圏の定義は:

二重圏の具体例は:

二重圏の定義は前提として、線形代数をするための二重圏 $`\mbf{DLA}`$〈double linear algebra | 二重線形代数〉を定義します。「二重圏、縦横をもう一度」で導入した用語「タイト射」「プロ射」を使い、「縦横」は避けます。$`\mbf{DLA}`$ のタイト射を線形射〈linear morphism〉、プロ射を線形プロ射〈linear promorphism〉と呼びます。

$`\mbf{DLA}`$ の対象は内積空間(ちゃんと言うと、実数係数有限次元内積ベクトル空間)です。タイト射=線形射 は線形写像です。したがって、対象とタイト射だけを取り出すと $`\mbf{FdIVect}`$ と同じ圏です。二重圏 $`\mbf{DLA}`$ の一部として、$`\mbf{FdIVect}`$ がスッポリ入り込んでいると思っていいです。$`\mbf{DLA}`$ の線形射は次のように書きます。

$`\quad F: V \to W \In \mbf{DLA}`$

$`\mbf{DLA}`$ のプロ射=線形プロ射 は(定義はすぐ後)は次のように書きます。

$`\quad A: V \pto W \In \mbf{DLA}`$

一般に、プロ射の矢印になにか印をつける習慣です。'$`\not\to`$' のスラッシュには否定の意味がありますが、ここでは単に印としてのスラッシュです。

線形プロ射($`\mbf{DLA}`$ のプロ射)とは、双線形形式のことです。複線形写像の複圏のなかで見れば以下の形です。

$`\quad A: {\u{V}}^* \times \u{W} \to \mbf{R} \In \mbf{FdMultiLin}`$

$`\mbf{DLA}`$ の対象は内積空間なので、$`V, W`$ は内積空間です。$`\u{V}, \u{W}`$ は内積を落とした単なるベクトル空間です。が、記号の乱用を使えば、$`{\u{V}}^* \times \u{W} = V^*\times W`$ でもかまいません。

さてここで、記述を簡潔にするために、いくつかの記法を導入します(この記事内ではたいして使わない記法もありますが)。

  1. 内積 $`I_V(v, w)`$ を $`(v\mid w)_V`$ とも書く。内積空間 $`V`$ が明らかなら $`(v \mid w)`$ と省略してよい。
  2. 内積に伴う線型同型 $`J_V`$ を単項演算子記号としての上線〈オーバーライン〉$`\o{(\hyp)}`$ で書いてよい。$`\o{v} = J_V(v)`$ 。
  3. $`{J_V}^{-1} = J_{V^*}`$ も同じく上線〈オーバーライン〉を使う。
  4. $`f\in V^*\;\text{ i.e. }f:V \to \mbf{R}`$ と $`v\in V`$ に対して、$`f(v)`$ を $`\langle f\mid v\rangle_V`$ とも書く。内積空間/ベクトル空間 $`V`$ が明らかなら $`\langle f \mid v\rangle`$ と省略してよい。
  5. 線形写像 $`F:V\to W`$ に対して、$`F ;J_W`$ ('$`;`$' は図式順結合記号)を $`\o{F}`$ と略記する。$`\o{F}(v) = \o{F(v)}`$ 。
  6. 線形写像 $`F:V\to W`$ に対して、$`{J_V}^{-1} ; F ;J_W`$ を $`\wt{F}`$ と略記する。$`\wt{F}(f) = \o{F}(\o{f}) = \o{F(\o{f})}`$ 。
  7. 双線形形式 $`A`$ には2つの引数があるので、$`A = A(\hyp, \hyp)`$ とも書く。

双線形形式 $`\langle \hyp \mid \hyp\rangle_V`$ は、$`V`$ の内積を使わずに定義できます。この特別な双線形形式を $`V(\hyp, \hyp)`$ と書きます。単に $`V`$ だと内積空間そのものと区別が付かないので $`V(\hyp, \hyp)`$ と書きます。

$`\quad V(\hyp, \hyp) : V \pto V \In \mbf{DLA}`$

$`V(\hyp, \hyp)`$ は、プロ方向の恒等射〈恒等プロ射〉になります(後述)。

線形プロ射〈双線形形式〉$`A`$ と線形射〈線形写像〉$`F, G`$ に対して、$`A(\wt{F},G)`$ という書き方も使います。

$`\text{For }A : V \pto W \In \mbf{DLA}\\
\text{For }F : X \to V, G: Y \to W \In \mbf{DLA}\\
\quad A(\wt{F}, G) := \lambda\, (x, y).\, A(\wt{F}(x), G(y))
`$

$`A(\wt{F}, \id_W)`$ を $`A(\wt{F}, \id)`$ と略記します。さらに略記して、$`A(\wt{F}, 1)`$ とも書きます。$`A(\id, G)`$ 、$`A(1, G)`$ も同様です。

二重圏 $`\mbf{DLA}`$ の二重射〈2-射 | 2-セル〉をペースティング図で図示すると次のようです。

$`\quad \xymatrix{
V \ar[r]|{/}^{A} \ar[d]_F
\ar@{}[dr]|{\alpha}
& W \ar[d]^G
\\
X \ar[r]|{/}_{B}
& Y
}\\
\quad \In \mbf{DLA}`$

$`\mbf{DLA}`$ の二重射〈double morphism〉 $`\alpha`$ とは次の等式のことです。

$`\quad \alpha :: A(\hyp, \hyp) = B(\wt{F}, G)`$

詳しく書けば:

$`\quad \alpha :: \forall f\in V^*, w\in W.\, A(f, w) = B(\o{F}(\o{f}), w)`$

線形プロ射〈双線形形式〉のプロ方向の結合〈プロ結合〉と、二重射のタイト方向/プロ方向の結合については次節と次々節で述べます。

線形プロ射のプロ結合

$`V, W`$ を二重圏 $`\mbf{DLA}`$ の対象(つまり内積空間)とします。$`V`$ から $`W`$ へのすべての線形射の集合を $`[V \to W]_\mbf{DLA}`$ 、$`V`$ から $`W`$ へのすべての線形プロ射の集合を $`[V \pto W]_\mbf{DLA}`$ と書くことにします。すると:

$`\quad [V \to W]_\mbf{DLA} = \mbf{FdIVect}(V, W) = \mbf{FdVect}(V, W)\\
\quad [V \pto W]_\mbf{DLA} = \mbf{FdMultiLin}( (V^*, W), \mbf{R})
`$

ちなみに、上の $`\mbf{FdIVect}(V, W) = \mbf{FdVect}(V, W)`$ は、ほんとはおかしいですが、記号の乱用/オーバーロード/コアージョン(「曖昧性を減らす: Diag構成を事例として // 具体例、記号の乱用、コアージョン」参照)を使ってイイカゲンに書いています。

さて、ここでネタばらししてしまうと、実は $`[V \pto W]_\mbf{DLA} \cong [V \to W]_\mbf{DLA}`$ です。しかも、この同型は規準的に与えられます。次のような同型(と等値)の連鎖をたどれます。

$`\quad [V \pto W]_\mbf{DLA} \\
= \mbf{FdMultiLin}( (V^*, W), \mbf{R}) \\
\cong \mbf{FdMultiLin}( (V^*\otimes W), \mbf{R}) \\
= \mbf{FdVect}( V^*\otimes W, \mbf{R}) \\
= (V^*\otimes W)^* \\
\cong V^*\otimes W \\
\cong \mbf{FdVect}(V, W)\\
= \mbf{FdIVect}(V, W)\\
= [V \to W]_\mbf{DLA}
`$

$`V,W`$ が単なるベクトル空間であれば、$`(V^*\otimes W)^* \cong V^*\otimes W `$ の同型が規準的に取れません(恣意的に選ばざるを得ないです)が、$`V,W`$ は内積空間なので、$`V^*\otimes W`$ も内積空間となり、双対空間との同型は規準的に選べます。他の同型は規準的なので、$`[V \pto W]_\mbf{DLA} \cong [V \to W]_\mbf{DLA}`$ は規準的な同型です。

結局、線形プロ射は、線形射〈線形写像〉の別表現に過ぎないことになります。線形プロ射には、対応する線形射が一意に決まります(逆もしかり)。この事実を使うと、線形プロ射のプロ結合は、対応する線形射の結合(線形写像の通常の結合)から誘導することができます。

しかし、線形プロ射と線形射の対応を使わずに、直接的にプロ結合を定義することもできます。このプロ結合は、プロ関手のプロ結合を彷彿とさせるものです。以下に述べます。

$`A,B`$ を $`\mbf{DLA}`$ の2つの線形プロ射とします。

$`\quad A: V \pto W \In \mbf{DLA}\\
\quad B: W \pto X \In \mbf{DLA}
`$

これは、次を意味します。

$`\quad A: V^* \times W \to \mbf{R} \In \mbf{FdMultiLin}\\
\quad B: W^* \times X \to \mbf{R} \In \mbf{FdMultiLin}
`$

新しい双線形形式 $`C: V^* \times X\to\mbf{R}`$ を具体的に定義しましょう。

$`f\in V^*, x\in X`$ を取ります。次のような双線形形式が定義できます。

$`\quad P_{f, x} := \lambda\, (g, w)\in W^*\times W.\, A(f, w)B(g, x)`$

これは、次のような線形自己プロ射〈linear endopromorphism〉です。

$`\quad P_{f, x} : W \pto W \In \mbf{DLA}`$

任意の線形自己プロ射にはトレース〈trace〉を定義できます。ベクトル空間 $`W`$ に適当なフレーム〈順序付き基底〉を取ると、自己プロ射 $`W \pto W`$ は正方行列で表示できるので、その対角和がトレースです。トレースはフレームの取り方に寄らないことが示せます。トレースは次のような線形形式になるのです。

$`\quad \mrm{tr} : [W \pto W]_\mbf{DLA} \to \mbf{R} \In \mbf{FdVect}`$

規準的に $`[W \pto W]_\mbf{DLA}\cong \mbf{FdVect}(W, W)`$ だったので、線形変換〈線形自己写像〉のトレースから線形自己プロ射のトレースを定義しても同じことです。

懸案の $`C: V\pto X`$ は次のように定義します。

$`\text{For } f\in V^*, x\in X\\
\quad C(f, x) := \mrm{tr}(P_{f, x})
`$

線形自己プロ射 $`Q`$ のトレースを、形式的な総和 $`\sum^y Q(\o{y}, y)`$ で表すことにすると*2、$`C`$ は以下のように書けます。

$`\quad C(f, x) := \sum^w A(f, w)B(\o{w}, x)`$

この形は、行列の積に、そしてプロ関手のプロ結合のコエンド表示に似ています。

こうして定義した $`C`$ を $`A\pcomp B`$ と書きます。'$`\pcomp`$' は、プロ結合の図式順中置演算子記号です。

$`\mbf{DLA}`$ が二重圏になるには、プロ方向に圏となっている必要があります。つまり、次のような法則〈公理〉達の成立が要請されます。以下で、$`\Id`$ はプロ方向の恒等で $`\Id_V = V(\hyp, \hyp)`$ 。

  • $`A: V \pto W, B: W\pto X, C: X \pto Y`$ に対して
  • プロ方向の結合法則 : $`(A \pcomp B) \pcomp C = A \pcomp (B \pcomp C)`$
  • プロ方向の左単位法則 : $`\Id_V \pcomp A = A`$
  • プロ方向の右単位法則 : $`A \pcomp \Id_W = A`$

規準的同型 $`[V \pto W]_\mbf{DLA}\cong \mbf{FdIVect}(V, W)`$ を考慮すると、線形プロ射達は、$`\mbf{FdIVect}`$ と同型な圏となります。別な言い方をすると、$`\mbf{FdIVect}`$ の圏構造を、同型によりプロ方向に写し取れば、プロ方向の圏ができます。

とはいえ、線形プロ射は双線形形式として定義されているので、フレーム〈順序付き基底〉を取った成分〈座標〉計算で愚直に法則を示すのも良い練習問題です。露骨〈explicit〉な成分〈座標〉計算のほうが事情がハッキリすることもあるでしょう。

二重射とそのタイト結合/プロ結合

二重圏は、二重射の計算がうまく出来る計算系だとも言えます。$`\mbf{DLA}`$ の二重射は等式なので、$`\mbf{DLA}`$ は線形代数の(ある形の)等式を扱う計算系になります。境界となる四辺形(二本のタイト射と二本のプロ射)が与えられると、その境界を埋める二重射は高々ひとつなので、$`\mbf{DLA}`$ はやせた二重圏〈thin double category〉です。

二重圏の二重射は、タイト方向とプロ方向の結合を持ち、交替法則〈interchange law〉を満たす必要があります(「二重圏における交替律」参照)。

二重射について語るために次のようなペースティング図を考えましょう。

$`\quad \xymatrix{
\cdot \ar[r]|{/}^{A1} \ar[d]_{F1}
\ar@{}[dr]|{\alpha}
&\cdot \ar[r]|{/}^{B1} \ar[d]|{F2}
\ar@{}[dr]|{\gamma}
&\cdot \ar[d]^{F3}
\\
\cdot \ar[r]|{/A2} \ar[d]_{G1}
\ar@{}[dr]|{\beta}
&\cdot \ar[r]|{/B2} \ar[d]|{G2}
\ar@{}[dr]|{\delta}
&\cdot \ar[d]^{G3}
\\
\cdot \ar[r]|{/}_{A3}
&\cdot \ar[r]|{/}_{B3}
&\cdot
}\\
\quad \In \mbf{DLA}
`$

二重射はタイト方向(ペースティング図では縦方向)に結合できます。$`\alpha; \beta`$ なら次の形になります。

$`\quad \xymatrix@R+1.5pc{
\cdot \ar[r]|{/}^{A1} \ar[d]_{F1;G1}
\ar@{}[dr]|{\alpha; \beta}
&\cdot \ar[d]^{F2;G2}
\\
\cdot \ar[r]|{/}_{A3}
&\cdot
}\\
\quad \In \mbf{DLA}
`$

テキストで記述するなら:

  • $`\alpha :: A1 = A2(F1, F2)`$
  • $`\beta :: A2 = A3(G1, G2)`$
  • $`\alpha ; \beta :: A1 = A3(F1;G1, F2;G2)`$

また、二重射はプロ方向(ペースティング図では横方向)に結合できます。$`\alpha; \gamma`$ なら次の形になります。

$`\quad \xymatrix@C+1.5pc{
\cdot \ar[r]|{/}^{A1\pcomp B1} \ar[d]_{F1}
\ar@{}[dr]|{\alpha\pcomp \gamma}
&\cdot \ar[d]^{F3}
\\
\cdot \ar[r]|{/}_{A2\pcomp B2}
&\cdot
}\\
\quad \In \mbf{DLA}
`$

テキストで記述するなら:

  • $`\alpha :: A1 = A2(F1, F2)`$
  • $`\gamma :: B1 = B2(F2, F3)`$
  • $`\alpha \pcomp \gamma :: A1\pcomp B1 = (A2\pcomp A3)(F1, F3)`$

タイト射(線形射)$`F`$ 、プロ射(線形プロ射)$`A`$ 、対象(内積空間)$`V`$ に対して、それぞれ次のような恒等二重射があります。

$`\quad \xymatrix{
\cdot \ar@{=}[r]^{\Id} \ar[d]_{F}
\ar@{}[dr]|{=}
&\cdot \ar[d]^{F}
\\
\cdot \ar@{=}[r]_{\Id}
&\cdot
}\\
\quad \In \mbf{DLA}
`$

$`\quad \xymatrix{
\cdot \ar[r]|{/}^{A} \ar@{=}[d]_{\id}
\ar@{}[dr]|{||}
&\cdot \ar@{=}[d]^{\id}
\\
\cdot \ar[r]|{/}_{A}
&\cdot
}\\
\quad \In \mbf{DLA}
`$

$`\quad \xymatrix{
V \ar@{=}[r]^{\Id} \ar@{=}[d]_{\id}
\ar@{}[dr]|{\Box}
&V \ar@{=}[d]^{\id}
\\
V \ar@{=}[r]_{\Id}
&V
}\\
\quad \In \mbf{DLA}
`$

これらの各種結合、各種恒等射に対して、結合法則と単位法則があります。それとタイト方向の結合とプロ方向の結合の相互関係を記述する交替法則があります。それらの法則をテキストで記述するのはやめておきます。煩雑になるし、テキストで書かなくても容易に推測できるでしょう。

二重圏で(その他の高次圏でも)ウンザリすることは、図(ペースティング図またはストリング図)で表現されていることをテキスト記号列に翻訳することです。記法の約束を決めたり、約束によるエンコーディング/シリアライズでほんとに消耗します。出来るだけテキストを使わないことにすれば無駄に疲弊することは避けられます。しかし、描画のツール・環境が整っているわけでもないので、テキストを完全に避けることもできないというジレンマ。あー、しんどい。

記述と計算のための効果的なツールが不足しているという困難・障害はあるのですが、それでも二重圏による記述と計算は、ものごとを整理して統合してくれます。

そしてそれから

二重圏を使った線形代数の定式化として、二重圏 $`\mbf{DLA}`$ を定義しました。つうか、定義のアウトラインを示しただけですね -- 細部は抜けています。が、二重圏、そしてその具体例である $`\mbf{DLA}`$ がどんなものか? おおよそは伝わったと思います。

二重圏をセットアップしてしまえば、二重圏でよく使われる技法であるニッチ充填(「圏論におけるフレーム充填問題」参照)、それにより定義されるコンパニオンとコンジョイントなどの概念(「二重圏のコンパニオン/コンジョイントと米田の星」参照)を、線形代数に適用できます。

二重圏による線形代数の定式化によりハッキリ見えてくることもあります。例えば、線形代数において「双対」とか「随伴」とか呼ばれているものが、けっこうたくさんの種類あることが分かったりします。そういった線形代数としての話は次の機会に。

*1:これは、厳密とは限らない対合〈weak involution〉を持つ圏を変更して、厳密対合〈strict involution〉を作る話なので、実は簡単な話ではありません。

*2:この書き方は、コエンドに似せています。