陳鍾誠

Version 1.0

幾何學的歷史

歐氏幾何

兩千多年前,在西元前三百年左右,希臘時代的歐幾里得,總結了當時的幾何學知識 寫下了《幾何原本》!

將近兩千年後, 歐洲人早已遺忘了這些知識,但這些知識, 卻在穆斯林人的手上傳承

在 15 世紀的文藝復興時期,這些知識又傳回了歐洲

解析幾何

1637 年, 笛卡兒在《方法論》的附錄中提出了 《解析幾何》的基本方法。, 以哲學觀點寫成的這部法語著作

笛卡兒的《解析幾何》,為後來牛頓和萊布尼茨各自提出微積分學提供了基礎。

問題是, 甚麼是《歐氏幾何》 ? 甚麼又是《解析幾何》呢?

其實, 中學的時候我們都學過, 只不過搞不清楚誰是誰?

那些有用座標的, 就是笛卡兒的解析幾何

而只用圓規和直尺的, 就是《歐氏幾何》

笛卡兒引入的座標, 看來只是一小步 …, 但對學術世界卻有強大的影響

座標概念, 導致《代數》與《幾何》 兩個領域的融合

於是, 點、線、面、體等幾何形狀, 都可以用《方程式》表達了

然後, 為了表達《曲線和曲面》, 於是微積分被發明出來了

於是, 數學的三大領域 《代數、幾何、分析》 全都到齊了 …

如果用武俠小說來比喻,那麼笛卡兒, 就像是打通數學世界任督二脈 的人 …

有了座標的概念, 電腦這個《數學計算工具》 也才能開始派上用場

程式的基本型態當中, 除了字元字串之外, 其他幾乎都是數值, 像是《浮點數》與《整數》 …

有了《數值點》的概念, 就能寫程式畫出函數圖形

接著, 我們如果把這些概念擴充到《四維空間》,就可以一窺近代幾何學的 奧秘了 …

非歐幾何

首先讓我們看看非歐幾何, 這是一切《非歐氏幾何》的幾何學總稱, 包含 – 羅氏幾何(雙曲幾何) – 黎曼幾何(橢圓幾何)

非歐幾何和歐氏幾何的主要區別,在於否定平行公設

因為歐氏幾何的第五條公設 數學家覺得有點多餘,卻又一直拿不掉 ( 拿掉後畢氏定理就證明不出來了 )

後來在 1820 年代, 羅巴切夫斯基想透過把《平行公設》反 過來,用矛盾證法證明平行公設是必要 的 …

於是羅巴契夫斯基想, 平行公設: 若兩條直線都與第三條直線相交,並且在同一邊的內角 之和小於兩個直角,則這兩條直線在這一邊必定相交。, 如果把平行公設反過來,那就可能是: 通過線外一點可以做無限多條直線與該線平行 ( 此處的平行代表不會有交點 )

結果, 羅巴切夫斯基一直推導都沒發 現矛盾,反而推導出了一整套 非常怪異的幾何學定理, 這套幾何學後來就被稱為羅氏 幾何,其實就是一種《鞍形曲 面》上的《雙曲幾何學》。

後來黎曼又發展出球面幾何 形成了 三種幾何學

這些幾何學可以用下圖區別

非歐幾何, 後來在愛因斯坦提出相對論之後 開始派上用場 …

1905 年提出狹義相對論之後, 愛因斯坦還不覺得非歐幾何有甚麼重要性, 甚至在愛因斯坦的數學老《明可夫斯基》 用非歐幾何把相對論系統化之後,愛因斯 坦還是不覺得這些數學有甚麼重要性 …

但是後來愛因斯坦搞了很多年, 才知道明可夫斯基引入的那套非歐幾 何,是發展廣義相對論的關鍵

狹義相對論的兩大結論, 在相對速度很快的等速座標系中,會有: – 尺縮 – 鐘慢 的效果 …

如果改成矩陣形式,會變成

再用張量簡化就會變成

在這裏開始引入了《張量》的概念, 張量概念在近代幾何學中有非常重 要的地位 …

最近, 張量在電腦領域裏也變得極其重要

特別是深度學習領域, 像是 Google 的 tensorflow 深度 學習套件, 之所以取名 tensorflow 的原因就是 《張量流》 =(tensor + flow)

但是在深度學習領域, 常常就只是把張量等同《高維向量》, 但是並不去探討背後的《幾何學定理》

因為只要用高維的微分運算, 計算梯度後往反梯度方向走, 就可以減少損失函數 (loss function) 的能量值,最後找到區域能量最低點 ( 錯誤率最低 )

但是高維空間的幾何學, 對深度學習是否會有甚麼價值呢?

關於這點, 目前的研究還很少 …

我只看到丘成桐, 曾經對此下過一番功夫,請參考 – 虛構的對抗, GAN with the wind http://toments.com/169071/

我覺得, 對於程式人而言,要理解《張量》 與《微分幾何》那些領域,應該是 不會太難 …

因為程式人經常使用, 高維度的向量, 高維度的陣列

只是程式人不會去想, 背後的幾何空間觀念 …

今天, 我看到一部講解四維物體的影片 【木鱼微剧场】你见过四维物体吗? 《维度:数学漫步》 https://www.youtube.com/watch?v=mw8-6SabBlE

裡面提到, 《三維多面體》在《二維空間》被 《二維蜥蜴》看到時會是甚麼狀況, 然後引申出: 《四維多面體》在《三維空間》被我們 看到時會是甚麼狀況 …

一開始, 我無法理解《四維多面體》 到底是甚麼東東 …

但是當我想到, 高維向量 (x,y,z,w) 的表示法,用來 表達《四維三角錐》與《四維立方體》 的方法後, 我想我應該理解了何謂《四維多面體》 了 …

換句話說, 當我們用《笛卡兒座標系》來表達《四 維多面體》的頂點時,所謂的《四維多 面體就會變得比較容易懂了 …

首先讓我們看看, 二維三角形的座標 (x,y)=(0,0), (1,0), (0,1) 是三角形的頂點 這三個點形成一個二維三角形 0,0 1,0 0,1

擴充到三維空間, 我們就得到三角錐 (x,y,z)=(0,0,0), (1,0,0) , (0,1,0), (0,0,1) 是三角錐的頂點 這四個點形成一個三維三角錐 0,0,0 1,0,0 0,1,0 0,0,1

繼續擴充到四維空間, 我們就得到四維三角錐 (x,y,z,w)=(0,0,0,0), (1,0,0,0) , (0,1,0,0), (0,0,1,0) , (0,0,0,1) 是四維三角錐的頂點 這五個點形成一個四維三角錐 但問題是、這該怎麼畫? 我們看得懂在《二維平面畫的三維座標》 是因為我們活在三維世界裡,有立體的想像力! 但我們沒在四維空間裏活過,如何能想像四維三角錐呢?

辦法不難、我們可以想像第四維, 四維三角錐的頂點座標是: (x,y,z,w)=(0,0,0,0), (1,0,0,0) , (0,1,0,0), (0,0,1,0) , (0,0,0,1) 我們伸出第四維度, 在 (0,0,0,1) 上加一點 這一點和其他三點都有連線 而且第四維和其他三維 都是互相垂直的 … ( 這只能想像,在平面上畫不出來的 ) 0,0,0,0 1,0,0,0 0,1,0,0 0,0,1,0 0,0,0,1

同樣的, 在二維空間有《正方形》,其頂點有四個: – (0,0)(0,1)(1,0)(1,1), 在三維空間有《正方體》,其頂點有八個: – (0,0,0)(0,0,1)(0,1,0)(0,1,1) – (1,0,0)(1,0,1)(1,1,0)(1,1,1), 在四維空間就會有《四維正方體》,其頂點有 16 個: – 凡是 (a,b,c,d) 其中 a,b,c,d 可取 0,1 的所有組合均 為此《四維正方體》的頂點

透過這樣的方式, 我們就可以想像《四維多面體》 的幾何特性了 …

建議各位程式人, 可以仔細看看下列影片: 【木鱼微剧场】你见过四维物体吗? 《维度:数学漫步》, 然後想想裡面那些奇形怪狀的多面體,到 底代表甚麼意思 … https://www.youtube.com/watch?v=mw8-6SabBlE

接著擴大去想想, 那些非多面體的曲線欉, 又代表了什麼樣的物體呢?

這樣的幾何學, 似乎就是建構在《張量》這種高維空間 的基礎上,所形成的高維幾何學

在這種高維空間裏,當然也有類似平移、縮放、旋轉、線性映射之類的《仿射幾何學》

也會有類似非歐幾何, 像是羅氏幾何 ( 雙曲幾何 ) 、黎曼幾何 ( 橢 圓幾何 ) 這樣的幾何學!, 這應該就是《微分幾何》的起點了 …

然後, 或許我們就有機會看懂廣義相對論的《重力場方程式》也說不定

只是重力場方程, 是一個張量方程式, 其實該說是方程組 希臘字母 µ 和 ν 是標號 每個都可以取 0 1 2 3 的值 代表 t, x, y, z 軸 (t 為時間,原本該有 16 個方程 但由於是對稱的,所以剩下 10 個 ) …. http://web.math.sinica.edu.tw/math_media/d402/40202.pdf

由於 0,1,2,3 對應到 t,x,y,z, 所以 R01 代表 t,x 的 R(t,x)

問題是, 我還看不懂廣義相對論, 還無法理解重力場方程式的意義 …

不過就前面的解析, 高維的幾何學倒是沒那麼難懂, 只要用高維向量表達《座標》, 那程式人就可以相對容易的想像 這類幾何學的性質了 …

在高維空間裏, 梯度下降法還是可以找到區域最佳解, 但是爬山演算法就會有個困境

舉例而言, 假如在某點旁邊有一條斜斜的小溝,只有這條溝會向下走 ( 我們 想下山,所以其實是下山演算法 ), 但是爬山演算法要剛好 選到小溝方向的機率 很低,於是可能試了 幾百次都沒選到該方向 結果就被困住了 …, 若維度愈高,就愈難選到 小溝,結果是明明有路卻怎麼都過不去! 這方面梯度下降法就比爬山演算法好一些 ( 但梯度下降法的條件是要連續可微 ) 點 溝