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

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

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

参照用 記事

ラックス・モノイド関手について、もうちょっと

モノイド関手/ラックス・モノイド関手とその実例

今日の話はここまでにしておきますが、モノイド関手/ラックス・モノイド関手の定義からすぐ出るようなことでもけっこう面白い話題があるので、補足を書くかも。

補足を書きます。

内容:

ラックス・モノイド関手はモノイド類似構造

CDをモノイド圏(monoidal category)とします。モノイド関手(monoidal functor) F:CD を、圏のモノイド構造を保つような関手として導入しました。モノイド圏をある種の代数構造と考えたときの“準同型”(homomorphism)がモノイド関手、という発想です。モノイド関手は単なる関手だけではなくて、自然変換μ, εを一緒に考えた (F, μ, ε) で定義されるのでした(「モノイド関手/ラックス・モノイド関手とその実例」を参照)。

ラックス・モノイド関手(lax monoidal functor)は、モノイド関手 F = (F, μ, ε) のμ, εに関する条件をゆるめたものです。「μ, εは自然同型(すべての成分が同型射である自然変換)であるべし」という条件を取り除くとラックス・モノイド関手の定義となります。他はモノイド関手と同じです。

定義からすると、ラックス・モノイド関手はモノイド関手の一般化なのですが、なんだか別物のような気がします。モノイド関手は“準同型”な感じなんですが、ラックス・モノイド関手になると、それ自体が独立した代数構造のように思えるのです。これは「感じ」ですが、この記事で、その「感じ」を伝える事例を紹介します。

自明なモノイド圏からのラックス・モノイド関手

1 = {1} とします*1。この単元集合1にモノイド構造を入れます。単位元は1で、モノイド乗法は 1・1 = 1 と定めます。単位元だけからなる自明なモノイドですね。さらに、1をモノイド圏だとみなします。

  1. 対象: |1| = Obj(1) = {1}
  2. 射: Mor(1) = {id1}
  3. doc, doc: dom(id1) = cod(id1) = 1
  4. 恒等: id1 = id1 (自明)
  5. 射の結合: id1;id1 = id1
  6. 対象のモノイド積: 1・1 = 1
  7. 射のモノイド積: id1・id1 = id1

演算「;」と演算「・」は同じですが、定義上は、「;」が圏の結合で「・」がモノイド積です。

圏としての1から別な圏Cへの関手 F:1C は、Cの対象F(1)だけで決定されます。Fに対してF(1)はCの対象ですが、逆にC対象Aを任意に選べば、F:1C を定義できます。

  1. 対象の対応: F(1) := A
  2. 射の対応: F(id1) := idA

Cがモノイド圏 C = (C, \otimes, I) だとして、F:1C がラックス・モノイド関手となるときはどうでしょう。ラックス・モノイド関手は台関手F以外に、自然変換μとεを伴います。1の対象は1個しかないので、自然変換の成分も1個しかありません。

  1. μ1,1:F(1)\otimesF(1)→F(1・1) in C
  2. ε:I→F(1) in C

F(1) = F(1・1) = A, μ1,1 = m, e = ε と置くと:

  1. m:A\otimesA→A in C
  2. e:I→A in C

ラックス・モノイド関手の定義から、mは結合律を満たし、e, mは左右の単位律を満たします。つまり、(A, m, e) はモノイド圏C内のモノイド対象(monoid object)となります。

自明なモノイド圏1からのラックス・モノイド関手は、最も簡単な部類のモノイド関手です。それが、モノイド圏のモノイド対象(内部モノイド internal monoid)だったのです。

さらに、ラックス・モノイド関手のあいだの自然変換を定義すれば、関手圏 LaxMonFunc(1, C) も構成できますが、これはC内のモノイドの圏Mon(C)と同型になります。

  • LaxMonFunc(1, C) \stackrel{\sim}{=} Mon(C) (圏の同型)

多元環と相対多元環

ラックス・モノイド関手の一番簡単な例がモノイドでした。次に、(たぶん)二番目に簡単な例を紹介します。一般的なモノイド圏Cではなくて、具体的なモノイド圏を引き合いに出して説明します -- テンソル積を持ったベクトル空間の圏です。この節で準備をして、次節でラックス・モノイド関手を構成します。

Kを体(可換体)だとして、K上のベクトル空間の圏をVectKとします。Kはずっと固定するので、以下では必要がなければKには言及しません。VectKも単にVectと書くことにします。

\otimesはベクトル空間のテンソル積、Iはベクトル空間とみなしたKのことだとします。すると、(Vect, \otimes, I) はモノイド圏となります。以下、このモノイド圏を舞台にした話です。

ベクトル空間に結合的乗法(associative multiplication)を一緒に考えたものを多元環と呼ぶことにします。「多元環」はalgebraに対する古い訳語ですが、僕はこの古臭い言葉をよく使います。ここでは、乗法の可換性は仮定しないし、単位元の存在も要求しません単位元を持つ多元環単位的多元環(unital algebra)と呼ぶことにします。

圏論の言葉で言うなら、多元環はモノイド圏Vect内の半群対象(semigroup object)で、単位的多元環Vect内のモノイド対象(monoid object)です。

Rを単位的多元環(可換とは限らない)として、Rの要素をr, sなどで表し、Rの単位は1と書きます。rとsの掛け算は併置 rs で書きます。以下、Rは係数多元環(基礎多元環)として固定します。

Aをベクトル空間として、Aの要素はa, bなどで表すことにします。α:R\otimesA→A が結合的・単位的・左作用のとき、(R, A, α) を(R上の)加群(left module)と呼びます。左作用による α(r, a)(αを双線形写像とみなしている)を単なる併置 ra と書くことにすれば:

  • 結合性: (rs)a = r(sa)
  • 単位性: 1a = a

併置がオーバーロード(多義的使用)されていますが、混乱はないでしょう。Vect内で話をしているので、足し算とK-スカラー乗法に関する記述は省略します。

AがR上の左加群で、さらにA内の二項演算としての乗法 A\otimesA→A を持つとします。Aも多元環単位元を持つとは限らない)なわけです。次の法則も成立するとします。

  • 結合性: (ra)b = r(ab)

この段階で、併置は次の3つの意味でオーバーロードされています。

  1. Rの乗法(多元環構造)
  2. RのAへの左作用(加群構造)
  3. Aの乗法(多元環構造)

これらの乗法/作用に関して結合律が成立するので、RとAから適当な個数の要素を選んで適当に並べた演算結果が括弧の付け方に寄らずに定まることが保証されます。

今述べたように、多元環Aが同時にR上の左加群になっているとき、AはR上の左相対多元環(left relative algebra)と言うことにします。通常は、単にR-多元環(R-algebra)と呼ぶようですが、2つの多元環が関与していることを強調するために「相対」を付けています。

「左」を「右」に変えることによって、R上の加群(right module)、R上の右相対多元環(right relative algebra)も定義できます。さらに、R上の両側加群(bimodule, two-sided module)、R上の両側相対多元環(two-sided relative algebra)も同様に定義できます。

二対象モノイド圏からのラックス・モノイド関手

前節で、大急ぎでしたが、単位的多元環R上の両側相対多元環Aを導入しました。なぜ、こんな代数系を紹介したのかと言うと、単位的多元環上の両側相対多元環は、ラックス・モノイド関手の実例となるからです。

2 = {0, 1} として、二元集合2に、1を単位元とするモノイド構造を入れます。念のために、乗法「・」を表の形で示しておきます。

0 1
0 0 0
1 0 1

(2, ・, 1) はモノイドになります。このモノイドをモノイド圏とみなしたものを同じ記号2で表します。モノイド圏2は、圏としては離散圏なので、射はid0, id1しか持ちません。i, jは0または1だとして、idi・idj = idi・j が成立します。

1が一番簡単なモノイド圏だとするなら、2二番目に簡単なモノイド圏だと言っていいでしょう。その2から、ベクトル空間のモノイド圏Vectへのラックス・モノイド関手を考えます。

(F, μ, ε) を、2Vect のラックス・モノイド関手だとします。μは自然変換なので、2の対象で二重インデックスされた成分を持ちますが、2の対象は0と1だけなので、μの成分は完全に列挙できます。

  1. μ1,1:F(1)\otimesF(1)→F(1・1)
  2. μ1,0:F(1)\otimesF(0)→F(1・0)
  3. μ0,1:F(0)\otimesF(1)→F(0・1)
  4. μ0,0:F(0)\otimesF(0)→F(0・0)

それと、ε:I→F(1) があります。

F(1) = F(1・1) = R, F(0) = R(1・0) = F(0・1) = F(0・0) = A と置いて書き換えてみると:

  1. μ1,1:R\otimesR→R
  2. μ1,0:R\otimesA→A
  3. μ0,1:A\otimesR→A
  4. μ0,0:A\otimesA→A
  5. ε:I→R

となります。これらは、次のような乗法/作用/単位元とみなすことが出来ます。

  1. μ1,1は、Rの乗法
  2. μ1,0は、RのAへの左作用
  3. μ0,1は、RのAへの右作用
  4. μ0,0は、Aの乗法
  5. εは、Rの単位元

ラックス・モノイド関手を規定する結合律と単位律を、2の対象を具体化して列挙すると、たくさんの結合律/単位律が出てきます。Rの要素をr, s, t、Aの要素をa, b, c、Rの単位を1、乗法/作用はすべて併置で表して、たくさんの結合律/単位律を書き並べてみます。

  1. (1, 1, 1)-結合律: (rs)t = r(st)
  2. (1, 1, 0)-結合律: (rs)a = r(sa)
  3. (1, 0, 1)-結合律: (ra)s = r(as)
  4. (0, 1, 1)-結合律: (ar)s = a(rs)
  5. (1, 0, 0)-結合律: (ra)b = r(ab)
  6. (0, 1, 0)-結合律: (ar)b = a(rb)
  7. (0, 0, 1)-結合律: (ab)r = a(br)
  8. (0, 0, 0)-結合律: (ab)c = a(bc)
  9. (1, 1)-左単位律: 1r = r
  10. (1, 0)-左単位律: 1a = a
  11. (1, 1)-右単位律: r1 = r
  12. (0, 1)-右単位律: a1 = r

これらの等式群が全体として言っていることは、Aが単位的多元環R上の相対多元環であることです。つまり、2からVectへのラックス・モノイド関手 (F, μ, ε) は、(F(0), μ0,0, ε) を係数多元環とする相対多元環を定義します。

逆に、相対多元環が与えられれば、それから 2Vect というラックス・モノイド関手を構成できます。「ラックス・モノイド関手←→相対多元環」という対応は1:1なので、2Vect であるラックス・モノイド関手と相対多元環は、同じモノだと言えます。

ラックス・モノイド関手の一般化

2という簡単なモノイド圏からのラックス・モノイド関手が、相対多元環という割と複雑な代数系と同じであることが分かりました。となると、一般的なモノイド圏からのラックス・モノイド関手は非常に複雑な代数系になり得るだろうと予測できます。

ラックス・モノイド関手って、複雑でめんどくせー存在物だと思うかも知れません(実際、そうです)が、「逆に考えるんだ」。なにやら複雑怪奇な代数系に出会ったとき、それがラックス・モノイド関手だと分かれば、とてもコンパクトに記述できることになります。

最近の場の理論(物理)では、ラックス・モノイド関手の一般化である“双圏(bicategory)のあいだのラックス関手”を使ったりするようです(僕はサッパリ理解できませんけど)。この一般化は、関手の域・余域となる圏を、モノイド圏から双圏へと拡張しています。

また、ラックス・モノイド関手や“双圏のあいだのラックス関手”の定義に出てくる矢印をひっくり返すと、反ラックス・モノイド関手(oplax monoidal functor)、反ラックス関手(oplax functor)になります。ラックス概念と反ラックス概念は、モノイドとコモノイドのような双対の関係になります。

モナドや豊饒圏の記述も、ラックス関手を使うとコンパクトになるので、ラックス概念(や反ラックス概念)は、かなり広範囲な代数系をカバーできるんではないかと思います。

*1:モノイド関手/ラックス・モノイド関手とその実例」の「ラックス・モノイド関手とその例」では 1 = {0} と定義してます。単元集合の唯一の要素は、何だっていいんです。