単体と複体
単体を感じよう
単体
1.単体と複体
このワークシートはMath by Codeの一部です。
<単体>
CGの世界では、物体を作るときにポリゴン(多角形)を張り合わせて作ります。
一番単純なポリゴンは三角形ですね。
位相空間の物体は単純な部品、図形に分割することで調べやすくなる。
位相空間そのものも、単純な図形に分解することで調べやすくなるでしょう。
それぞれの次元で一番単純な図形を単体(simplex)といいます。
簡単のために「i次元単体のことをi単体」と呼ぼう。
(例)
0単体として点A
1単体として線分AB、
2単体なら三角形ABC、
3単体では三角錐(四面体)ABCD、……
とかですね。
では、単体の共通点は何でしょうか。
有限、
中がつまっている、
内部と外部の境界がある、
などです。
もっというと、食塩水の混合濃度のようなものです。
なんのことかわからないですよね。
3%と5%のこさの混合濃度は3から5まで変化します。
[3,5]という閉区間ともいえます。
3s+5t( s+t=1 で0≦s, t ≦1) とかけますね。
混合濃度は3,5という濃さの点を基底として、その線形結合、一次結合です。
n単体は、その次元(n+1)の数だけ、頂点の位置ベクトルをとり、その線形結合となる図形です。
書きやすさと読みやすさとgeogebraの勝手な変換を避けるために
ベクトルをAとかくことにします。
点Aは0単体で sA
線分ABは1単体で sA+tB
三角形ABCは2単体で sA+tB+uC
四面体ABCDは3単体で sA+tB+uC+vD
(係数s,t,u,vは和が1で非負です。)
一般化すると、
n+1個の頂点ABCD....を並べて||でかこってn単体を表します。
n次元単体ABCD.....は ΣkiAi ( Σki=0, 0≦ki≦1)と一次結合でかけます。
このように、非負の係数をつけた1次結合を凸図形とかなどといったりするね。
・単体の面
単体の次元は頂点の数で決まります。
だから、単体から1頂点をぬくと、次元が1つ下がります、これを面(face)といいます。
単体が何次元でも、面は単体の境界部分、はしです。
n単体の1つの面はn-1次元だから、(n-1)次面とかいたりする。
(例)
3単体の四面体ABCDの面は点を4通りとれるから、4つの2次面BCD,ACD,ABD,ABC。
2単体の三角形ABCの面は点を3通りとれるから、3つの1次面BC,AC,AB。
1単体の線分ABの面は点を2通りとれるから、2つの0次面B,A。
・単体の向き
頂点の順番を変えて単体の向きをつけることができます。
これも<>をつけて表現することがよくありますが、
geogebraでは半角英数の大小記号を文中の入れるとタグ扱いされて保存が不完全になるので、
使わないことにします。
線分はAB=-BA (逆向き)
三角形はABC=-ACB (裏返し)
四面体はABCD=-ABDC (右ねじと左ねじ)
2単体から2単体複体をつくろう
<複体>
たとえば、複数の三角形を用意して、立体ができないように辺どうし、頂点どうしをつなぎます。
辺をくっつるときに、その辺の面(はし)もくっつけます。
もともとあった頂点が重なり、辺が重なり、ふえません。
三角形の面が連続してならぶ平面図形ができます。
これを2次元の複体(complex)といいます。
だから、単体から複体を作るということは、逆に図形を単体に分割して扱うという発想ができるし、
図形を計量的ではないが、代数計算で調べることに道がひらけるんだね。
(例)
四角形ABCDを対角線BDで区切る。
複体K={A,B,C,D, AB,BC,CD,DA,DB, BCD,ABD}
(一般的な定義)
複体Kは単体の集合体です。
Kの要素s,tが単体なら、
・sの面(境界、はし)uはすべt複体Kに入ってます。
・s∩tはsとtの共通の面(境界、はし)か空です。
Kの次元は|K|は、Kの単体の最大次元です。
0鎖、1鎖を感じよう
2.Cnの部分のZnの中にBnがある
<チェーン群Cn>
n次元の単体はn+1個の頂点を基底とする一次結合でした。
n次元の鎖、チェーンは複体Kの要素となる1次元単体を基底にするベクトルです。
順番も基本どうでもよく「基底を何個かたし算でつないだだけのくさり」ですが、
同類のベクトルでまとめると、
係数がそのベクトルをつないだ形になります。
簡単のために複体Kのn次元の鎖をn鎖(K)とかnC(K)かいたります。
・複体K={A,B,C,D,AB,BD,DA,DC,BC,BDC,ABD}
の鎖は、
0鎖C0(K)は sA+tB+uC+vD
1鎖C1(K)は sAB+tBD+uDA+vDC+wBC
2鎖C2(K)は sBDC+tABD (係数s,t,u,vは整数Z)です。
(計算の都合上、係数をmod2つまり、1,0だけに限定する場合もあります。)
チェーンは、それぞれの次元の基底に整数をかけた合計なので、次元をそのままですね。
整数自体に特に意味はないですが、点が基底ではなく、単体が基底であることに着目しよう。
チェーンの基底はベクトル空間の基底と同じ役割になり、係数はその成分ですから、
成分である整数が加法で群をなす以上、チェーンはそれぞれの次元で群を作るでしょう。
このような群を自由加群とよぶこともあります。
深い意味はなく適当に適当な数だけくっつけたというfreeな群な可換群です。
2つの巡回群C2,C3で直積C2×C3を作ると群C6になるのと同じですね。(同じCで紛らわしいですが)
n次元のチェーンの群をチェーン群Cnとか鎖群Cnといいます。もちろん可換群です。
係数の整数のたし算であることと可換群であることを強調して
Z加群という言い方をすることもあります。名前には意図が込められるのですね。
<境界演算子n>
境界演算子はチェーンにたいして作用できます。
単体に作用した結果がわかれば、チェーンは単体でできたおだんごのようなものですから、
チェーンにも作用できます。
n次境界演算子は、n鎖をn-1鎖に変換します。
n次のチェーンにたいする写像を境界演算子で、dnとします。
たとえば、
d1(AB)=B-A
d2(ABC)=BC-AC+AB
d3(ABCD)=BCD-ACD+ABD-ABC
こうなります。
規則が気付いたでしょうか。
まず、1個目の単体はもとの1番目のaがありません。
2個目の単体はもとの2番目のbがありません。。。。
そうです。n番目の単体はもとのn番目の点をぬいているだけです。
1番目から順に符号が、+-+-+の連続です。
そうです。もとの偶数番目がマイナスです。
境界演算子はたったこれだけのルールです。
どんな意味があるのでしょう。
たとえば、ABはベクトルのように考えると、終点ー始点になってます。
たとえば、ABCは辺がAB,BC,CAと輪になってます。acだけ逆向きにする必要がありますがマイナスです。
境界となる1つ次元をさげた単体を順番つきで並べているというイメージはつかめましたね。
(一般化ルール)要素aiのiを0からかぞえて、j番目をぬくこと(aj)とかくと
n境界子=dn(a0a1...aj....an)=Σ(-1)j|a0a1...(aj)....an|
(計算の都合上、チェーンの係数をmod2つまり、1,0だけに限定する場合は、符号はプラスだけです。)
<輪体群、サイクル群Zn>
境界演算子dnを写像と考えると、dn:Cn →Cn-1;d →0
「Ker(dn)=0となるCiのことをi次元の輪、輪体(サイクル)、ループ」といいます。これって、要するにチェーンがループしていて端、縁なし、だから、境界をとると0になるということです。簡単のためにn次元のサイクル、輪体をn輪とかこう。
n輪体の群をn輪群、サイクル群、Znとかきます。
n次のチェーン、n鎖体Cnが群をなしdnが線形だから、Cnの部分である輪Znも群をなします。
ZnはCnの部分になる図形たちですね。
(例)
1鎖C1∍c=AB+BC+CA
d1(c)=d(AB+BC+CA)=dAB+dBC+dCA=B-A+C-B+A-C=0だから、
cは1鎖で、ker(d1)=0なので、1輪です。ループですね。
(例)
1鎖の定数倍C1∍kc=kAB+kBC+kCA=k(AB+BC+CA)
d1(kc)=kd1(c)=k 0=0だから、1鎖のk倍も1鎖だから、群をなす。
dn(0)=0。dn(x+y)=dn(x)+dn(y), dn(kx)=kdn(x)このように、
dnを写像とみるとゼロ元が0で線形だから、Znは加群です。
サイクル群ZnはKer(dn)=0となる。Cnの境界になるループ図形だね。
(例)
三角形K=|ABC|のZ1={n(AB+BC+CA)}はC1の部分で、ループの整数倍の鎖だから、d1で境界をとると0になるし、そうなる要素の加減、定数倍、0倍したものにd1を作用させても0になるね。Z1=Ker(d1)だね。
Zn=Ker(dn)
<境界群、バウンダリー群Bn>サイクル、ループは2次元図形の境界(boundary)でした。
図形の境界の輪体になっているチェーンを境界輪体といいます。
1鎖C1∍c=AB+BC+CAは、三角形t=ABCというC2の要素の境界でした。
Ci∍cが境界になるのは、Ci+1∍tがあって、di+1(t)=cとなるときです。
境界輪体も群をなします。これを境界(輪体)Biという。
BnはCnの部分になる図形たちですね。
(例)
同じc=|ab|+|bc|+|ca|でも、
中が空ならばcは境界ではありません。
中の三角形がつまっていれば、cは三角形の境界といえます。
つまり、Bnは1つ上の次元にCn+1があり、その境界なのです。
(例)
三角形K=|ABC|のd2(K)=AB+BC+CAはZ1の部分。B1=Im(d2)
d2(C2)=d2(pK)=pd2(K)=p(AB+BC+CA)もB1の要素。pの部分の整数を変えてもB1に属するから、B1も群をなすね。B1はすべて、輪体Z1に入るね。
Bn=Im(dn+1)
境界輪体BiはCiの部分の図形で、境界写像dが線形だから、Biも群をなします。
これが境界輪体群Biです。
C1の部分のZ1の中にB1が入る
簡単にかくと、境界演算子を連続して使うと、
C2にある「三角形」→
C1にある「三角形の境界B1はサイクルZ1だ」→
C0にある「サイクルZ1の境界=0」
この3段階ができて、中間図形がZ1であり、B1であるということですね。
<境界の境界=0>
複体の境界演算子を連続して使うと、
どの段階でも鎖K=Cn+1の
「境界の境界はゼロ、dn(dn+1(K))=0」となる。
(理由)
(n+1)単体Pの境界dn+1(P)はn面からなる。Pのすべての(n-1)面はちょうど2つのn面に属するから。
境界を2回とると0になる。
これは言い換えると、
n鎖群Cnの部分の
n輪群Znの中に
n境界群Bnがある。