層に関してちょっと

微分幾何の教科書はインターネット上に溢れている」で紹介したような長い教科書は、「読む」より「探す」のに使う感じ。「読む」目的なら紙のほうがいい面もありますが、「探す」ならデジタルテキストが圧倒的に楽ですね。

5冊の微分幾何の教科書をキーワード検索してみたら、500ページ超の3冊には層に関する記述がありました(500ページ未満の2冊にはない)。微分幾何の文脈で層まで説明するには、それなりの分量が必要ってことでしょうか。でも、マリオスの定式化などをみるに、微分幾何でも層は便利な道具だと思います。

道具としての層に関して、思い付くことを記してみます。ちょっとしたまとめと雑感メモのつもりなので、系統的・自己充足的な説明にはなってません。強調した言葉に定義が書いてないことが多いです。

内容:

前層/層と、その圏

前層〈presheaf〉は単なる関手、前層の圏は単なる関手圏なので、柔軟な圏論的構成が可能です。しかし、単なる前層(=関手)だと、空間の繋がり具合を反映しているとは限らないので、局所的な事物を整合的に繋ぎ合わせて大域的な事物を作れることは保証されません。

局所から大域への構成は貼り合わせ〈gluing〉と呼びます。他に、融合〈amalgamation〉、溶接〈welding〉、ハンダ付け〈soldering〉などの言葉が使われるようです。貼り合わせ可能な前層が〈sheaf〉です*1。貼り合わせには、各空間の被覆の集まり〈collection of coverings〉が本質的に関与します。

Cに値をとる空間X上の前層の圏〈category of presheaves〉を C-PSh[X] 、層の圏〈category of sheaves〉を C-Sh[X] と書くことにします。Sh[X] は PSh[X] の充満部分圏で、前層/層の射は自然変換です。Cは、前層/層のターゲット圏〈target category〉と呼ぶことにします。

前層/層のターゲット圏としてよく使われる圏は、集合圏Setと(適当な可換環上の)加群の圏Modです。このため、ターゲット圏を明示せずに PSh[X], Sh[X] と書いたときは、デフォルトとしてSetModが採用されることが多いです。ここでは、デフォルトのターゲット圏はSetとします。

  • PSh[X] := Set-PSh[X]
  • Sh[X] := Set-Sh[X]

Xは位相空間ですが、場合によって、空間Xの範囲を絞ることがあります。例えば、Xはなめらかな多様体に限る、とかです。Bを、位相空間の圏Topへの忠実な忘却関手*2 U:BTop を持つ圏だとします。例えば、B = Man(∞) = (なめらかな多様体の圏) 。XをBの対象として動かすと:

  • (C-PSh[X] | X∈|B|)
  • (C-Sh[X] | X∈|B|)

は、圏の添字族〈indexed family〉になります。Bの射 f:X→Y in B に対する C-PSh[f], C-Sh[f] をうまく定義すると、前層/層の圏はインデックス付き圏〈indexed category〉または余インデックス付き圏〈coindexed category〉になります。インデックス付き圏/余インデックス付き圏のどちらになるかは、前層/層の引き戻しを使うか、それとも前送りを使うかによります。

インデックス付き圏 BopCAT または余インデックス付き圏 BCAT *3が作れれば、グロタンディーク構成〈Grothendieck construction〉(「インデックス付き圏のグロタンディーク構成」参照)を行って、ファイバー付き圏〈fibered category〉(圏のファイブレーション、「14年ぶりにファイバー付き圏」参照)を作れます。次の書き方をすることにします。

  • C-Presheaf*B : インデックス付き圏から作られた、前層のファイバー付き圏。
  • C-Presheaf*B : 余インデックス付き圏から作られた、前層のファイバー付き圏。
  • C-Sheaf*B : インデックス付き圏から作られた、層のファイバー付き圏。C-Sheaf* は、C-Presheaf* の部分圏。
  • C-Sheaf*B : 余インデックス付き圏から作られた、層のファイバー付き圏。C-Sheaf* は、C-Presheaf* の部分圏。

扱う空間が属する圏Bを(インデックス付き圏/ファイバー付き圏に対する)ベース圏〈base category〉と呼びます。上記の層/前層の圏は、ターゲット圏C、ベース圏B、インデキシングの変性〈variance〉(反変ならインデックス付き、共変なら余インデックス付き)の選択によって決まります。これで、幾何的議論の舞台が設定される、と言っていいでしょう。

グロタンディーク演算

層に関して、グロタンディークの六演算〈Grothendieck's six operations〉というものがあります(例えば、nLabエントリー)。f:X→Y in B、R∈|CRng-Sh[X]|(CRng可換環の圏)、A∈|R-Mod-Sh[X]| だとして:

  1. fによる前送り〈pushout | push-forward | 順像 | direct image〉 f* : C-Sh[X]→C-Sh[Y]
  2. fによる引き戻し〈pullback | 逆像 | inverse image 〉 f-1 : C-Sh[Y]→C-Sh[X]
  3. Aによるテンソルtensor product〉 -\otimesA : R-Mod-Sh[X]→R-Mod-Sh[X]
  4. Aによる内部ホム〈internal hom〉 [A, -] : R-Mod-Sh[X]→R-Mod-Sh[X]
  5. fによる固有前送り〈proper pushout | proper push-forward | 固有順像 | proper direct image | extraordinary direct image | exceptional direct image〉 f! : C-Sh[X]→C-Sh[Y]
  6. fによる固有引き戻し〈proper pullback | 固有逆像 | proper inverse image | extraordinary inverse image | exceptional inverse image〉 f! : C-Sh[Y]→C-Sh[X]

f*とf-1が、記号のバランスが悪いですね -- この点は後で述べます。

2つずつ組になって3つの随伴ペアを構成します。

  1. f-1 -| f*
  2. -\otimesA -| [A, -]
  3. f! -| f!

f! \stackrel{\sim}{=} f-1 のときは、随伴トリプルになります。

  • f! -| f-1 -| f*

6つの演算のなかで、f!は構成が難しいので五演算として使うこともあります。f!も、微分幾何ではあまり使わないので四演算(4種類の関手)でもいいかも知れません。以下では、f*(前送り)、f-1(引き戻し) のニ演算(2種類の関手)について述べます。

前送りと、その記法

前送り f* と引き戻し f-1 の記号のバランスが悪いのですが、この書き方は比較的よく使われていると思います。f* は別な意味で使われること(後述)が多いので、f-1 が使われるようです(f* と f* を使う人も、もちろんいます)。ただ、f-1 も多用され過ぎ -- 逆関数も集合レベルの逆像も f-1 です。

いっそ、新しい書き方、f|- と f-| ではどうでしょうか。肩に乗せているのは '-|' で '-1'(マイナス・イチ)ではありません。ここでは、これを使うことにします。

  • 前送り f|-
  • 引き戻し f-|

肩にマイナス・イチを乗せた f-1 は集合レベルの逆像に使います。

さて、前層/層の前送りの意味ですが、空間のあいだの準同型写像 f:X→Y in B に対して、関手 f|-:C-PSh[X]→C-PSh[Y] は次のように定義できます。

  • For V∈|Open(Y)op|, (f|-(A))(V) := A(f-1(V))

ここで、Open(Y) は、位相空間Yの開集合達の順序集合を圏とみなしたものです。Aは、C-PSh[X] の対象、つまり、空間X上の前層です。

前送り f|-:C-PSh[X]→C-PSh[Y] 達は、全体として余インデックス付き圏 C-PSh[-]:BCAT を構成します。この余インデックス付き圏からグロタンディーク構成したファイバー付き圏が C-Presheaf*B だったので、グロタンディーク平坦化圏(正確には余平坦化圏) C-Presheaf* の射Fは次の形に書けます。

  • F:(X, A)→(Y, B) where X, Y∈|B|, A∈|C-PSh[X]|, B∈|C-PSh[Y]|
  • F = (F0, F#) where F0:X→Y in B, F#:B→(F0)|-(A) in C-PSh[Y]

F = (F0, F#) のF0はベース圏Bの射なので、ベース射〈base morphism | 底射〉と呼びましょう。F#のほうは、Fの余射〈comorphism〉パートと呼びます。ベース射と余射は方向が逆であることに注意してください。

C-Presheaf* の射の余射として、F* という書き方がよく使われます。そのせいで、引き戻し〈逆像〉関手のほうには f* を使わないことがあるのです。nLabのエントリー(例えば"ringed space")では、余射にf#を使っていて、f*は引き戻し関手としています。

いま、前層について述べた構成は、層についてもそのまま使えるので、ファイバー付き圏 C-Sheaf*B が作れます -- この層の圏〈category of sheaves〉が、層を使う場合の標準的なセットアップです。

引き戻しを使った表現

前節で述べた標準的なセットアップ C-Sheaf*B は、構成法が素直で容易です。これでたいていの話は間に合います。しかし、実際の微分幾何では、別な状況が現れたりします。

C-Sheaf*B の枠組みでは、f:X→Y in B があると、fに載った層射 (X, A)→(Y, B) の余射は空間Y上に居ます。層射の議論は、写像の余域側の空間上で行われます。これとは逆に、写像の域側の空間で議論する場合もあります -- この状況を実現するには、層の引き戻し関手を使います。

f:X→Y in B に対する引き戻し関手 f-|:C-PSh[Y]→C-PSh[X] の構成には、位相的な議論が必要で、ターゲット圏Cに十分な極限(余極限も含む)がないと引き戻しを作れません。前層レベルで引き戻しを作れても、それが層にならないこともあります(そのときは層化する、これにも極限が必要)。

そんなわけで、前送りに比べて引き戻しは厄介です。しかし、引き戻しがちゃんと作れれば、インデックス付き圏 BopCAT からのファイバー付き圏 C-Sheaf*B を構成できます。

C-Sheaf* の射は次の形をしています。

  • F:(X, A)→(Y, B) where X, Y∈|B|, A∈|C-Sh[X]|, B∈|C-Sh[Y]|
  • F = (F0, F) where F0:X→Y in B, F:(F0)-|(B)→A in C-Sh[X]

F = (F0, F) において、前送りの場合と同じく、F0ベース射でF余射です。ベース射と余射は方向が逆です。前送りのときと違うのは、余射Fのプロファイル (F0)-|(B)→A です。Y上に居たBを、引き戻しでX上に運んできています。

  • 前送りの場合: F#:B→f|-(A) in C-Sh[Y]
  • 引き戻しの場合:F:f-|(B)→A in C-Sh[X]

f|- と f-| は、随伴ペア f-| -| f|- を形成しているので、次の同型が(系統的に)成立します。

  • C-Sh[X](f-|(B), A) \stackrel{\sim}{=} C-Sh[Y](B, f|-(A))

これにより、f = F0 に対して F <--> F# という1:1の対応があります。つまり、前送りを使っても引き戻しを使っても実質的な差はないことになります。

前送りによる C-Sheaf* と、引き戻しによる C-Sheaf* が別々にあるのではなくて、単一の圏 C-Sheaf があって、それに二種類の表現手法があるのだ、とみなすほうがいいかも知れません。ホムセットのレベルで次の同型があります。

  • C-Sheaf((X, A), (Y, B))/f \stackrel{\sim}{=} C-Sh[X](f-|(B), A) \stackrel{\sim}{=} C-Sh[Y](B, f|-(A))

ここで、C-Sheaf((X, A), (Y, B))/f は、(X, A) から (Y, B) への C-Sheaf 内の層射で、ベース射fに載った層射の集合です。

注意すべきこと

ひとくちに層/層射とはいっても、空間Xを固定した C-Sh[X] と、空間を固定しない C-SheafB では雰囲気がだいぶ違います。

C-Sh[X] の対象は「X上のCの層」(例:集合の層、アーベル群の層)、C-Sheaf の対象は「C付き空間」(例:可換環付き空間、加群付き空間)と呼べばよさそうです。が、一律にこの命名規則が適用できるわけではありません。集合の層を載せた空間を「集合付き空間」とは聞いたことがないです。

C-Sh[X] の射と C-Sheaf の射も区別しないとかなりの混乱をまねくのですが、区別する適切な方法がありません。空間をXに固定してベース射を恒等射 idX に限った C-Sh[X] の層射は、イントラ層射〈intra-spacial sheaf morphism〉、内的層射〈domestic sheaf morphism〉、拘束層射〈fettered sheaf morphism〉などの形容詞を付ければいいと思いますが、実際の事例は知りません。いずれにしても、概念的には、C-Sh[X] に属する対象/射と C-Sheaf に属する対象/射をシッカリ区別しましょう。

C-Sheaf の射(いわば、無拘束層射)は、異なる空間を自由にまたがる射ですが、その表現として前送り形式と引き戻し形式があるのでした。

  • 前送り形式 : F = (F0, F#)
  • 引き戻し形式 : F = (F0, F)

ふたつの表現形式は随伴で繋がっているので自由に交換できます。しかし、交換することと混同することは違います。これも、概念的には(一度は)シッカリ区別しましょう。


テンソル積と内部ホム、前層の層化などの話題には触れてませんが、それはいずれまた。

*1:前層とは関手のことなので、層とは“貼り合わせ可能関手”〈gluable functor〉です。

*2:単なる忠実関手のことで、随伴パートナーを持つことを要求したりはしていません。

*3:CATは、必ずしも小さくない圏の圏です。サイズが気になるなら、小さい圏の圏Catにしてください。