拓撲數據分析 - 持續同調(三)

拓撲數據分析 - 持續同調(三)

來自專欄湃勢科技12 人贊了文章

在這一部分,我們開始應用我們從第1和 第2部分學到的數學來計算單純復形有趣的拓撲特徵。

回到單純同調

我們已經討論了足夠多的群論內容,能夠完成我們在單純復形上的同源群的計算。你們應該回憶一下,我們已經給出了第 n 個同源群和第 n 個連通數的定義。

連通數是我們的終極目標。他們很好地總結了單純復形的拓撲性質。如果我們有一個形成單一圓形物體的單純復形,那麼 b_0 (第 0 連通數)代表連接組件的數量(它是 1 ),而 b_11 維孔的數量(即圈),它也等於 1 ,但 b_n, n>1 是高維孔,而它等於 0

我們來看看是否可以計算一個簡單三角形單純復形的連通數。

mathcal T = 	ext{ {{a}, {b}, {c}, [a, b], [b, c], [c, a]} } (在下面有描述)

目測 mathcal T 的連通數 b_0=11 個連接的組件), b_1=11 個孔),我們只計算那些連通數。

讓我們慢慢地完成整個步驟。首先我們要注意 n 維鏈。

0 維鏈是 0 維單形的集合: {{a},{b},{c}}1 維鏈是 1 維單形的集合: [a, b], [b, c], [c, a] 。該單純復形沒有更高維的 n 維鏈了。

現在我們可以用 n 維鏈定義鏈群。我們準備用 mathbb Z_2 的係數, mathbb Z_2 是一個只有兩個元素 {0,1} 的域,其中 1+1=0

0 維鏈群被定義成: \ C_0 = {{x*(a,0,0)}, {y*(0,b,0)}, {z*(0,0,c)} mid x,y,z in mathbb Z_2}

這個群只定義了加法運算,但我們在 mathbb Z_2 中用乘法構建了這個群。因此這個群與 mathbb Z_{2}^{3} = Z_{2} oplus Z_{2} oplus Z_{2} 同構。

但我們也想把鏈群表示成向量空間。這意味著它成為一種結構,這個結構中的元素可以通過域中的元素放大或縮小(即乘法運算),並加在一起,所有的結果仍然在結構中。如果我們只關注加法運算,那麼我們看到的是群結構,但如果我們關注加法和乘法運算,那麼我們可以把它看作向量空間。

0維鏈向量空間通過以下方法生成: \ mathscr C_0 = {{x*(a,0,0)}, {y*(0,b,0)}, {z*(0,0,c)} mid x,y,z in mathbb Z_2}

(是的,它和上面的群是相同的集合)

向量空間是集合的一組元素,我們可以乘上 01 ,然後把它們加起來。例如: 1*(a,0,0) + 1*(0,0,c) = (a,0,c) ,這個向量空間非常小( 2^3=8 個元素),我們可以列出所有的元素。他們是:

\ mathscr{C_0} = egin{Bmatrix} (a,0,0), (0,b,0), (0,0,c), (a,b,0) \ (a,b,c), (0,b,c), (a,0,c), (0,0,0) end{Bmatrix}

你可以看到,我們可以在這個向量空間中添加任何兩個元素,結果將是向量空間中的另一個元素。隨便舉個例子: (a,0,c) + (a,b,c) = (a+a,0+b,c+c) = (0,b,0) 。加法是分量方式的。我們也可以用向量乘以一個域 mathbb Z_2 中的元素,但因為我們的域只有兩個元素,結果比較無聊,只有 1*(a,b,0) = (a,b,0)0*(a,b,0) = (0,0,0) ,但乘法運算仍然會在我們的向量空間中產生一個元素。

我們可以把這個向量空間表示為一個多項式,那麼我們的0維鏈向量空間能等價地定義為:

\ mathscr{C_0} = {xa + yb + zc mid z,y,z in mathbb Z_2}

我們可以很容易地把一個多項式 a+b+c 翻譯成它的有序集符號 (a,b,c) ,或者 a+b(a,b,0) 。作為多項式集合的向量空間是這樣的: \ mathscr{C_0} = egin{Bmatrix} 	ext{ {0}, {a}, {b}, {c}, {a+b}, {b+c}, {a+c}, {a+b+c}} end{Bmatrix}

一般來說,使用多項式形式更方便,因為我們可以做一些熟悉的代數方程,像這樣: a+b=0 \a = -b \a = b

(記得 mathbb Z_2 中的一個元素的逆是它自己,即 -b=b ,其中「 - 」表示負)。

注意: 知道我們討論的是群體還是向量空間是非常重要的。我將用普通的 C 代表鏈群而花體 mathscr C 代表鏈(向量)空間。它們具有相同的底層集,只是定義了不同的操作。如果我們討論群形式,我們只能參考它的加法運算,而如果我們討論向量空間形式,我們可以討論它的乘法運算和加法運算。

我們對1維鏈進行相同的操作: [a, b], [b, c], [c, a] 。我們可以用 1 維鏈集定義另一個鏈群, C_1 。它將與 C_0mathbb Z_{2}^{3} 同構。 C_1 = { ( x([a, b]), y([b, c]), z([c, a]) ) mid x,y,z in mathbb Z_2 } 我們可以用和定義 C_0 同樣的方法來使用這個鏈定義向量空間 mathscr C_1 。我將使用多項式形式。記住,鏈群和向量空間有相同的集合,只是向量空間有兩個二進位運算而不是一個。這是向量空間中元素的完整列表: \ mathscr{C_1} = egin{Bmatrix} 	ext{ {[a, b]}, {[b, c]}, {[c, a]}, {[a, b] + [b, c]}, {[b, c] + [c, a]}, {[a, b] + [c, a]}, {[a, b] + [b, c] + [c, a]}, {0} } end{Bmatrix} 為了澄清邊界圖,這裡有一個圖。這說明了邊界操作符如何映射 C_0 的每個元素到 C_1 的元素。

現在我們可以開始計算第一個連通數, b_0

回想一下連通數的定義:

n 個連通數 b_n 定義為 H_n 的維度, b_n = dim(H_n)

再回憶一下同調群的定義:

n 個同調群 H_n 定義為 H_n=Kerpartial_n/Impartial_{n+1}

最後,回顧一下內核的定義:

partial(C_n) 的核(記作 Ker(partial(C_n)) )是 nZ_n subseteq C_n 的群,其中 partial(Z_n) = 0

首先,我們需要邊界 C_0 的核 Kerpartial(C_0) 。記得邊界映射 partial 為我們提供了 C_n 
ightarrow C_{n-1} 的映射。

在所有情況下,邊界的 0 維鏈是 0 ,因此 Kerpartial(C_0) 是整個 0 維鏈。 Kerpartial(C_0) = {a, b, c} 這形成了另一個 0 圈的群,記為 Z_0 (或者 Z_n ), Z_0C_0 的子群,即 Z_n leq C_n 。加上 Z_2 的定義, Z_0 也與 Z_2 同構,因此它和 C_0 一樣。

另一件事是我們需要找到同調群 H_0Impartial_{1} 。這形成了 Z_0 的子群,記作 B_0 ,它是 (n+1) 維鏈的邊界的群。因此 B_n leq Z_n leq C_npartial{C_1} = partial({[a, b], [b, c], [c, a]} = (a + b) + (b + c) + (c + a) \ partial{C_1} = (a + b) + (b + c) + (c + a) = (a + a) + (b + b) + (c + c) = (0) + (0) + (0) = 0 \ partial{C_1} = 0

所以 Impartial_{1} = 0

因此我們計運算元群 H_0 = Z_0 / B_0 ,這種情況下: Z_0 = 	ext { { {a, b, c}, {0} } } \ B_0 = {0}

所以我們用 Z_0 中兩個元素中的 {0} 的左陪集來得到商群: \ Z_0 / B_0 = 	ext { { {a, b, c}, {0} } } = Z_0

總之,如果 B_n = {0} ,那麼 Z_n / B_n = Z_n ,所以 H_0 = Z_0

連通數 b_0H_0 = Z_0 的維度。什麼是 H_0 的維度?它有兩個元素,但是維度被定義為一個群中最小的生成元集合,因為這個群與 Z_2 同構,所以它只有 1 個生成元。因為整個群可以通過反覆加 1 來形成,即 1+1=0, 1+1+1 = 1 ,然後我們就能得到整個 Z_2 ,所以 Z_2 的生成元是 1

所以 b_0 = dim(H_0) = 1 ,這就是我們所期望的,這個單純復形有 1 個相連的分量。

現在開始計算 1 維連通 b_1 。這次它可能會有些不同,因為計算 	ext{Ker}partial(C_1) 將變得更複雜。我們需要做一些代數運算。

所以,第一,我們需要 Z_11 維圈的群。這是邊界為 01 維單形的集合。記得 1 維鏈是 { [a,b], [b,c], [c,a]} ,而當它應用在 Z_1 上,它形成了 1 維鏈群 C_1 。我們將構建這樣一個等式:

\ mathscr C_1 = lambda_0([a,b]) + lambda_1([b,c]) lambda_2([c,a]) 	ext{ ... 其中 $lambda_n in mathbb Z_2$, 這是向量空間$mathscr C_1$中任何元素的一般形式 } \ lambda_0([a,b]) + lambda_1([b,c]) + lambda_2([c,a]) = 0 	ext{ ... 然後取邊界} \ partial(lambda_0([a,b]) + lambda_1([b,c]) + lambda_2([c,a])) = 0 \ lambda_0(a+b) + lambda_1(b+c) + lambda_2(c+a) = 0 \ lambda_0{a} + lambda_0{b} + lambda_1{b} + lambda_1{c} + lambda_2{c} + lambda_2{a} = 0 \ a(lambda_0 + lambda_2) + b(lambda_0 + lambda_1) + c(lambda_1 + lambda_2) = 0 	ext{ ...提出因數 a,b,c}

滿足這個方程後,需要把每一項的所有係數 lambda_n 加起來等於 0 ,來讓 a,b,c 變成 0 。也就是說,如果整個等式等於 0 ,那麼每一項都等於 0 ,如 a(lambda_0 + lambda_2) = 0 ,因此 lambda_0 + lambda_2 = 0 。現在我們有了一個線性方程組:

lambda_0 + lambda_2 = 0 \ lambda_0 + lambda_1 = 0 \ lambda_1 + lambda_2 = 0 \ 	ext{...得出...} \ lambda_0 = lambda_2 \ lambda_0 = lambda_1 \ lambda_1 = lambda_1 \ lambda_0 = lambda_1 = lambda_2

對於上面的方程,所有的係數都是相等的。我們用一個符號替換所有的 lambda ,即 lambda_0, lambda_1, lambda_2 = phi

現在,讓我們回到1維鏈向量空間的一般表達式 mathscr C_1 = lambda_0([a,b]) + lambda_1([b,c]) + lambda_2([c,a]) 。當我們把它的邊界設為 0 時,我們會得到 lambda_0 = lambda_1 = lambda_2 ,而我建議我們用符號 phi 代替。

因此,循環群:

\ Z_1 leq mathscr C_1 = phi([a,b]) + phi([b,c]) + phi([c,a]) \ Z_1 = phi([a,b] + [b,c] + [c,a]), 	ext{ ...記住 $phi$ 來自 $mathbb Z_2$,所以它是0或1。}

因此循環群只包含兩個元素,它和 Z_2 同構。

我會引入新的符號。如果數學結構 G_1,G_2 同構,那麼我們記作 G_1 cong G_2

如果 phi = 0 ,那麼 phi([a,b] + [b,c] + [c,a]) = 0([a,b] + [b,c] + [c,a]) = 0 ,但如果 phi = 1 ,那麼 phi([a,b] + [b,c] + [c,a]) = 1([a,b] + [b,c] + [c,a]) = [a,b] + [b,c] + [c,a] ,所以整個群是: \ Z_1 = egin{Bmatrix} [a,b] + [b,c] + [c,a] \ 0 end{Bmatrix}

邊界群 B_1 = Impartial(C_2) ,但因為 C_2 是空集,所以 B_1 = {0}

我們可以再次計算出同源群: \H_1 = Z_1 / B_1 = egin{Bmatrix} [a,b] + [b,c] + [c,a] \ 0 end{Bmatrix}

而連通數 b_1 = dim(H_1) = 1 ,因為在群 H_1 中,我們只有一個生成元。

所以這就是非常簡單的單純復形。我們將轉到一個更大的復形。這次我將不會詳細介紹,並將使用許多我已經定義或描述過的簡化符號和約定俗成。

讓我們來完成和之前差不多,但更複雜的單純復形: \ S = 	ext{{[a], [b], [c], [d], [a, b], [b, c], [c, a], [c, d], [d, b], [a, b, c]}}

(下面是描述)

注意現在我們有一個 2 維單形 [a,b,c] ,被描繪成實心三角形。

這次我們用整個整數域 mathbb Z 作為我們的係數,所以由此產生的向量空間將是無限的,而不是我們可以列出的有限空間。既然我們用了 mathbb Z ,我們就必須定義「負」單形是什麼意思,即 -[c,a] 的意義?我們之前討論過了,基本上,我們定義了兩種方法,一個單純形可以被定向,而對原定義的相反方向則被賦予一個單純形的「負」值。

所以 [a,c] = -[c,a] 。但 [a,b,c] 呢?有兩種方法來排列 3 個元素列表,但它只有兩個方向。

如果你見過以前的定向單形:

這隻有兩種方法可以「圍繞」循環,順時針或者逆時針。

[a,b,c] 是順時針。

[c,a,b] 也是順時針。

[a,c,b] 是逆時針,所以 [a,b,c] = [c,a,b] = -[a,c,b] = -[b,c,a]

讓我們從列出我們的鏈組開始。 \C_0 = langle{a,b,c,d}
angle cong mathbb Z^4 \ C_1 = langle{[a, b], [b, c], [c, a], [c, d], [d, b]}
angle cong mathbb Z^5 \ C_2 = langle{[a, b, c]}
angle cong mathbb Z

回想一下方括弧的含義,這顯然比我們在最後一個例子中構建群的方式要簡單得多。注意每個群都與向量空間 mathbb Z^n 同構,其中 nn 維鏈中單形的數量。

我們可以這樣描述我們的鏈結構: \ C_2 stackrel{partial_1}
ightarrow C_1 stackrel{partial_0}
ightarrow C_0

我們知道,我們可以很輕易地將這個單純復形可視化,因為它有一個連接組件和一個1維循環(一個1維孔)。因此,連通數 b_0 = 1, b_1 = 1 ,但我們需要自己計算。

讓我們從高維鏈群開始,即 2 維鏈群。

記住, Z_n = 	ext{Ker}partial(C_n) n 維循環的群,它是 C_n 的子群。而 B_n = 	ext{Im}partial(C_{n+1})n 維邊界的群,它是 n 維循環的子集。因此 B_n leq Z_n leq C_n 。還記得同調群 H_n = Z_n / B_n 而第 n 個連通數是 n 維同調群的維度。

為了得到 Z_n ,我們需要為 C_n 中的一般元素設置表達式。 \ egin{aligned} C_2 &= lambda_0{[a,b,c]}, lambda_0 in mathbb{Z} \ Z_2 &= 	ext{Ker}partial{(C_2)} \ partial{(C_2)} &= lambda_0{([b,c])} - lambda_0{([a,c])} + lambda_0{([a,b])} 	ext{ ...讓它等於0以得到核} \ lambda_0{([b,c])} - lambda_0{([a,c])} + lambda_0{([a,b])} &= 0 \ lambda_0{([b,c] - [a,c] + [a,b])} &= 0 \ lambda_0 &= 0 	ext{ ... $lambda_0 = 0$只有一個解,所以 $0=0$. } \ lambda_0{[a,b,c]} &= 0, lambda_0 = 0 	ext{ ... 所以$C_2$中沒有一個元素等於0,因此核中只有{0}} \ ... \ 	ext{Ker}partial{(C_2)} &= {0} \ end{aligned}

因為沒有 3 維單形或更高, B_2 = {0} 。因此連通數 b_2 = dim({0} / {0}) = 0 。這就是我們所期望的,單純復形里沒有 2 維洞。

讓我們用同樣的方法處理 C_1

\ egin{aligned} C_1 &= lambda_0[a, b] + lambda_1[b, c] + lambda_2[c, a] + lambda_3[c, d] + lambda_4[d, b], lambda_n in mathbb{Z} \ Z_1 &= 	ext{Ker}partial{(C_1)} \ partial{(C_1)} &= lambda_0{(a - b)} + lambda_1{(b - c)} + lambda_2{(c - a)} + lambda_3{(c - d)} + lambda_4{(d - b)} \ 	ext{ ...讓它等於0以得到核} \ lambda_0{(a - b)} + lambda_1{(b - c)} + lambda_2{(c - a)} + lambda_3{(c - d)} + lambda_4{(d - b)} &= 0 \ lambda_0a - lambda_0b + lambda_1b - lambda_1c + lambda_2c - lambda_2a + lambda_3c - lambda_3d + lambda_4d - lambda_4b &= 0 	ext { ...指出 a,b,c,d}\ a(lambda_0 - lambda_2) + b(lambda_1 - lambda_0 - lambda_4) + c(lambda_2 - lambda_1 + lambda_3) + d(lambda_4 - lambda_3) &= 0 \ 	ext{現在我們可以建立一個線性方程組...} \ lambda_0 - lambda_2 &= 0 \ lambda_1 - lambda_0 - lambda_4 &= 0 \ lambda_2 - lambda_1 + lambda_3 &= 0 \ lambda_4 - lambda_3 &= 0 \ 	ext{解方程,把答案放回$C_1$表達式中...} \ lambda_0([a,b] + [b,c] + [c,a]) + lambda_3([b,c] + cancel{[a,c]} + [c,d] + cancel{[c,a]} + [d,b]) &= 	ext{Ker}partial{(C_1)} \ 	ext{Ker}partial{(C_1)} &= lambda_0([a,b] + [b,c] + [c,a]) + lambda_3([b,c] + [c,d] + [d,b]) \ Z_1 = 	ext{Ker}partial{(C_1)} &cong mathbb Z^2 end{aligned}

現在開始求邊界 B_1 = Impartial(C_2)

\ egin{aligned} partial(C_2) &= lambda_0{([b,c])} - lambda_0{([a,c])} + lambda_0{([a,b])} 	ext {... 記住 $-[a,c] = [c,a]$ ...} \ partial(C_2) &= lambda_0{([b,c] + [c,a] + [a,b])} \ B_1 = Impartial(C_2) &= {lambda_0{([b,c] + [c,a] + [a,b])}}, lambda_0 in mathbb Z \ B_1 &cong Z \ H_1 = Z_1 / B_1 &= {lambda_0([a,b] + [b,c] + [c,a]) + lambda_3([b,c] + [c,d] + [d,b])} / {lambda_0{([b,c] + [c,a] + [a,b])}} \ H_1 &= {lambda_3([b,c] + [c,d] + [d,b])} cong mathbb Z end{aligned}

另一種更容易計算出商群 H_1 = Z_1 / B_1 的方法是注意 Z_n, B_nmathbb Z^n 中的什麼同構。在這種情況下:

\Z_1 cong mathbb Z^2 \ B_1 cong mathbb Z^1 \ H_1 = mathbb Z^2 / mathbb Z = mathbb Z

所以因為 H_1 cong mathbb ZH_1 的連通數是 1 ,因為 mathbb Z 的維度是 1 (它只有一個生成元)。

我想你們現在已經明白了,我不打算講所有計算連通數 b_0 的細節了,它應該是 1 ,因為只有一個連接的分量。

預告

我們已經掌握了如何手工計算簡單的單純復形的同調群和連通數。但是我們需要開發一些新的工具,這樣我們就可以讓計算機演算法來處理一些真實的,通常更大的單純復形的計算。下一節我們將會看到線性代數是如何為我們提供一種有效的方法的。

參考文獻(網站)

1. Applying Topology to Data, Part 1: A Brief Introduction to Abstract Simplicial and ?ech Complexes.

2. math.uiuc.edu/~r-ash/Al

3. Group (mathematics)

4. Homology Theory — A Primer

5. suess.sdf-eu.org/websit

6. mit.edu/~evanchen/napki

參考文獻(學術刊物)

1. Basher, M. (2012). On the Folding of Finite Topological Space. International Mathematical Forum, 7(15), 745–752. Retrieved from m-hikari.com/imf/imf-20

2. Day, M. (2012). Notes on Cayley Graphs for Math 5123 Cayley graphs, 1–6.

3. Doktorova, M. (2012). CONSTRUCTING SIMPLICIAL COMPLEXES OVER by, (June).

4. Edelsbrunner, H. (2006). IV.1 Homology. Computational Topology, 81–87. Retrieved from Computational Topology

5. Erickson, J. (1908). Homology. Computational Topology, 1–11.

6. Evan Chen. (2016). An Infinitely Large Napkin.

7. Grigor』yan, A., Muranov, Y. V., & Yau, S. T. (2014). Graphs associated with simplicial complexes. Homology, Homotopy and Applications, 16(1), 295–311. HHA 16 (2014) No. 1 Article 16

8. Kaczynski, T., Mischaikow, K., & Mrozek, M. (2003). Computing homology. Homology, Homotopy and Applications, 5(2), 233–256. HHA 5 (2003) No. 2 Article 8

9. Kerber, M. (2016). Persistent Homology – State of the art and challenges 1 Motivation for multi-scale topology. Internat. Math. Nachrichten Nr, 231(231), 15–33.

10. Khoury, M. (n.d.). Lecture 6 : Introduction to Simplicial Homology Topics in Computational Topology : An Algorithmic View, 1–6.

11. Kraft, R. (2016). Illustrations of Data Analysis Using the Mapper Algorithm and Persistent Homology.

12. Lakshmivarahan, S., & Sivakumar, L. (2016). Cayley Graphs, (1), 1–9.

13. Liu, X., Xie, Z., & Yi, D. (2012). A fast algorithm for constructing topological structure in large data. Homology, Homotopy and Applications, 14(1), 221–238. HHA 14 (2012) No. 1 Article 11

14. Naik, V. (2006). Group theory : a first journey, 1–21.

15. Otter, N., Porter, M. A., Tillmann, U., Grindrod, P., & Harrington, H. A. (2015). A roadmap for the computation of persistent homology. Preprint ArXiv, (June), 17. Retrieved from [1506.08903] A roadmap for the computation of persistent homology

16. Semester, A. (2017). § 4 . Simplicial Complexes and Simplicial Homology, 1–13.

17. Singh, G. (2007). Algorithms for Topological Analysis of Data, (November).

18. Zomorodian, A. (2009). Computational Topology Notes. Advances in Discrete and Computational Geometry, 2, 109–143. Retrieved from CiteSeerX - Computational Topology

19. Zomorodian, A. (2010). Fast construction of the Vietoris-Rips complex. Computers and Graphics (Pergamon), 34(3), 263–271. Redirecting

20. Symmetry and Group Theory 1. (2016), 1–18. Redirecting


推薦閱讀:

非線性泛函分析導論(一)
智能的奧秘(二)——通向妖巢的道路
6. 幼稚園學術:什麼是拓撲

TAG:數據分析 | 拓撲學 | 機器學習 |