4月7日の記事「ベクトル空間上の複素密度 3: 反対主等質集合と反傾主等質集合」の最後で:
このテの話をしているのは、ベクトル空間Vのフレーム集合 Frame(V) と、双対空間V*のフレーム集合 Frame(V*) の関係をハッキリさせるためです。これら2つのフレーム集合は、互いに相反〈reciprocal〉の関係にあるのです。次はそのあたりに話を進める予定です。
ここに出てきた「相反〈reciprocal〉の関係」、すなわち相反性〈reciprocality〉の話をします。相反性は双対性〈duality〉と関係しますが、双対性とは別物です。相反性は、双対と反転(本文内で説明)の組み合わせによる関係性です。
内容:
- はじめに
- グロタンディーク構成 復習と新しい記法
- 用語の問題:逆、相反、双対
- 標準双対化関手と反双対化コンビネータ
- 線形同型の亜群上の相反化関手と反相反化コンビネータ
- 線形同型の亜群とフレーム集合関手/コフレーム集合関手
- フレーム集合関手からコフレーム集合関手への相反化自然同型
- フレーム主等質集合とコフレーム主等質集合の相反性
- それから
- 付録:この記事で使った記号・記法
はじめに
この記事は、シリーズ記事の4番目のものです。もともとは2つの記事で完結する予定でした。が、「まとまったら投稿する」から「書いた分だけ投稿する」に変更しました(「ベクトル空間上の複素密度 2/?」の冒頭を参照)。この変更による影響は:
- 内容の重複(復習、再論など)が増える。
- 試行錯誤・紆余曲折の過程がそのまま記述される。
- 後からの修正・変更が増える。
- 寄り道や敷衍が増える。
当初は予定してなかったことまで書いてしまいがちで、事後的な整理もしてないことから、このシリーズはダラダラ感が否めません。機会があれば書きたかったことを色々と挟んでいるので、直線的なストーリーに沿って進む解説ではなくて、ゆるいテーマを共有するコラムの集まりのように捉えてもらえればいいと思います。
今回の話題である相反性も、「双対」という茫漠・曖昧な概念・言葉のなかに埋もれてしまい、キチンとした定式化があまりされてない事柄で、機会があれば書きたかったことのひとつです。
グロタンディーク構成 復習と新しい記法
この節は、前回記事の第1節「主等質集合の圏」への補足・追加です。
Cをベース圏〈インデキシング圏〉とするインデックス付き圏 D:C→CAT は、通常の圏と区別するために、D[-] のような書き方をします。D[-] からグロタンディーク構成して得られた圏(平坦化圏〈flattened category〉)は、∫C D[-] と書いてきましたが、もっと短く ∫D/C とも書くことにします。これは、「ベース圏C上の、インデックス付き圏D[-]の平坦化圏」の意味です。
ベース圏Cが了解されているときは、単に∫Dとも書きます。
インデックス付き圏D[-]を(グロタンディーク構成で)平坦化した圏∫Dの射は、ベース圏の射 φ:A→B とファイバーD[A]内の射 f:X→φ#(Y) の組 (φ, f):X→Y です(φ#(Y) = D[φ](Y)、「インデックス付き圏のグロタンディーク構成」参照)。φ:A→B in C を、(φ, f) のベース射〈base morphism〉と呼びます。平坦化圏∫Dの射には、必ずそのベース射が一意に存在します*1。
φ:A→B in C, X∈|D[A]|, Y∈|D[B]| の状況で、ベース射がφである射 X→Y の全体を (∫D)(X, Y)/φ と書くことにします。次が成立します。
- (∫D)(X, Y)/φ ⊆ (∫D)(X, Y)
- φ∈C(A, B)( (∫D)(X, Y)/φ ) = (∫D)(X, Y)
- A = B, φ = idA のときは、(∫D)(X, Y)/idA = D[A](X, Y)
今説明した新しい記法で、主等質集合の圏を書いてみると:
「ベクトル空間上の複素密度 1/2」では、∫LeftPHS/IdGrp で十分だろう、と書いたのですが、やはり不便なので、我々が扱うデフォルトの圏を ∫LeftPHS/Grp と ∫RightPHS/Grp にします。したがって、デフォルトのベース圏は、群の圏Grpです。
用語の問題:逆、相反、双対
数と関数に関して、次の言葉が使われています。
逆数 | reciprocal number, inverse number |
逆数関数 | reciprocal function |
逆関数 | inverse function |
圏と関手に関して、これらの概念の類似物を何と呼ぶか? 困ってしまいました。一案としては、「数と関数に関する言葉をそのまま使う」があります。
逆射 | inverse morphism |
逆射関手 | reciprocal functor |
逆関手 | inverse functor |
悪くはないのですが、reciprocal を別な意味で使いたいので、次のように変更します。
逆射 | inverse morphism |
反転関手 | inversion functor |
逆関手 | inverse functor |
数の場合は、reciprocal number と inverse number は同義でしたが、射に関する reciprocal morphism と inverse morphism は違ったものになります(後述)。"reciprocal"の訳語は「相反」を使います。
逆と相反に双対も加えて、関連する品詞を挙げておきます。
形容詞 | 動詞(~する) | 名詞(~すること) |
---|---|---|
逆〈inverse〉 | 逆にする〈inverse〉 | 反転〈inversion〉 |
相反〈reciprocal〉 | 相反にする〈reciprocalize〉 | 相反化〈reciprocalization〉 |
双対〈dual〉 | 双対にする〈dualize〉 | 双対化〈dualization〉 |
大ざっぱに言えば(詳細は後述):
- 相反にするとは、双対にしてから逆にすることである。
- 双対にしてから逆にしても、逆にしてから双対にしても同じ。
「対象/射を~する関手」を表したいとき、名詞を形容詞に転用して「関手」に前置することにします。
意味 | 用語 |
---|---|
対象/射を逆にする関手 | 反転関手〈inversion functor〉 |
対象/射を相反にする関手 | 相反化関手〈reciprocalization functor〉 |
対象/射を双対にする関手 | 双対化関手〈dualization functor〉 |
注意点として(詳細は後述):
- 逆にする関手を「逆関手」とは呼べないので、命名法の一貫性は崩れるが「反転関手」とする。
- 対象を逆にするとは、何もしないこと。
- 対象を相反にするとは、対象を双対にすることと同じ。
- 対象を双対にして、さらに双対にしたら、元に戻るとは限らない(一般的には「戻らない」と考えるべき)。
「~された対象/射」を表すには、形容詞を前置します。
意味 | 用語 |
---|---|
逆にされた射 | 逆射〈inverse morphism〉 |
相反にされた射 | 相反射〈reciprocal morphism〉 |
双対にされた対象/射 | 双対対象/双対射〈dual object / dual morphism〉 |
上の注意から、逆対象は意味がなく、相反対象は双対対象と同じです。
この記事の目的は、とある圏の上で、反転関手/双対化関手/相反化関手をキチンと定義することです。これらの関手は似ているので区別されなかったり、ゴッチャにされたりします。そういう混同・混合・混乱は弊害があるので、クリアに識別しましょう。
標準双対化関手と反双対化コンビネータ
R上の有限次元ベクトル空間 V∈|FdVect| に対して、その標準双対空間〈canonical dual space〉V* は、V* := FdVect(V, R) (ホムセットにベクトル空間構造を入れる)として定義します。射 f:V→W in FdVect に対しても、fの標準双対射〈canonical dual {morphism | map}〉 f*:W*→V* が定義できるので、反変自己関手 (-)* = Dual :FdVect→FdVect contra が定義できます。'contra'は、反変関手であることを示す符丁〈マーク〉です。この反変関手 (-)* = Dual を、標準双対化関手〈canonical dualizing functor〉と呼ぶことにします。混乱の恐れがなければ単に双対化関手〈dualizing functor〉でもいいとします。
f:V→W in FdVect に対して f*:W*→V* in FdVect であり、さらに f**:V**→W** in FdVect となります。次の可換図式がある、という意味で f** f とは言えます。
f** = f (等式!)として扱うことがけっこうあります。このイコールは、「ほんとはイコールじゃないけどサボってイコールにしている」という解釈が可能だし、普通はそう解釈していると思います。しかし、別な解釈もあります。「f**」という書き方がサボっている、という見方です。
標準双対化関手Dualは、ホムセットごとに次の写像を誘導します。
- DualV,W:FdVect(V, W)→FdVect(W*, V*)
この写像は、(集合のあいだの)写像として可逆です。よって、ホムセットごとに逆写像を割り当てることができます。
- (DualV,W)-1:FdVect(W*, V*)→FdVect(V, W)
この割り当てを undual としましょう。
- undualV,W := (DualV,W)-1 : FdVect(W*, V*)→FdVect(V, W)
undualは、|FdVect|×|FdVect|→Mor(Set) という(大きな集合のあいだの)写像ですが、関手や自然変換にはなりません。圏論的コンビネータ〈圏論的オペレータ〉です(「圏論的コンストラクタと圏論的オペレータ: 関手性・自然性の呪縛からの脱却」参照)。undualを反双対化コンビネータ〈undualizing combinator〉と呼びましょう。g:W*→V* in FdVect に対して、undualV,W(g) を g$ と略記します。反双対化コンビネータは関手ではないので、ベクトル空間Vに対するV$は意味を持たないことに注意してください*2。g:W*→V* という形の射に対してだけ g$ が意味を持ちます。
こう約束すると、f:V→W in FdVect に対して undualV,W(DualV,W(f)) = f は定義から自明です。略記を使えば、f*$ = f で、これはゴマカシなしの等式です。f** と書いてあるとき、実際には f*$ の意味で使っていることが多そうです。この記事では、標準双対化関手と反双対化コンビネータを完全に区別します。
線形同型の亜群上の相反化関手と反相反化コンビネータ
IsoFdVect は、ベクトル空間と線形同型射からなる圏です。IsoCという書き方は「ベクトル空間上の複素密度 1/2 // 基本概念と用語・記法の準備」で定義しています。すべての射が可逆である圏を亜群〈groupoid〉と呼ぶので、IsoFdVectはベクトル空間と線形同型*3の亜群です。
亜群 IsoFdVect では、「ホムセットが再びベクトル空間になる」とか「ホムセットは空ではない」などの性質は失われますが、その代わりに「すべての射は可逆である」「エンドセット〈endset | endomorphism set〉が群になる」などの性質を獲得します。反変自己関手 Inv:IsoFdVect→IsoFdVect contra を次のように定義できます。
- Inv(V) := V
- Inv(f:V→W) := (f-1:W→V)
反変関手Invを反転関手〈inversion functor〉と呼びます。
圏FdVect上の標準双対化関手Dualは、部分圏であるIsoFdVect上に制限可能で、やはり反変自己関手 Dual:IsoFdVect→IsoFdVect contra を定義できます。
InvとDualから、次の可換図式を得ます(線形代数による証明が必要)。
つまり、f:V→W in IsoFdVect に対して、次の等式が成立します。
- (f*)-1 = (f-1)*
また、次の可換図式も成立します。
h:V*→W* に対して等式で書けば:
- (h$)-1 = (h-1)$
f (f*)-1 は、Inv(Dual(f)) とも書けるので、反変関手Dualと反変関手Invの(この順での結合)になります。関手の図式順結合を'*'で表すとして、Recip := Dual*Inv と定義できます。先の図式の可換性から Dual*Inv = Inv*Dual なので、Recip := Inv*Dual でも同じです。Recipは共変自己関手であり、次のように記述できます。
- 対象: Recip(V) := V*
- 射: Recip(f:V→W) := ( (f*)-1:V*→W* )
こうして定義される、線形同型の亜群上の共変自己関手Recipを相反化関手〈reciprocalization functor〉と呼ぶことにします。Recip(f) = (f*)-1 を f*-1 と略記することにします。以下の可換図式、左上から右下への対角線が (-)*-1 です。
unrecipV,W := (RecipV,W)-1:IsoFdVect(V*, W*)→IsoFdVect(V, W) と定義することにより、反相反化コンビネータ〈unreciprocalization combinator〉 unrecip を定義します。
h$-1 := unrecipV,W(h) = InvW*,V*(DualV,W(h)) と略記します。以下の可換図式、右下から左上への対角線が (-)$-1 です。
線形同型の亜群とフレーム集合関手/コフレーム集合関手
線形同型の亜群IsoFdVectに、反変自己関手Dual、反変自己関手Inv、共変自己関手Recip、コンビネータundual、コンビネータunrecip を載せた構造は、関連する別な関手/自然変換や主等質集合を構成するのに好都合な枠組みになります。
念のため、関手/コンビネータと、その略記法をまとめておきます。f:V→W, g:W*→V*, h:V*→W* in IsoFdVect だとします。
関手/コンビネータの値 | 略記 |
---|---|
Dual(f):Dual(W)→Dual(V) | f*:W*→V* |
Inv(f):W→V | f-1:W→V |
Recip(f):Dual(V)→Dual(W) | f*-1:V*→W* |
undual(g):V→W | g$:V→W |
unrecip(h):V→W | h$-1:V→W |
さて、フレーム集合の話に入りましょう。「ベクトル空間上の複素密度 2/? // 用語法・記法の修正」に書いたように、Frame(V) の解釈(定義法)は色々あります。ここでは、次の定義を採用します。
- Frame(V) := IsoFdVect(Rn, V)
- Coframe(V) := IsoFdVect((Rn)*, V*)
ここで、Coframe(V) = Frame(V*) なのか? という話をします。「(Rn)* = Rn か?」という問が焦点です。定義に律儀に従えば、(Rn)* ≠ Rn です。がしかし、(Rn)* = Rn として扱っている場合も多くあります。また、Rn は縦タプルの集合とみなし、横タプルの集合(Rn とします)を双対空間と同一視する( (Rn)* = Rn とする)方法もあります。
この曖昧さ(無駄な多様性)をクリアにするには、標準双対化関手ではなくて双対ペアを持ち出せばいいのですが、話は複雑になります。この記事では次の態度をとります。
- (Rn)* ≠ Rn と考える。したがって、Coframe(V) と Frame(V*) は等しくない。
- しかし、(Rn)* = Rn, Coframe(V) = Frame(V*) とみなしても差し支えはない。
この方針で、定義を噛み砕いて書くと:
- f∈Frame(V) ⇔ f:Rn→V in IsoFdVect
- f∈Coframe(V) ⇔ f:(Rn)*→V* in IsoFdVect
- f∈Frame(V*) ⇔ f:Rn→V* in IsoFdVect
Frame(V) をVのフレーム集合、Coframe(V) をVのコフレーム集合と呼びます。それぞれの要素は、Vのフレーム/Vのコフレームです。VのフレームはVの順序基底〈ordered basis〉、VのコフレームはV*の順序基底とみなせます。しかし、Coframe(V) と Frame(V*) は等しくないとするなら、なんらかの差を付ける必要があります。Vのフレームは“Vの要素の横タプル〈横リスト〉”、Vのコフレームは“V*の要素の縦タプル〈縦リスト〉”という、書き方の配置方向で差を付けたりします。このへんの「どうでもよさそう」なことが、理解と精密な議論を深刻に阻害していると思います。
さて、Frame(-), Coframe(-) は集合圏Setに値を持つ関手にできます。対象に対する値は既に決めてますから、射に対する値を決めましょう。
- f:V→W in IsoFdVect に対して、Frame(f):Frame(V)→Frame(W) は:
For x∈Frame(V), Frame(f)(x) := (x;f:Rn→W) ∈Frame(W) - f:V→W in IsoFdVect に対して、Coframe(f):Coframe(W)→Coframe(V) は:
For t∈Coframe(W), Coframe(f)(t) := (t;f*:(Rn)*→V*) ∈Coframe(V)
Frameは共変関手 Frame:IsoFdVect→Set、Coframeは反変関手 Coframe:IsoFdVect→Set contra になります。しかし、Coframeの共変バージョンも定義できます。共変のCoframeをCoframe*と書くことにして:
- V∈|IsoFdVect| に対して、Coframe*(V) := Coframe(V)
- f:V→W in IsoFdVect に対して、Coframe*(f):Coframe*(V)→Coframe*(W) は:
For y∈Coframe*(V), Coframe*(f)(y) := (y;(f*)-1:(Rn)*→W*) ∈Coframe*(W)
(f*)-1 = (f-1)* なので、Coframe* = Inv*Coframe の関係があります。反変関手と反変関手の結合は共変関手なので、Coframe* は共変関手になっています。
フレーム集合関手からコフレーム集合関手への相反化自然同型
前節で、2つの共変関手 Frame, Coframe* : IsoFdVect→Set を定義しました。2つの関手のあいだを結ぶ自然変換があり、それは自然同型(成分がすべて可逆射である自然変換)になっています。
この自然同型は、相反化関手を使って定義されます。相反化関手 Recip:IsoFdVect→IsoFdVect のホムセットへの制限を RecipV,W:IsoFdVect(V, W)→IsoFdVect(V*, W*) と書くことにして、recipV を次のように定義します。
- recipV := RecipRn,V : IsoFdVect(Rn, V)→IsoFdVect((Rn)*, V*)
Frame(V), Coframe(V) の定義から、
- recipV : Frame(V)→Coframe*(V)
です。これが自然変換の成分であるためには、f:V→W in IsoFdVect に対して次の図式が可換になる必要があります。
定義に従って噛み砕いて書けば:
この図式が可換なことは自明でしょう。こうして定義される自然同型を相反化自然同型〈reciprocalization natural isomorphism〉と呼びます。
先に定義した反相反化コンビネータunrecipを少し加工すると、自然変換recipの逆変換が得られます。
- unrecipV := (recipV)-1 = unrecipRn,V
次の2つの自然変換は互いに(縦結合の意味で)逆になります。
- recip :: Frame⇒Coframe : IsoFdVect→Set
- unrecip :: Coframe⇒Frame : IsoFdVect→Set
このことは次のように言えます。
- Vのフレームに、その相反コフレーム〈reciprocal coframe〉が系統的に対応する。
- Vのコフレームに、その反相反フレーム〈unreciprocal frame〉が系統的に対応する。
「系統的に」の正確な意味は、2つの関手 Frame, Coframe と自然同値 recip で記述できます。
フレーム主等質集合とコフレーム主等質集合の相反性
次の略記を導入します。
- Aut(n) := IsoFdVect(Rn, Rn)
- Aut(n*) := IsoFdVect((Rn)*, (Rn)*)
Aut(n) も Aut(n*) も群になります。群演算は、射(線形同型写像)の結合で、演算子記号は図式順結合記号';'を使うことにします。
Aut(n) = Frame(Rn), Aut(n*) = Coframe*(Rn) であることから、recipRn:Frame(Rn)→Coframe(Rn) という群同型写像があります。この群同型写像も略記して次のように書きます。
- recipn :Aut(n)→Aut(n*)
- unrecipn := (recipn)-1 :Aut(n*)→Aut(n)
recipnは、相反化自然同型の成分ですが、群の同型写像とみなすときは相反化群同型〈reciprocalization group isomorphism〉と呼ぶことにします。相反化群同型は、群元である同型射の双対をとり逆にする操作です。
さて、有限次元ベクトル空間 V (dim(V) = n) に対して、左主等質集合を作りましょう。群として A(n)、群が作用する集合として Frame(V) をとり、左作用 α:Aut(n)Frame(V) を、
- For a∈A(n), x∈Frame(V), α(a, x) := a;x
と、射の前結合(演算子記号は図式順結合記号)により定義します。(Aut(n)Frame(V)) が左主等質集合になることはすぐ確認できます。こうしてできる左主等質集合を FramePHS(V) := (A(n)Frame(V)) とします。
f:V→W in IsoFdVect に対して、Frame(f) = f* = (-);f という前送りにより、Frame(V)→Frame(W) が定義されます。この f* は群 A(n) による左作用を保存〈preserve | respect〉するので、f* は FramePHS(V)→FramePHS(W) in ∫LeftPHS を定義します。さらに関手性を持つので、共変関手 FramePHS:IsoFdVect→∫LeftPHS が定義できます。
共変関手Coframe*をベースにして同様な手順を踏むと、共変関手 CoframePHS:IsoFdVect→∫LeftPHS も定義できます。
左主等質集合 (Aut(n)Frame(V) と (Aut(n*)Coframe(V)) のあいだに、相反化自然同型に基づく左主等質集合の同型射を構成することができます。群のあいだの群同型は相反化群同型 recipn:Aut(n)→Aut(n*) で与えます。集合のあいだの同型は、相反化自然同型の成分 recipV:Frame(V)→Coframe(V) (Coframe*(V) = Coframe(V))で与えます。次の図式の可換性もルーティーンに示せます。
以上により、2つの関手 FramePHS, CoframePHS : IsoFdVect→∫LeftPHS のあだに次の自然同型があることがわかりました。
- recip ::FramePHS⇒CoframePHS : IsoFdVect→∫LeftPHS
この自然同型も相反化自然同型〈reciprocalization natural isomorphism〉と呼ぶことにすると、フレーム左主等質集合とコフレーム左主等質集合は、相反化自然同型によって系統的に連動しています。この“系統的に連動する”構造が様々な場面で登場します。
それから
ベクトル空間から作られる主等質集合の構造をある程度調べたので、複素密度の話に戻る予定です。
付録:この記事で使った記号・記法
変数:
変数名は、型ごとに完全には分離さてなくて、コンフリクト(同じ名前が異なる型で使われること)があります。この記事に出現してない変数もあります
- 自然数(次元): n, m
- ベクトル空間: V, W
- ベクトル空間の要素: v, w
- 線形写像: f, g, x, y, a, b
- 群: G, H
- 群の要素〈群元〉: a, b
- 群の準同型写像: φ, ψ
- 主等質集合の台集合: X, Y
- 主等質集合の台集合の要素: x, y, s, t
- 主等質集合の準同型写像(の台部分): f, g
- 主等質集合の群作用: α, β
- 群の指標: ρ, τ
- ベクトル空間上の密度: p, q
圏の名前: