ホモロジー群とその計算例
本稿では位相幾何学における基本的な量であるホモロジー群と、いくつかの図形に対するホモロジー群の計算例について述べる。
位相不変量としてのホモロジー群
位相幾何学では、図形を位相空間であると捉え、位相同型な空間同士は同じ図形であると考えるというのが基本である。2つの位相空間A, Bが位相同型であるとは、連続な全単射で、も連続であるようなものが存在することを言う*1。
しかし、どうも一般に2つの空間が互いに位相同型であるかどうかを見分けることは難しいようで、位相幾何学では代わりに位相同型な空間の間で一定に保たれる性質、すなわち位相不変量に着目するようである。位相不変量としては、簡単なところではコンパクト性や連結性などが挙げられるが、ホモロジー群もその1つなのである。
2つの空間の間でこれらの位相不変量が一致することは、それらが位相同型であるための必要条件であるが、十分条件ではない。例えば、2つの位相空間が同じホモロジー群を持っていたとしても、それらが必ずしも位相同型であるとは限らない。しかし、少なくともホモロジー群が異なる空間同士が位相同型ではありえないことは分かるので、その意味でこのような位相不変量に着目することは有用であると言えよう。
ホモロジー群の定義
ホモロジー群の定義を理解するためには、以前の記事でも紹介した境界写像について理解する必要がある。本稿では境界写像については説明しないので、気になる方はググって頂くか、こちらの記事を見ていただきたい。
では、ホモロジー群の定義について述べてみる。位相空間Kのr+1次元鎖群に対する境界写像の像をとおく。また、r次元鎖群に対する境界写像の核をとおく。
一般に、r+1次元鎖cに対してとなることから、以下が成立する。
また、当然かつである。は自由アーベル群であり、かつ一般に自由アーベル群の部分群は自由アーベル群であるから、である。
このとき、以下の式で表される剰余群をr次元ホモロジー群と呼ぶ。
ホモロジー群の意味
ホモロジー群は位相空間の連結性や穴に関係がある。私も不勉強で明確に説明できるレベルには達していないが、例えば0次元ホモロジー群のrank(ホモロジー群のrankをベッチ数とも呼ぶ)は連結成分の数に対応しており、またのベッチ数は1次元的なループによる穴の数、は面により囲まれる3次元空間上の穴の数に対応していたりするようだ。詳しくは本稿の参考文献[2]を参照して頂きたい。
ホモロジー群の計算例
では、具体的にいくつかの図形についてホモロジー群を計算してみよう。初めは手計算を試みたのだが、あまりに大変なので断念し、今回もsageのお世話になることにした。
n次元球面
基本的な図形のいくつかはsageに最初から用意されている。n次元球面もその1つだ。以下のように計算できる。
sage: S1 = simplicial_complexes.Sphere(1) # 1次元球面を取得 sage: S1.homology() # ホモロジー群を計算 {0: 0, 1: Z}
最後の出力は、, であることを示している。しかし、これはなんだかおかしい。というのも、の連結成分は1つだから、にならなければならないはずだ。
sageのマニュアルを見ると、どうもhomology関数はデフォルトではreduced homologyなるものを計算しているらしい。これの正体はいまいち分からないが、普通のホモロジー群を計算するためには、以下のようにオプションを追加してやれば良いようだ。
sage: S1.homology(reduced=False) # Reduced homologyじゃないよ!というオプション {0: Z, 1: Z}
同様に計算してみる。
sage: S2 = simplicial_complexes.Sphere(2) sage: S2.homology(reduced=False) {0: Z, 1: 0, 2: Z}
同上。
sage: S3 = simplicial_complexes.Sphere(3) sage: S3.homology(reduced=False) {0: Z, 1: 0, 2: 0, 3: Z}
n次元球面まとめ
結果を以下の表にまとめる。
- | - | |||
0 | - | |||
0 | 0 |
n次元球面にはn+1次元の穴が1つだけ空いており、それ以外の穴は空いていない。それがのベッチ数に反映されている様子が見られた。楽しい。
トーラス
2次元トーラス(つまり普通のトーラス)も最初から用意されている。
sage: T2 = simplicial_complexes.Torus() sage: T2.homology(reduced=False) {0: Z, 1: Z x Z, 2: Z}
3次元以上のトーラスはプリセットとしては用意されていない。しかし、3次元トーラスはとなるので、1次元球面の直積を計算すればよい。
sage: T3 = S1.product(S1).product(S1) sage: T3.homology(reduced=False) {0: Z, 1: Z x Z x Z, 2: Z x Z x Z, 3: Z}
向き付け不可能な図形
向き付け不可能な図形についてもホモロジー群を計算してみよう。代表的なものとして、メビウスの帯とクラインの壺を取り上げる。
メビウスの帯
残念ながら、メビウスの帯はsageには用意されていない。そのため、頑張って単体分割から計算するしかなさそうだ。メビウスの帯を以下の図のように単体分割してみよう。
赤矢印で示した向きに左右の辺をくっつければメビウスの帯になる。これをsageで計算するには以下のようにすればよい。
sage: M = SimplicialComplex([[1, 2, 3], [3, 4, 1], [4, 3, 5], [5, 2, 4], [2, 5, 1]]) # 三角形を全て指定 sage: M.homology(reduced=False) {0: Z, 1: Z, 2: 0}
ちなみに、本当は三角形の辺とか頂点も含めないと単体複体の定義を満たさないが、これらは自動的に追加されているようだ。
結果を見ると、連結成分が1つで、1次元的なループによる輪っかが1つという、なんとも普通の結果になった。実は、ホモトピー同値*2な位相空間はホモロジー不変となるらしく、メビウスの帯のホモロジー群はと同じになるそうだ。詳細は参考文献[6]の議論を参照のこと。
クラインの壺
こちらはsageに用意されたものがあるので、それを利用しよう。
sage: K = simplicial_complexes.KleinBottle() sage: K.homology() {0: 0, 1: Z x C2, 2: 0}
ここで、Z x C2というのはを意味している。C2という表記は、2次元巡回群(Cyclic group)ということである。
ここで、始めてホモロジー群の中に捩れが登場した。これをどう幾何学的に解釈したらよいだろうか?私自身、まだ体系的に理解しているわけではないが、少なくとも今回のケースでは、クラインの壺を「捻れたトーラス」と捉えることができるのだと思っている。以下の図を見て頂きたい。
左はトーラス、右はクラインの壺を表している。同じ色の矢印で示した辺をこの向きにくっつけることで、それぞれの図形が出来上がる。ここで、クラインの壺は左右の辺の向きが逆になっているのがポイントである。これを同じ向きに揃えてくっつけるためには、まず青矢印の辺をくっつけたあと、ひねりを加えて赤矢印の辺をくっつけなければならない。これがホモロジー群の捩れとして現れているのではないだろうか?
もっとも、これを3次元ユークリッド空間内で実現しようと思うと、自身を貫くような形になってしまうため、本当は4次元空間で考えなければならない。
ここで、「メビウスの帯だって図形的に捩れているじゃないか」という疑問が思い浮かぶ訳だが、メビウスの帯はとホモトピー同値であり、本質的には捩れていなかったのだと考えるしかないのだろう。
まとめ
以上、ホモロジー群の定義と、いくつかの図形における具体的な計算例を示した。やはり具体例を見ることで現象への理解は格段に深くなる。ホモロジー群の捩れを一般的にどう解釈したらよいのかはまだ未知であるが、それはおいおい考えてみよう。
参考
[1]
- 作者: 杉原厚吉,岡部靖憲,米谷民明,和達三樹
- 出版社/メーカー: 朝倉書店
- 発売日: 2001/09
- メディア: 単行本
- 購入: 1人 クリック: 110回
- この商品を含むブログ (2件) を見る
[2] http://www.npo-tsubasa.jp/okawa/2014/okawa1.pdf
[3] Reduced homology - Wikipedia
[4] Finite simplicial complexes — Sage Reference Manual v7.6: Cell complexes and their homology
[5] http://infohost.nmt.edu/~iavramid/notes/topicsdiffgeom-simplhom.pdf