多胞形(polytope)
多邊形是帶直邊的平面形狀——三角形、五邊形。多面體是它在三維的表親,帶平面的面——立方體、角錐。多胞形把同樣的想法帶進任意維數:一個由平直部件圍成的形狀。在二維中多胞形是多邊形,三維中是多面體,四維及以上則是「多胞體」或簡稱 n 維多胞形。它是最基本的平直邊形狀在高維中的自然歸宿。
要釘住一個(凸)多胞形有兩種等價的方式,而它們的等價是一樁小小的奇蹟。第一種由外而內:多胞形是一組有限線性不等式的解集——用有限多刀平直的切割(半空間)切開空間,保留它們圍出的有界區域。第二種由內而外:多胞形是一組有限點的凸包,是包住若干角點、毫無凹陷的最小形狀。這兩種描述竟然一致(即閔可夫斯基-外爾定理),意味著一個多胞形既可由它的界定不等式呈現,也可由它的頂點呈現,而在兩者之間轉換是一個深刻的實際問題。多胞形各維度的平直部件就是它的面:頂點(零維)、邊(一維),接著二維面,如此往上直到facet(最高維的面)。
多胞形是線性規劃的形狀——每個線性最佳化問題都是在一個多胞形的頂點之間搜尋,而單純形法字面上就是沿著一條邊一條邊地走。面數遵循一個美麗的規律:在三維中,尤拉關係式 V - E + F = 2 連結任何凸多面體的頂點、邊與面,並推廣為每個維度中的交錯和恆等式(尤拉-龐加萊關係)。一個誠實的注記:「多胞形」通常指「凸」的那種,但這個詞也被延伸到非凸、乃至抽象組合多胞形;而視覺直覺過了三維就用罄了,所以在四維及以上我們信賴的是不等式與頂點的代數,而非腦海中的圖像。
立方體是由六條不等式定義的多胞形:0 <= x <= 1、0 <= y <= 1、0 <= z <= 1。等價地,它是其八個角點 (0,0,0)、(1,0,0)、...、(1,1,1) 的凸包。數它的面:V = 8 個頂點、E = 12 條邊、F = 6 個正方形facet。驗證尤拉關係式:8 - 12 + 6 = 2。這兩種描述(不等式對頂點)描述的正是同一個立體。
一個多胞形,同一枚硬幣的兩面:一組不等式與一張頂點清單。
視覺直覺過了三維就不管用了,但定義不會。一個四維多胞形作為不等式組或凸包是完全嚴謹的,儘管沒有人能真正「看見」它;要信賴代數,而非腦海中的圖像。