單純形

<image>

幾何學上，單純形（simplex）或者n-單純形是和三角形類似的n維幾何體。精確地講，單純形是某個n維以上的歐幾里得空間中的（n+1）個仿射無關（也就是沒有m-1維平面包含m+1個點；這樣的點集被稱為處於一般位置）的點的集合的凸包。

例如，0-單純形就是點，1-單純形就是線段，2-單純形就是三角形，3-單純形就是四面體，而4-單純形是一個五胞體（每種情況都包含內部）。

正單純形是同時也是正多胞形的單純形。正n-單純形可以從正(n − 1)-單純形通過將一個新頂點用同樣的邊長連接到所有舊頂點構造。

## 基礎

任何n+1點集的非空子集的凸包定義了一個n-單純形，稱為該n-單純形的面。面本身也是單純形。（n+1點）的m+1子集的凸包是一個m-單純形，稱為n-單純形的m-面。0-面（也即，一個點構成的面）稱為頂點，而1-面稱為邊，(n − 1)-面稱為面片，而n-面就是n-單純形本身。一般來講，m-面的個數等於二項式係數 C(n + 1, m + 1)。因此，n-單純形的m-面的個數可以在楊輝三角形的第(n+1)行和第(m+1)列找到。面和面片在描述單純復形中的單純形的類型時可能有不同的含義。參看單純復形#定義。

正單純形族是三族正多胞體的第一組，Coxeter將之記為αn，其它兩類為正軸體，記為βn，和超立方體，記為γn。第四組，超立方體的無窮分割被記為δn。

單純形的元素m

## 列表所用MAPLE公式

- 使用（combstruct）:for n from 0 to 11 do seq(count(Combination(n), size=m) , m = 1 .. n) od;
- OEIS A135278

## 標準單純形

<image>

標準n-單純形(或稱單位n-單純形)是Rn+1的子集：

$$\Delta^n = \left\{(t_0,\cdots,t_n)\in\mathbb{R}^{n+1}\mid\sum_{i=0}^n{t_i} = 1 \mbox{ and } \forall i,\ t_i \ge 0 \right\}$$

單純形Δn位於仿射超平面（該超平面可以通過將上面ti ≥ 0的條件去掉而得到）。標準單純形顯然是正單純形。

標準n-單純形的頂點為

e0 = (1, 0, 0, …, 0),

e1 = (0, 1, 0, …, 0),

$$\vdots$$

en = (0, 0, 0, …, 1).

存在從標準n-單純形到頂點為(v0, ..., vn)的任意n-單純形的標準映射

$$(t_0,\cdots,t_n) \mapsto \Sigma_i t_i v_i$$

係數ti稱為點在n-單純形中的重心坐標。這樣的一般單純形常常被稱為仿射n-單純形，以強調該標準映射是仿射變換。它有時也稱為定向放射n-單純形以強調標準映射可以是保定向或者是反定向的。

## 幾何屬性

在n維空間中的頂點為(v0, ..., vn)的n-單純形的定向體積是

$$<pre> {1\over n!}\det \begin{pmatrix} v_1-v_0 & v_2-v_0& \dots & v_{n-1}-v_0 & v_n-v_0 \end{pmatrix} </pre>$$

其中n × n行列式的每列是代表兩個頂點的向量之差。去掉1/n!的公式是n-平行多面體的體積。理解1/n!因子的一個方法如下:在單位n維盒子的取任意一點，將其坐標分量和0一起排序，然後將相鄰數取差值，得到的陣列構成原點和與其最近的n個頂點構成的n-單純形中的一點的坐標；取差值的變換是一個保體積的變換，而排序則將點的個數減少到1/n!。

標準n-單純形下的體積（也即，Rn+1中的原點和單純形之間的體積）是

$${1 \over (n+1)!}$$

單位邊長的正n-單純形的體積是

$${\frac{\sqrt{n+1}}{n!\sqrt{2^n}}}$$

這個結果可以導出如下：將上一個公式乘以xn+1，得到作為頂點離原點距離（所有頂點和原點等距）的函數的n-單純形下的體積；對x微分，取導數在$x=1/\sqrt{2}$ 的值（因為這個位置n-單純形邊長為1），這個導數需要除以$\sqrt{n+1}$，因為增量$(dx,\dots, dx)$（垂直於n-單純形的法向）的長度為$\sqrt{n+1}$。

### "直角"的單純形

這裡的直角表示存在一個頂點，其所有相鄰超平面兩兩垂直。這樣的單純形是直角三角形的一個推廣，對於它們存在著一個n維的畢達哥拉斯定理:

所有和直角相鄰的n維超面的體積平方之和等於對面的n維體積的平方。

$$\sum_{k=1}^{n} |A_{k}|^2 = |A_{0}|^2$$

其中 $A_{1} \ldots A_{n}$是兩兩垂直但不垂直於$A_{0}$的超面，而$A_0$是直角的對面。

對於2-單純形，這個定理就是畢達哥拉斯定理，而對於3-單純形這個是適用於帶立方角四面體的德古阿定理。

## 拓撲

拓撲上，n-單純形是拓撲等價於n-球體的。每個n-單純形是n維帶邊界流形。

代數拓撲上，單純形是用於構建一類稱為單純復形的常用拓撲空間的基本元素。這些空間可以通過將單純形用組合方式粘合在一起來構造。單純復形用於定義特定的一類同調，稱為單純同調。

嵌入到Rn的開子集中的k-單純形的有限集稱為仿射k-鏈。在鏈中的單純形不必唯一；它們可以重複出現。通常不採用集合的記法來標識仿射鏈，而是採用加號將它們連起來。若有些單純形有相反的定向，它們可以用減號。如果有些單純形出現多次，可以放一個整數在前面表示出現次數。這樣，仿射鏈可以用整係數的線性組合表示。

注意n-單純形的每個面是一個仿射n-1-單純形，因此n-單純形的邊界可以用一個仿射n-1-鏈來表示。如果定義一個正定向的單純形

$$\sigma=[v_0,v_1,v_2,...,v_n]$$

其中 $v_j$ 代表頂點，則其邊界 $\partial\sigma$ 是如下鏈

$\partial\sigma = \sum_{j=0}^n (-1)^j [v_0,...,v_{j-1},v_{j+1},...,v_n]$.

更一般的，單純形（以及鏈）可以通過光滑可微映射嵌入到流形中：$f\colon\mathbb{R}^n\rightarrow M$。這個情況下，加法表示和邊界算子都和嵌入可交換。也即

$$f(\sum\nolimits_i a_i \sigma_i) = \sum\nolimits_i a_i f(\sigma_i)$$

其中 $a_i$ 是標識定向和重次的整數。對於邊界算子 $\partial$，有

$$\partial f(\phi) = f (\partial \phi)$$

其中 φ 為鏈。邊界算子和映射可交換，是因為，鏈基本就是一個集合，而集合操作和映射是可交換的（按照映射的定義）。

到拓撲空間X中的連續映射 $f:\sigma\rightarrow X$ 常常被稱為奇異n-單純形。因為f可以有奇點。

## 隨機採樣

(也稱單純形采點) 有兩種在單位K-1-單純形中產生有效產生均勻分布的採樣方法。

第一種方法基於從K-1維單位單純形採樣等價於從參數α = (α1, ..., αK)都等於1的狄利克雷分布中採樣的事實。確切的流程為：

- 產生K個服從單位指數分布的隨機數x1, ..., xK.
- 這可以通過產生K個在開區間(0,1)中均勻分布的隨機數yi然後取 xi=-ln(yi).
- 令S為xi之和。
- 單位單純形中的點的K個坐標t1, ..., tK由ti=xi/S給出。

第二個方法是基於單位區間上的均勻分布的順序統計量（參看Devroye, p.568）。演算法如下：

- 令 p0 = 0 而 pK=1.
- 產生K-1個開區間(0,1)上均勻分布的隨機數pi。
- 將K+1點p0, ..., pK排序。
- 單位單純形中的點的K個坐標t1, ..., tK由ti=pi-pi-1給出。

### 隨機漫遊

有時需要在單純形中進行均勻隨機漫遊而不是取一點。這樣的隨機漫遊在蒙特卡羅法中經常用到，譬如單純形域中的馬爾可夫鏈蒙特卡羅。

可以從單位化K個指數分布隨機向量來得到單純形中的均勻分布來衍生出漫遊的有效演算法。首先定義一個單變量函數在正實直線上"漫遊"，其採樣點的靜態分布為單位指數分布。該函數利用Metropolis-Hastings演算法從舊點得到新點。這個函數偽代碼如下，其中h是相對步長：

```
next_point <- function(x_old)
{
    repeat {
        x_new <- x_old * exp( Random_Normal(0,h) )
        metropolis_ratio <- exp(-x_new) / exp(-x_old)
        hastings_ratio <- ( x_new / x_old )
        acceptance_probability <- min( 1 , metropolis_ratio * hastings_ratio )
        if ( acceptance_probability > Random_Uniform(0,1) ) break
    }
    return(x_new)
}
```

然後在單純形中隨機漫遊:

- 取服從單位指數分布的隨機變量xi, i= 1, 2, ..., K.
- 對於每個 i= 1, 2, ..., K
- xi ← next_point(xi)
- 令S為xi之和
- 令ti = xi/S（對於所有 i= 1, 2, ..., K）

ti限制在單純形中，並會以均勻的靜態分布密度來反覆遍歷整個區域。注意不要每一步都單位化xi；那樣會得到非均勻的靜態分布。實際上，應該把xi 視為"隱"參數，而ti才給出單純形中的坐標。

## 外部連結

- Olshevsky, George，《超空間術語表》中的 單純形（英語）
- OEIS A135278 給出數字T(n,m) = 二項式係數(n+1,m+1)的三角形；或者說，除去左邊的楊輝三角形A007318。

## 延伸閱讀

- Walter Rudin, Principles of Mathematical Analysis (Third Edition), (1976) McGraw-Hill, New York, ISBN 0-07-054235-X (參看第10章中對拓撲性質的簡單回顧。).
- Andrew S. Tanenbaum, Computer Networks (4th Ed), (2003) Prentice Hall, ISBN 0-13-066102-3 (See 2.5.3).
- Luc Devroye, Non-Uniform Random Variate Generation. (1986) ISBN 0-387-96305-7.
- H.S.M. Coxeter, Regular Polytopes, Third edition, (1973), Dover edition, ISBN 0-486-61480-8
- p120-121
- p.296, Table I (iii): Regular Polytopes, three regular polytopes in n-dimensions (n>=5)