読者です 読者をやめる 読者になる 読者になる

今度こそテンソル積とHom の随伴性を理解する

長らく続いたテンソルに関する記事も、今回が最後である。今日は最初に掲げた4つの疑問のうち最後の1つである随伴性について考察する。以下に疑問の内容を再掲する。

テンソル積の随伴性とは一体何なのか?

より正確には、テンソル積とHomの随伴性と呼ぶようである。随伴性というのは、より一般には圏論において議論されるような、数学においてあらゆるところに現れる概念のようだが、残念ながら圏論の勉強はまだこれからの予定なので、今日はテンソル積とHomについてだけ考える。

随伴性に関する定理の主張と意味

定理の主張

まずはテンソル積とHomの随伴性に関する定理の主張を示す。例によって文献[1]から引用する。

R, Tを環、Xを(T, R)-両側加群、Yを左R-加群、Zを左T-加群とすれば、次の加法群の同型が成り立つ:
\displaystyle{
\mathrm{Hom}_T (X \otimes_R Y, Z) \cong \mathrm{Hom}_R(Y, \mathrm{Hom}_T(X, Z))
}

準同型が成す加法群の構造

上記の定理を理解するためには、まずHomについて理解する必要がある。HomとはR-加群の準同型全体の集合を表す記号である。例えばR-加群X, Yについて、XからYへの準同型全体は \mathrm{Hom}_R(X, Y)と表される。ここで1つ重要なのは、Homが加法群になるということである。以下で簡単に確認してみる。

  1. 2つの写像 \phi, \psi \in \mathrm{Hom}_R(X, Y)と任意の x \in Xについて、 \phi + \psi : x \to \phi(x) + \psi(x)とすれば、 \phi + \psi \in \mathrm{Hom}_R(X, Y)となる。この演算について結合法則が成立することは明らかである。
  2. 写像 \phi \in \mathrm{Hom}_R(X, Y)について、その逆元を -\phi : X \ni x \to -\phi(x) \in Yと定められる。
  3. 全てのXの元をYの単位元に移すような写像、すなわち零写像単位元と定められる。

以上により、Homが加法群を成していることが分かった。

定理の意味

次に、随伴性に関する定理の意味を考えてみよう。定理は2つのHomの間の同型を述べるものであるが、このうち左辺の \mathrm{Hom}_T (X \otimes_R Y, Z)は、XとYのテンソル積からZへの準同型全体が成す加法群を表している。それに対して右辺の \mathrm{Hom}_R(Y, \mathrm{Hom}_T(X, Z))は、Yから"XからZへの準同型全体が成す加法群"への準同型全体が成す加法群を表しており、左辺に比べて少々複雑である。右辺のHomが述べているのは、Yの元が1つ決まると、XからZへの準同型が1つ決まるということである。

これら2つのHomが同型であるというのは、一体どういうことなのだろうか?文献[2]よると、これはカリー化と呼ばれる概念と関係があるようである。Wikipediaのカリー化に関する記事[4]の最初の一文を引用する。

カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。

随伴性の定理に当てはめて考えると、まず準同型 X \otimes_R Y \to Zを、XとYの2つの引数を持つ関数であると捉える。そして、その戻り値はZの元であると考える。これがWikipediaで述べられているところの「複数の引数をとる関数」に相当する。この関数を1変数関数に変換する操作がカリー化である。すなわち、元の関数からYだけを引数とする関数を生成するのである*1。そして、カリー化により生成された関数の戻り値は、XからZへの準同型となる。別の言い方をすれば、カリー化によって高階関数が得られたということになるだろう。

以上、2変数関数をカリー化によって1変数の高階関数に変換したわけだが、それによってその関数(準同型)が成す加法群の構造が変わることはないというのが随伴性に関する定理の主張であると考えられる。

証明の概略

後の議論のために必要となるので、簡単に証明のポイントだけを記載したいと思う。詳細は文献[1][2]などを参照されたい。

まず、以下の2つの写像を考える。

 \displaystyle{
\begin{eqnarray}
\sigma: \mathrm{Hom}_T (X \otimes_R Y, Z) \to \mathrm{Hom}_R(Y, \mathrm{Hom}_T(X, Z)) \\
\tau: \mathrm{Hom}_R(Y, \mathrm{Hom}_T(X, Z)) \to \mathrm{Hom}_T (X \otimes_R Y, Z)
\end{eqnarray}
}

このとき、 \sigmaを以下の式を満たすような写像だと定義する。

 \displaystyle{
\begin{eqnarray}
&& [\sigma(\phi)(y)](x) = \phi(x \otimes y) \\
&& \ \ (x \in X, y \in Y, \phi \in \mathrm{Hom}_T (X \otimes_R Y, Z))
\end{eqnarray}
}

また、 \tauを以下の式を満たすような写像だと定義する。

 \displaystyle{
\begin{eqnarray}
&& \tau(\psi)(x \otimes y) = [\psi(y)](x) \\
&& \ \ (x \in X, y \in Y, \psi \in \mathrm{Hom}_R(Y, \mathrm{Hom}_T(X, Z))
\end{eqnarray}
}

このとき、 \sigma, \tauともに加法群の準同型であることを示すことができ、かつ \sigma \tau, \tau \sigmaが恒等写像となることが確かめられる。これはすなわち、 \sigma, \tauが同型であり、かつ互いに逆写像となっていることを意味する。

テンソル積を考える必然性

ここまでの考察で、随伴性とはカリー化前後において準同型が成す加法群Homの構造が変わらない性質のことを言うのだと理解できた。しかし、どうしても1つ引っかかることがある。それは、定理の主張にテンソル積が使われている理由である。2変数関数というのであれば、まず誰しもが直積 X \times Yの方を先に思いつくだろう。なぜ \mathrm{Hom}_T(X \times Y, Z)ではなく、 \mathrm{Hom}_T(X \otimes Y, Z)を考えなければならないのだろうか?

その答えに辿り着くためには、証明の概略で用いた同型 \sigmaについて再考する必要がある。証明の概略では [\sigma(\phi)(y)](x)を考えたが、ここでは仮に \phi \in \mathrm{Hom}_T(X \times Y, Z)だったとする。このとき \sigma(\phi)(y)の部分に着目すると、これは X \to Zという準同型になっているはずである。 x_1, x_2 \in X, y \in Y, \phi \in \mathrm{Hom}_T (X \times Y, Z)とすると、準同型の性質上、以下が成立していなければならない。

 \displaystyle{
\begin{eqnarray}
&& [\sigma(\phi)(y)](x_1 + x_2) = [\sigma(\phi)(y)](x_1) + [\sigma(\phi)(y)](x_2) \\
&\Leftrightarrow& \phi(x_1 + x_2, y) = \phi(x_1, y) + \phi(x_2, y)
\end{eqnarray}
}

同様に \sigma(\phi)に着目すると、これは Y \to \mathrm{Hom}_T(X, Z)という準同型になっているはずである。そのため、 x \in X, y_1, y_2 \in Y, \phi \in \mathrm{Hom}_T (X \times Y, Z)について以下が成立する。

 \displaystyle{
\begin{eqnarray}
&& [\sigma(\phi)(y_1 + y_2)](x) = [\sigma(\phi)(y_1)](x) + [\sigma(\phi)(y_2)](x) \\
&\Leftrightarrow& \phi(x, y_1 + y_2) = \phi(x, y_1) + \phi(x, y_2) \\
\end{eqnarray}
}

ここまで来ると、 \phiが双1次形式でなければならないのではないかという予想が立つ。もうひと押しして、 \phi(xr, y) = \phi(x, ry)\ (r \in R)を示してみよう。

Xが(T, R)-両側加群、Zが左T-加群であることから、 \mathrm{Hom}_T(X, Z)は以下の作用で左R-加群になる[1]。

 \displaystyle{
\begin{eqnarray}
[r \cdot \sigma(\phi)(y)](x) &=& [\sigma(\phi)(y)](xr)\ (r \in R) \\
                               &=& \phi(xr, y)
\end{eqnarray}
}

また、 \sigma(\phi)について、準同型としての性質から以下が成立する。

 \displaystyle{
\begin{eqnarray}
[r \cdot \sigma(\phi)(y)](x) &=& [\sigma(\phi)(ry)](x) \\
                               &=& \phi(x, ry)
\end{eqnarray}
}

よって \phi(xr, y) = \phi(x, ry)が確認できた。

以上により、写像 \phiは双1次形式でなければならないことが分かった。 X \times Y \to Zという双1次形式全体の集合を \mathrm{BiLin}(X \times Y, Z)と表すことにすると、これはやはり加法群になっている。以下で確かめてみる。

  1. 2つの写像 \phi, \psi \in \mathrm{BiLin}(X \times Y, Z)と任意の x \in X, y \in Yについて、 \phi + \psi : (x, y) \to \phi(x, y) + \psi(x, y)とすれば、 \phi + \psi \in \mathrm{BiLin}(X \times Y, Z)となる。実際、 x_1, x_2 \in Xとすると、例えば (\phi + \psi)(x_1 + x_2, y) = (\phi + \psi)(x_1, y) + (\phi + \psi)(x_2, y)が成立することが容易に確かめられる。他の性質も同様に確認でき、BiLinが演算について閉じていることが分かる。この演算について結合法則が成立することは明らかである。
  2. 写像 \phi \in \mathrm{BiLin}(X \times Y, Z)について、その逆元を -\phi : X \times Y \ni (x, y) \to -\phi(x, y) \in Zと定められる。
  3. 全ての X \times Yの元をZの単位元に移すような写像、すなわち零写像単位元と定められる。

実は、BinLinについて以下の同型が成り立つ[3]。

 \displaystyle{
\mathrm{BiLin}(X \times Y, Z) \cong \mathrm{Hom}_T (X \otimes_R Y, Z)
}

これより、テンソル積とHomの随伴性は以下のように書いても良いように思える。

\displaystyle{
\mathrm{BiLin}(X \times Y, Z) \cong \mathrm{Hom}_R(Y, \mathrm{Hom}_T(X, Z))
}

なぜこちらの書き方ではなくテンソル積を用いた書き方が常用されるのか、本当のところは分からない。ひょっとしたら私の考察に穴があり、実際にはテンソル積でなければならないのかもしれない。今のところの私の考えでは、以下のような理由ではないかと推測している。

  1. 圏論における一般の随伴性の定義に合う形式にするため。
  2. 実用上、テンソル積をHomに置き換えたい場面が多くあるため。
  3. HomだのBiLinだのが混ざり合った定義は美しくないため。

まとめ

以上、テンソル積とHomの随伴性について考察した。本当は自然変換がどうとか、もっと奥深い話があるようだが、そこまで行くと圏論を学んでからの方が面白いことを書けそうなので、今回は割愛した。現在読んでいる本[1]では、圏論についても基本的な事柄が記載されているようなので、また理解が深まってからそのあたりのことを書いてみたいと思う。

*1:Wikipediaでは「もとの関数の最初の引数」をとる関数にすることとあるが、実際には最初に限る必要もないのだろう。左加群とか右加群とかそういった諸々の関係を満たすために、カリー化された後の関数の引数はYの元としているのだと思われる。