深入理解仿射集,凸集,錐等定義及相關證明,這裏列出一些常用的凸集,和一些球,空間,多面體,單純形之類的正式定義,並討論他們和凸集的關係。
Rn空間與子空間
他既是凸集,也是仿射集,也是凸錐。那麼如果我們任意的選擇一個子空間,他是否還滿足上述性質?
定義:Rn空間的子空間:子空間一定具有原點,子空間中的任意加減和標量乘法操作都落在子空間內部。x,y軸即是二維空間的一維子空間。因此任意的子空間仍然既是凸集,也是仿射集,也是凸錐。
任意直線
過原點的直線是二維空間的一維子空間,因此其一定滿足既是凸集,也是仿射集,也是凸錐。但是如果他不過原點,那他不是凸錐,但是是凸集和仿射集。
任意線段
任意線段都是凸集,線段往往不是仿射集,也不是凸錐,當線段縮減爲一個點的時候,他是一個仿射集,當線段縮減爲一個點而且是原點的時候,他是一個凸錐。
{x0+θV∣θ≥0}x0∈Rn;θ∈R;V∈Rn
這是個什麼東西呢?這是一個射線,從x0開始沿着V的方向的射線。一般情況他不是仿射集,當他縮減爲一個點的時候,它會成爲一個仿射集。任意情況下她都是一個凸集。
超平面與半空間
Hyperplane:{x∣aTx=b}x,a∈Rn;b∈R;a!=0
所謂的超平面是一個集合,超平面不侷限於二維的平面,下面的直線就是二維空間的超平面,三維空間的超平面是一個平面,思維空間的超平面則是立體的空間。
Halfspace
上圖中的直線分隔開來的兩個部分稱之爲半空間,兩個空間一樣大(無窮級數的概念)。
- 一個超平面一定是一個凸集,也是一個仿射集,因爲超平面的定義本身就類似於直線的定義。如果該超平面恰好過原點,那麼他也是一個凸錐,否則不是凸錐。
- 半空間一定是一個凸集,但是不一定是一個仿射集,也不一定是一個凸錐(仍然是過原點的部分是凸錐)。
球
B(xc,r)={x∣∣∣x−xc∣∣2≤r}={x∣(x−xc)T(x−xc)};xc∈Rn,r∈R
球的定義是顯而易見的。球一定是一個凸集,一般不是仿射集(除非半徑爲0),一般不是凸錐(除非半徑爲0且落在原點上。)
凸集證明
爲了證明球是一個凸集,我們需要驗證以下不等式是成立的
∣∣θx1+(1−θ)x2−xc∣∣2≤r
也就是任意選擇兩個點的線性組合的減去圓心的二模依舊是在圓內部的,這裏我們需要用到三角不等式∣∣a+b∣∣≤∣∣a∣∣+∣∣b∣∣,於是我們得到∣∣θx1+(1−θ)x2−xc∣∣2≤∣∣θ(x1−xc)∣∣+∣∣(1−θ)(x2−xc)∣∣≤r。
橢球
E(xc,P)={x∣(x−xc)TP−1(x−xc)≤1};xc∈Rn,P∈S++n
S++n,表示對稱的正定矩陣(正定矩陣即特徵值全部大於0)。上面的橢球其實也是一個二範數,只不過它通過P矩陣進行了加權。這個P矩陣描述的是橢球的半軸長,如果P是二維的,那麼他有兩個奇異值,這兩個奇異值分別對應橢球的一個半軸長。
多面體polyhedron
P={x∣ajTx≤bj,j=1...m;cjTx=dj,j=1...n}
注意他的限制條件,ajTx≤bj是半空間的約束條件,cjTx=dj,是超平面的約束條件,因此多面體實際上是一系列的半空間和超平面的交集。
需要注意的是,多面體不一定是有界的,考慮只有半空間的限制條件ajTx≤bj那麼這個多面體其實就是一個半空間。那麼對於我們常見的多面體(在固定範圍內的面積有限的多面體我們稱之爲有限多面體),多面體是凸集。
單純形simplex
Rn空間中選擇v0,...,vk共k+1個點,如果滿足限制條件v1−v0,...,vk−v0線性無關,則與上述點相關的單純形爲
C=ConV{v0,...,vk}={θ0v0+...+θkvk};∀θi>0,i=1∑nθi=1
ConV是凸包的定義,從這些點構造出來的凸包,對二維空間而言,兩個點的單純性就是他們之間的線段,三個點的單純形(三點不共線)他們的單純形就是一個三角形,二維空間中任意兩個向量可以表示另一個向量,所以不存在四個點以上可以構造出單純形。
類似的在三維空間中最多選擇四個點滿足線性無關的條件,他們會構成一個四面體,在三維空間中我們不可能找到一個五面體六面體。
證明:單純形是多面體的一種
對於一個單純形,我們有 C=ConV{v0,...,vk}={θ0v0+...+θkvk};∀θi>0,∑i=1nθi=1,v1−v0,...,vk−v0線性無關。我們定義
[θ1,θ2,...,θk]T=y,y≥0,1Ty≤1
注意上面我們把θ0去掉了,因此結果小於1而不是等於1.
定義:
[v1−v0,...,vk−v0]=B∈Rn∗k
此時,對於任意的x∈C,我們可以寫爲x=θ0v0+...+θkvk這樣一個凸組合。他就等價於v0+θ1(v1−v0)+...+θk(vk−v0)=v0+By。
因爲B的每個向量都是線性無關的,那麼B的秩一定等於k,k≤n,也就是一個列滿秩的矩陣。那麼我們可以通過線性變化將他轉化爲這樣形式的矩陣:
那麼我們將上述等式變化爲Ax=Av0+ABy,只要這裏的矩陣A是非奇異的,我們可以進行逆運算在等式兩側互相轉換。精華部分來了!
首先我們使用A矩陣,將B拆分成上述形式(上面n*n單位陣,下面全零),此時我們可以吧該式分成兩部分(也就到了式3,注意因爲A1B是單位陣所以第一個等式留下了y,而第二個等式沒有y)。此時需要注意的是,y是可以變化的,而在單純形的定義中,我們知道y≥0,1Ty≤1,於是我們帶入現在的方程,就得到了兩個不等式約束,和一個等式條件,也就是說在這個單純形內部,給定任意一個x,我們都可以用這個式子描述,而且這個式子可以描述單純形中任意一個x,又因爲這些約束條件都是線性約束,所以任意的一個單純形,都是一個多面體
對稱矩陣集合 Sn={x∈Rn∗n∣x=xT}
對稱半正定矩陣集合 S+n={x∈Rn∗n∣x=xT;x⪰0}
對稱正定矩陣集合 S++n={x∈Rn∗n∣x=xT;x≻0}
注意上面不是大於號,一般用大於號表示矩陣內部元素全部大於某個值,而上面的符號表示所有特徵值大於某個值,(也就是到底是非負矩陣還是半正定矩陣)
對稱半正定矩陣是一個凸錐,而正定矩陣特徵值不能等於零,在矩陣空間中不過原點,那麼不是凸錐,但是凸集。