1 多面体 Polyhedra
定义:多面体为一系列的(有限个)线性等式和不等式的解集:
P={x|aTjx≤bj,j=1,...,m,cTjx=dj,j=1,...,p}
根据上式可看出,多面体是m个半空间和p个超平面的交集,其中m,n为非无穷的正数。
仿射集(直线、子空间、超平面)、射线、线段、半空间都是多面体,多面体是凸集。
多面体的另一种表示:
P={x|Ax⪯b,Cx=d}
其中
A=⎡⎢⎣aT1...aTm⎤⎥⎦,C=⎡⎢
⎢⎣cT1...cTp⎤⎥
⎥⎦
其中符号⪯表示Rm空间内的向量号不等或分量不等号,例如u⪯v表示ui≤vi,i=1,...,m。
2 单纯形 Simplexes
1)定义
定义:在Rn空间中选取k+1个仿射独立(affinely independent)的点,即v1−v0,...,vk−v0是线性无关的,则与上述点相关的单纯形为:
C=conv{v0,...,vk}={θ0x0+...+θkxk|θ⪰0,1Tθ=1}
其中conv表示凸包,1表示所有元素均为1的向量。该单纯形的仿射维数为k,称为k维单纯形。

图1. R2空间中,左:k=1,选取两个点得到的单纯形为一个线段;中:k=2,选三个点,相关的单纯形为一个三角形(包括边和阴影部分);右:k=3,选取四个点,但是在二维空间中无法找到三个线性无关的向量(图中的任一向量可由另两个向量的线性组合得到),故在二维空间中,无法找到四个或以上的点来构成一个单纯形。
如图1,同样的可以得出:一维空间中的单纯形是线段;二维空间中的单纯形是三角形;三维空间中的单纯形为四面体。
2)证明:单纯形是多面体的一种
C∈Rn为单纯形,则根据单纯形的定义可得:
x∈C⇔x=θ0v0+...+θkvk,1Tθ=1,θ⪰0,v1−v0,...,vk−v0线性无关(1)
为方便表示,我们定义y 和 B:
y=[θ1,...,θk]T,y⪰0,1Ty≤1
B=[v1−v0...vk−v0]∈Rn×k
则公式(1)可以表示为:
x∈C⇔x=v0+By(2)
v0,...,vk为仿射独立的,即v1−v0,...,vk−v0为线性无关的,可得rank(B)=k,(k≤n),因此存在一个非奇异矩阵A=[A1A2]∈Rn×n使得
AB=[A1A2]B=[I0],(I∈Rk×k)
对公式(2)左乘一个矩阵A:
Ax=Av0+ABy[A1A2]x=[A1A2]v0+[I0]y
即
{A1x=A1v0+yA2x=A2v0
因此x∈C 当且仅当 A2x=A2v0且向量y=A1x−A1v0满足y⪰0,1Ty≤1。换句话说,x∈C 当且仅当:
A2x=A2v0,A1x⪰A1v0,1TA1x≤1+1TA1v0
即单纯形为两个不等式和一个等式描述的集合,这也就是多面体的定义。
3 半正定锥 The Positive Semidefinite Cone
1)定义
对称矩阵的集合 Sn:
Sn={X∈Rn×n|X=XT}
这是一个维度为 n(n+1)/2 的向量空间。
是凸锥,所以也是凸集。
对称半正定矩阵的集合 Sn+:
Sn+={X∈Sn|X⪰0}
这里的符号⪰是针对矩阵的,表示X的奇异值大于等于0。
是凸锥,所以也是凸集。
对称正定矩阵的集合 Sn++:
Sn++={X∈Sn|X≻0}
是凸集,不是凸锥。
2)证明:Sn+是凸锥
即(根据凸锥的定义)任取θ1,θ2≥0,A,B∈Sn+,证明θ1A+θ2B∈Sn+。
根据半正定矩阵的性质有:
∀x∈Rn,xTAx≥0,xTBx≥0
因此:
xT(θ1A+θ2B)x=θ1xTAx+θ2xTBx≥0
即θ1A+θ2B∈Sn+,证明完毕。
3)不同空间中的特征
n=1:即一维空间中,S1=R(实数集);S1+=R+(非负实数集);S1++=R++(正实数集)。
n=2:即二维空间中,如图2,我们有:
X=[xyyz]∈S2+⇔x≥0,z≥0,xz≥y2

图2. 二维空间中半正定锥的边界,在R3中绘制为 (x,y,z)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?