当前位置: 首页 > news >正文

凸优化基础学习——凸集

凸优化基础学习——凸集

文章内容全部来自对Stephen Boyd and Lieven vandenberghe的Convex Optimization的总结归纳。

电子书资源:

链接:https://pan.baidu.com/s/1dP5zI6h3BEyGRzSaJHSodg?pwd=0000
提取码:0000

基本概念

仿射集合

**仿射集合:**通过集合 C ⊆ R n C\subseteq \mathbf{R}^n CRn中任意两个不同点的直线仍然在集合 C C C中,则称集合 C C C是仿射的。

另一种等价定义:对于任意 x 1 , x 2 ∈ C x_1,x_2\in C x1,x2C θ ∈ R \theta\in\mathbf{R} θR θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+\left( 1-\theta \right) x_2\in C θx1+(1θ)x2C,即 C C C中包含了 C C C中任意两点的系数之和为1的线性组合。

**仿射组合:**仿射集合的概念可以扩展到多个点的情况,如果 θ 1 + ⋯ + θ k = 1 \theta_1+\cdots+\theta_k=1 θ1++θk=1,那么具有 θ 1 x 1 + ⋯ + θ k x 1 = 1 \theta_1x_1+\cdots+\theta_kx_1=1 θ1x1++θkx1=1形式的点为 x 1 , ⋯ , x k x_1,\cdots,x_k x1,,xk的仿射组合。

**仿射包:**集合 C ⊆ R n C\subseteq\mathbf{R}^n CRn中的点的所有仿射组合组成的集合为 C C C的仿射包,记作 a f f C : \mathbf{aff}C: affC:

**仿射维数:**定义集合 C C C的仿射维数为其仿射包的维数。
a f f C = { θ 1 x 1 + ⋯ + θ k x k ∣ x 1 , ⋯ , x k ∈ C , θ 1 + ⋯ + θ k = 1 } \mathbf{aff}C=\{\theta_1x_1+\cdots+\theta_kx_k|x_1,\cdots,x_k\in C,\theta_1+\cdots+\theta_k=1\} affC={θ1x1++θkxkx1,,xkC,θ1++θk=1}
性质

  1. 仿射集合 C C C可以表示成

C = V + x 0 = v + x 0 ∣ v ∈ V C=V+x_0={v+x_0|v\in V} C=V+x0=v+x0vV

其中 C C C是一个子空间,并且关于加法和数乘是封闭的。 x 0 x_0 x0 C C C中任意一点。**仿射集合 C C C**的维数定义为子空间 V = C − x 0 V=C-x_0 V=Cx0的维度。

  1. 一个仿射集合包含其中任意点的仿射组合,即如果 C C C是一个仿射集合, x 1 , ⋯ , x k ∈ C x_1,\cdots,x_k\in C x1,,xkC,并且 θ 1 + ⋯ + θ k = 1 \theta_1+\cdots+\theta_k=1 θ1++θk=1,那么 θ 1 x 1 + ⋯ + θ k x k \theta_1x_1+\cdots+\theta_kx_k θ1x1++θkxk仍然在 C C C中。
  2. 仿射包是包含 C C C的最小仿射集合。

常见例子

  1. 线性方程组 C = { x ∣ A x = b } C=\{x|Ax=b\} C={xAx=b}的解集是一个仿射集合,其子空间就是 A A A的零空间。同时任意仿射集合可以表示成一个线性方程组的解集。

凸集

**凸集:**如果 C C C中任意两点间的线段仍然在 C C C中,及对于任意 x 1 , x 2 ∈ C x_1,x_2\in C x1,x2C和满足 0 ≤ θ ≤ 1 0\le\theta\le1 0θ1 θ \theta θ都有
θ x 1 + ( 1 − θ ) x 2 ∈ C \theta x_1+(1 - \theta)x_2\in C θx1+(1θ)x2C
或者说如果集合中的每一个点都可以被其他的点沿着它们之间的一条无阻碍(整条路径都在集合中)的路径看见,那么这个集合就被称为凸集。

**凸组合:**称 θ 1 x 1 + ⋯ + θ k x 1 \theta_1x_1+\cdots+\theta_kx_1 θ1x1++θkx1为点 x 1 , ⋯ , x k x_1,\cdots,x_k x1,,xk的一个凸组合,其中 θ 1 + ⋯ + θ k = 1 \theta_1+\cdots+\theta_k=1 θ1++θk=1并且 θ i ≥ 0 , i = 1 , ⋯ , k 。 \theta_i\ge0,i=1,\cdots,k。 θi0,i=1,,k

**凸包:**集合 C C C中所有点构成的凸组合的集合为其凸包,记为 conv C : \text{\textbf{conv}}C: convC:
conv C = { θ 1 x 1 + ⋯ + θ k x k ∣ x i ∈ C , θ i ≥ 0 , i = 1 , ⋯ , k , θ 1 + ⋯ + θ k = 1 } \text{\textbf{conv}}C=\{\theta_1x_1+\cdots+\theta_kx_k|x_i\in C,\theta_i\ge0,i=1,\cdots,k,\theta_1+\cdots+\theta_k=1\} convC={θ1x1++θkxkxiC,θi0,i=1,,k,θ1++θk=1}
性质:

  1. 仿射集是凸集。
  2. 一个集合的凸集等价于集合中包含了其中所有点的凸组合,可以理解为混合和加权平均。
  3. 凸包是包含集合 C C C的最小凸集,即有如果 B B B是包含 C C C的凸集,那么 conv C ⊆ B \text{\textbf{conv}}C\subseteq B convCB

**锥:**如果对于任意 x ∈ C x\in C xC θ ≥ 0 \theta \ge0 θ0都有 θ x ∈ C \theta x\in C θxC,那么我们就称集合 C C C是锥或者说是非负齐次的。

**凸锥:**对于任意 x 1 , x 2 ∈ C x_1,x_2\in C x1,x2C θ 1 , θ 2 ≥ 0 , 都有 \theta_1,\theta_2\ge0,都有 θ1θ20,都有
θ 1 x 1 + θ 2 x 2 ∈ C \theta_1x_1+\theta_2x_2\in C θ1x1+θ2x2C
具有这类形式的点构成了二维的扇形

image-20230807200047138

**锥组合(非负线性组合):**具有 θ 1 x 1 + ⋯ + θ k x 1 , θ 1 , ⋯ , θ k ≥ 0 \theta_1x_1+\cdots+\theta_kx_1,\theta_1,\cdots,\theta_k\ge0 θ1x1++θkx1,θ1,,θk0形式的点称为 x 1 , ⋯ , x k x_1,\cdots,x_k x1,,xk的锥组合。

**锥包:**集合 C C C中元素的所有锥组合的集合,即
{ θ 1 x 1 + ⋯ + θ k x k ∣ x i ∈ C , θ i ≥ 0 , i = 1 , ⋯ , k } \{\theta_1x_1+\cdots+\theta_kx_k|x_i\in C,\theta_i\ge0,i=1,\cdots,k\} {θ1x1++θkxkxiC,θi0,i=1,,k}
性质

  1. 如果 x i x_i xi均属于凸锥 C C C,那么 x i x_i xi的每一个锥组合也在 C C C中。即集合 C C C是凸锥的充分必要条件是它包含其元素的所有锥组合。

  2. 锥包是包含 C C C的最小的凸锥。左图代表由点组成的一个集合 C C C的凸锥,右图代表由一块连续的区域组成的集合 C C C的凸锥。

image-20230807201132621

常见例子

简单例子

  1. 任意直线都是仿射的。如果直线通过零点,则是子空间,因此,也是凸锥。

  2. 一个线段是凸的,但不是仿射的(除非退化为一个点)。

  3. 空集、任意一个点、全空间 R n \mathbf{R}^n Rn都是 R n \mathbf{R}^n Rn的仿射(自然也是凸的)子集。

  4. 一条射线,既具有形式 { x 0 + θ v ∣ θ ≥ 0 } , v ≠ 0 \{x_0+\theta v|\theta\ge0\},v\neq0 {x0+θvθ0},v=0的集合,是凸的但不是仿射的。如果射线的基点 x 0 x_0 x0是0,则它是凸锥。

  5. 任意子空间是仿射的、凸锥。

超平面和半空间

**超平面:**具有以下形式的集合称为超平面
{ x ∣ a T x = b } \{x|a^Tx=b\} {xaTx=b}
其中 a ∈ R n , a ≠ 0 a\in \mathbf{R}^n,a\neq0 aRn,a=0并且 b ∈ R b\in\mathbf{R} bR。显然超平面为关于 x x x的非平凡线性方程的解空间,因此其是一个仿射集合(当然也是凸集了)。

在几何上,超平面可以看作是和给定向量 a a a的内积为常数的点的集合;也可以看作是法线方向为 a a a的超平面,而常数 b ∈ R b\in\mathbf{R} bR决定了这个平面的偏移量。如下图所示

image-20230807205506829

**半空间:**具有以下形式的集合称为半空间,其中 a ≠ 0 a\neq0 a=0,半空间是凸的,但不是仿射的。
{ x ∣ a T x ≤ b } \{x|a^Tx\le b\} {xaTxb}
image-20230807205757286

**开半空间:**开半空间是半空间的内部,即具有以下形式的集合
{ x ∣ a T x < b } \{x|a^Tx< b\} {xaTx<b}

Euclid球和椭球

Euclid球: R n \mathbf{R}^n Rn中的Euclid球具有下面的形式,利用范数的三角不等式和齐次性可以证明它是凸集。
B ( x c , r ) = { x ∣ ∥ x − x c ∥ 2 ⩽ r } = { x ∣ ( x − x c ) T ( x − x c ) ⩽ r 2 } B\left(x_c, r\right)=\left\{x \mid\left\|x-x_c\right\|_2 \leqslant r\right\}=\left\{x \mid\left(x-x_c\right)^T\left(x-x_c\right) \leqslant r^2\right\} B(xc,r)={xxxc2r}={x(xxc)T(xxc)r2}
其中 r > 0 r>0 r>0 ∥ ∥ 2 \left\|\right\|_2 2表示Euclid范数, x c x_c xc表示球心,标量 r r r为半径。 B ( x c , r ) B\left(x_c, r\right) B(xc,r)为距离圆心 x c x_c xc距离不超过 r r r的所有点组成。

Euclid球的另外一种表达式如下
B ( x c , r ) = { x c + r u ∣ ∥ u ∥ 2 ⩽ 1 } B\left(x_c, r\right)=\left\{x_c+r u \mid\|u\|_2 \leqslant 1\right\} B(xc,r)={xc+ruu21}
**椭球:**具有以下形式的集合称为椭球,其同样为凸集
E = { x ∣ ( x − x c ) T P − 1 ( x − x c ) ⩽ 1 } \mathcal{E}=\left\{x \mid\left(x-x_c\right)^T P^{-1}\left(x-x_c\right) \leqslant 1\right\} E={x(xxc)TP1(xxc)1}
其中, P = P T ≻ 0 P=P^T\succ0 P=PT0,即 P P P为对称的正定矩阵。 x c x_c xc为椭圆中心,矩阵 P P P决定了椭球从 x c x_c xc向各个方向扩展的幅度。 E \mathcal{E} E的半轴长度由 λ i \sqrt{\lambda_i} λi 决定,其中 λ i \lambda_i λi P P P的特征值。

椭球的另外一个表示形式为
E = { x c + A u ∣ ∥ u ∥ 2 ⩽ 1 } \mathcal{E}=\left\{x_c+A u \mid\|u\|_2 \leqslant 1\right\} E={xc+Auu21}

范数球和范数锥

**范数球:**定义如下,由范数的一般性质可以知道其为凸的
C = { ( x , t ) ∣ ∥ x ∥ ⩽ t } ⊆ R n + 1 C=\{(x, t) \mid\|x\| \leqslant t\} \subseteq \mathbf{R}^{n+1} C={(x,t)xt}Rn+1
**范数锥:**关于范数 ∥ ∥ \left\|\right\| 的范数锥是集合,其为一个凸锥
C = { ( x , t ) ∣ ∥ x ∥ ⩽ t } ⊆ R n + 1 C=\{(x, t) \mid\|x\| \leqslant t\} \subseteq \mathbf{R}^{n+1} C={(x,t)xt}Rn+1
**二阶锥:**由Euclid范数定义的范数锥称为范数锥,也可以称为二次锥、Lorentz锥或者冰淇淋锥。
C = { ( x , t ) ∈ R n + 1 ∣ ∥ x ∥ 2 ⩽ t } = { [ x t ] ∣ [ x t ] T [ I 0 0 − 1 ] [ x t ] ⩽ 0 , t ⩾ 0 } \begin{aligned} C & =\left\{(x, t) \in \mathbf{R}^{n+1} \mid\|x\|_2 \leqslant t\right\} \\ & =\left\{\left[\begin{array}{l} x \\ t \end{array}\right] \mid\left[\begin{array}{l} x \\ t \end{array}\right]^T\left[\begin{array}{cc} I & 0 \\ 0 & -1 \end{array}\right]\left[\begin{array}{l} x \\ t \end{array}\right] \leqslant 0, t \geqslant 0\right\} \end{aligned} C={(x,t)Rn+1x2t}={[xt][xt]T[I001][xt]0,t0}
下图是一个 R 3 \mathbf{R}^3 R3的二阶锥

image-20230807212513174

多面体

**多面体:**定义为有限个线性等式和不等式的解集:
P = { x ∣ a j T x ⩽ b j , j = 1 , ⋯ , m , c j T x = d j , j = 1 , ⋯ , p } \mathcal{P}=\left\{x \mid a_j^T x \leqslant b_j, j=1, \cdots, m, c_j^T x=d_j, j=1, \cdots, p\right\} P={xajTxbj,j=1,,m,cjTx=dj,j=1,,p}
其为有限个半空间和超平面的交集,下图为五个半空间组成的一个多面体示意图。

image-20230807213105634

多面体也可以写成如下更为紧凑的形式:
P = { x ∣ A x ⪯ b , C x = d } A = [ a 1 T ⋮ a m T ] , C = [ c 1 T ⋮ c p T ] , \begin{gathered} \mathcal{P}=\{x \mid A x \preceq b, C x=d\} \\ A=\left[\begin{array}{c} a_1^T \\ \vdots \\ a_m^T \end{array}\right], \quad C=\left[\begin{array}{c} c_1^T \\ \vdots \\ c_p^T \end{array}\right], \end{gathered} P={xAxb,Cx=d}A= a1TamT ,C= c1TcpT ,
其中 ⪯ \preceq 表示 R m \mathbf{R}^m Rm上的向量不等式或分量不等式。

半正定锥

**半正定锥:**利用 S n \mathbf{S}^n Sn表示对称 n × n n\times n n×n矩阵的集合, S + n \mathbf{S}^n_+ S+n表示对称半正定矩阵的集合, S + + n \mathbf{S}^n_{++} S++n表示对称正定矩阵的集合,即
S n = { X ∈ R n × n ∣ X = X T } S + n = { X ∈ S n ∣ X ⪰ 0 } S + + n = { X ∈ S n ∣ X ≻ 0 } \begin{aligned} & \mathbf{S}^n=\left\{X \in \mathbf{R}^{n \times n} \mid X=X^T\right\} \\ & \mathbf{S}_{+}^n=\left\{X \in \mathbf{S}^n \mid X \succeq 0\right\} \\ & \mathbf{S}_{++}^n=\left\{X \in \mathbf{S}^n \mid X \succ 0\right\} \end{aligned} Sn={XRn×nX=XT}S+n={XSnX0}S++n={XSnX0}
其中集合 S + n \mathbf{S}^n_+ S+n为一个凸锥。

保凸运算

保凸运算可以从已知的凸集构造出其他凸集,能够用来确定和构建具有凸性的集合。

交集

凸集的交集运算是保凸的:如果 S 1 S_1 S1 S 2 S_2 S2是凸集,那么 S 1 ∩ S 2 S_1\cap S_2 S1S2也是凸集,这个性质也能够扩展到无穷多个集合的交。

仿射函数

**仿射函数:**如果一个函数是一个线性函数和一个常数的和,即具有 f ( x ) = A x + b f(x)=Ax+b f(x)=Ax+b的形式,其中 A ∈ R m × n , b ⊆ R m A\in\mathbf{R^{m\times n}},b\subseteq\mathbf{R^m} ARm×n,bRm

如果 S ⊆ R n S\subseteq\mathbf{R}^n SRn是凸的,并且 f : R n → R m f:\mathbf{R^n}\rightarrow\mathbf{R^m} f:RnRm是仿射函数。那么, S S S f f f下的象
f ( S ) = { f ( x ) ∣ x ∈ S } f(S)=\{f(x)\mid x\in S\} f(S)={f(x)xS}
也是凸的。同样类似的,如果 f : R k → R n f:\mathbf{R^k}\rightarrow\mathbf{R^n} f:RkRn是仿射函数,那么 S S S f f f下的原象
f − 1 ( S ) = { x ∣ f ( x ) ∈ S } f^{-1}(S)=\{x\mid f(x)\in S\} f1(S)={xf(x)S}
也是凸的。

例子

  1. 伸缩与平移:如果 S ⊆ R n S\subseteq\mathbf{R}^n SRn α ∈ R \alpha\in\mathbf{R} αR并且 a ∈ R n a\in\mathbf{R^n} aRn,那么,集合 α S \alpha S αS和集合 S + a S + a S+a是凸的。
  2. 直积:如果 S 1 S_1 S1 S 2 S_2 S2都是凸集,那么其直积也是凸集,其直积可以表示为

S 1 × S 2 = { ( x 1 , x 2 ) ∣ x 1 ∈ S 1 , x 2 ∈ S 2 } S_{1} \times S_{2}=\left\{\left(x_{1}, x_{2}\right) \mid x_{1} \in S_{1}, x_{2} \in S_{2}\right\} S1×S2={(x1,x2)x1S1,x2S2}

线性分式和透视函数

**透视函数:**定义 P : R n + 1 → R n P:\mathbf{R^{n+1}\rightarrow\mathbf{R^n}} P:Rn+1Rn P ( z , t ) = z / t P(z,t)=z/t P(z,t)=z/t为透视函数,其定义域为 dom P = R n × R + + \textbf{dom}P=\mathbf{R^n}\times\mathbf{R_{++}} domP=Rn×R++。其中 R + + \mathbf{R_{++}} R++表示正实数集合。透视函数对向量进行伸缩,或者称为规范化,使得最后一维分量为1并且舍弃掉。

**性质:**如果 C ⊆ dom P C\subseteq\textbf{dom}P CdomP是凸集,那么他的象
P ( C ) = { P ( x ) ∣ x ∈ C } P(C)=\{P(x)\mid x \in C \} P(C)={P(x)xC}
也是凸集。同样一个凸集在透视函数的原象也是凸的。

**线性分式函数:**线性分式函数由透视函数和仿射函数符合而成。设 g : R n → R m + 1 g:\mathbf{R^n}\rightarrow\mathbf{R^{m+1}} g:RnRm+1是仿射的,即
g ( x ) = [ A c T ] x + [ b d ] g(x)=\left[\begin{array}{c} A \\ c^{T} \end{array}\right] x+\left[\begin{array}{l} b \\ d \end{array}\right] \\ g(x)=[AcT]x+[bd]
其中 A ∈ R m × n , b ∈ R m , c ∈ R n A\in\mathbf{R^{m\times n}},b\in\mathbf{R^m},c\in\mathbf{R^n} ARm×nbRmcRn并且 d ∈ R d\in\mathbf{R} dR。则由$f=P \circ g 给出的函数 给出的函数 给出的函数f:\mathbf{Rn}\rightarrow\mathbf{Rm}$
f ( x ) = ( A x + b ) / ( c T x + d ) , dom ⁡ f = { x ∣ c T x + d > 0 } \quad f(x)=(A x+b) /\left(c^{T} x+d\right), \quad \operatorname{dom} f=\left\{x \mid c^{T} x+d>0\right\} f(x)=(Ax+b)/(cTx+d),domf={xcTx+d>0}
称为线性分式(或者投射)函数。值得注意的是如果 c = 0 , d > 0 c=0,d>0 c=0,d>0,则 f f f的定义域为 R n \mathbf{R}^n Rn,并且 f f f是仿射函数。因此,我饿们可以将仿射和线性函数视为特殊的线性分式函数。

**性质:**类似于透视函数,线性分式函数也是保凸的。如果 C C C是凸集,那么其在线性分式函数下的象和原象都是凸的。

广义不等式

正常锥和广义不等式

**正常锥:**满足以下条件的锥 K ⊆ R n K\subseteq \mathbf{R}^n KRn为正常锥

  • K K K是凸的
  • K K K是闭的
  • K K K是实的,即具有非空内部
  • K K K是尖的,即不包含直线(或者等价地, x ∈ K , − x ∈ K ⇒ x = 0 x\in K,-x\in K\Rightarrow x=0 xKxKx=0

正常锥常用来定义广义不等式。用正常锥 K K K可以定义 R n \mathbf{R^n} Rn上的偏序关系如下
x ⪯ K y ⟺ y − x ∈ K x\preceq_Ky\Longleftrightarrow y-x\in K xKyyxK
同样,可以定义相应的严格偏序关系
x ≺ K y ⟺ y − x ∈ int K x\prec_Ky\Longleftrightarrow y-x\in \textbf{int}K xKyyxintK
广义不等式 ⪯ \preceq 的性质

  • ⪯ K \preceq_K K对于加法是保序的:如果 x ⪯ K y x\preceq_Ky xKy并且 u ⪯ K v u\preceq_Kv uKv,那么 x + u ⪯ K y + v x+u\preceq_Ky+v x+uKy+v
  • ⪯ K \preceq_K K具有传递性:如果 x ⪯ K y x\preceq_Ky xKy并且 y ⪯ K z y\preceq_Kz yKz,那么 x ⪯ K z x\preceq_Kz xKz
  • ⪯ K \preceq_K K对于非负数乘是保序的:如果 x ⪯ K y x\preceq_Ky xKy并且 α ≥ 0 \alpha\ge 0 α0,那么 α x ⪯ K α y \alpha x\preceq_K\alpha y αxKαy
  • ⪯ K \preceq_K K是自反的: x ⪯ K x x\preceq_Kx xKx
  • ⪯ K \preceq_K K是反对称的:如果 x ⪯ K y x\preceq_Ky xKy并且 y ⪯ K x y\preceq_Kx yKx,那么 x = y x=y x=y
  • ⪯ K \preceq_K K对于极限运算是保序的:如果对于 i = 1 , 2 , ⋯ i=1,2,\cdots i=1,2,均有 x i ⪯ K y i x_i\preceq_Ky_i xiKyi,当 i → ∞ i\rightarrow\infty i时,由 x i → x x_i\rightarrow x xix y i → y y_i\rightarrow y yiy,那么 x ⪯ K y x\preceq_Ky xKy

最小和极小元

**最小元:**对于每个 y ∈ S y\in S yS,均有 x ⪯ K y x\preceq_Ky xKy ,则称 x ∈ S ,则称x\in S ,则称xS S S S(关于广义不等式 ⪯ K \preceq_K K)的最小元。

**最大元:**对于每个 y ∈ S y\in S yS,均有 x ⪰ K y x\succeq_Ky xKy ,则称 x ∈ S ,则称x\in S ,则称xS S S S(关于广义不等式 ⪯ K \preceq_K K)的最大元。

**极小元:**如果 y ∈ S , y ⪯ K x y\in S,y\preceq_Kx ySyKx可以推得 y = x y=x y=x,那么我们称 x ∈ S x\in S xS S S S上(关于广义不等式 ⪯ K \preceq_K K)的极小元。

极大元:如果 y ∈ S , y ⪰ K x y\in S,y\succeq_Kx ySyKx可以推得 y = x y=x y=x,那么我们称 x ∈ S x\in S xS S S S上(关于广义不等式 ⪯ K \preceq_K K)的极大元。

分离与支撑超平面

**超平面分离定理:**假设 C C C D D D是两个不相交的凸集,即 C ∩ D = ⊘ C\cap D=\oslash CD=,那么存在 a ≠ 0 a\neq 0 a=0 b b b使得超平面 { x ∣ a T x = b } \{x\mid a^Tx=b\} {xaTx=b}能够将两个凸集分离。如下图所示。

image-20230808172415998

**支撑超平面:**设 C ⊆ R n C\subseteq\mathbf{R}^n CRn x 0 x_0 x0为其边界一点,如果 a ≠ 0 a\neq0 a=0,并且对于任意 x ∈ C x\in C xC满足 a T x ≤ a T x 0 a^Tx\le a^Tx_0 aTxaTx0,那么称超平面 { x ∣ a T x = a T x 0 } \{x\mid a^Tx= a^Tx_0\} {xaTx=aTx0} 为集合 C C C在点 x 0 x_0 x0处的支撑超平面。在几何上表示为超平面 { x ∣ a T x = a T x 0 } \{x\mid a^Tx= a^Tx_0\} {xaTx=aTx0} C C C相切于点 x 0 x_0 x0,如下图所示:

image-20230808173449415

对偶锥和广义不等式

对偶锥: K K K为一个锥,集合
$$

$$
称为 K K K的对偶锥。 K ∗ K^* K总是一个凸锥,即使 K K K不是凸锥。从几何上看, y ∈ K ∗ y\in K^* yK当且仅当 − y -y y K K K在原点的一个支撑超平面的法线,如下图所示:

image-20230808174714151

性质

  • K ∗ K^* K是闭凸锥。

  • K 1 ⊆ K 2 K_1\subseteq K_2 K1K2可以导出 K 2 ∗ ⊆ K 1 ∗ K_{2}^*\subseteq K_1^* K2K1

  • 如果 K K K由非空内部,那么 K ∗ K^* K是尖的(不含直线)。

  • 如果 K K K的闭包是尖的,那么 K ∗ K^* K有非空内部。

  • K ∗ ∗ K^{**} K∗∗ K K K的凸包的闭包。(因此,如果 K K K是凸和闭得,则 K ∗ ∗ = K K^{**}=K K∗∗=K)。

  • 如果 K K K是一个正常锥,那么它的对偶 K ∗ K^{*} K也是,进一步将, K ∗ ∗ = K K^{**}=K K∗∗=K

不是凸锥。从几何上看, y ∈ K ∗ y\in K^* yK当且仅当 − y -y y K K K在原点的一个支撑超平面的法线,如下图所示:

[外链图片转存中…(img-iMHjGdPV-1692066222841)]

性质

  • K ∗ K^* K是闭凸锥。

  • K 1 ⊆ K 2 K_1\subseteq K_2 K1K2可以导出 K 2 ∗ ⊆ K 1 ∗ K_{2}^*\subseteq K_1^* K2K1

  • 如果 K K K由非空内部,那么 K ∗ K^* K是尖的(不含直线)。

  • 如果 K K K的闭包是尖的,那么 K ∗ K^* K有非空内部。

  • K ∗ ∗ K^{**} K∗∗ K K K的凸包的闭包。(因此,如果 K K K是凸和闭得,则 K ∗ ∗ = K K^{**}=K K∗∗=K)。

  • 如果 K K K是一个正常锥,那么它的对偶 K ∗ K^{*} K也是,进一步将, K ∗ ∗ = K K^{**}=K K∗∗=K

相关文章:

凸优化基础学习——凸集

凸优化基础学习——凸集 文章内容全部来自对Stephen Boyd and Lieven vandenberghe的Convex Optimization的总结归纳。 电子书资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1dP5zI6h3BEyGRzSaJHSodg?pwd0000 提取码&#xff1a;0000 基本概念 仿射集合 **…...

oracle 19c环境常见问题汇总

1、rman备份时会消耗这么多临时表空间 参考MOS&#xff1a; RMAN-08132: Warning: Cannot Update Recovery Area ORA-01652: unable to extend temp segment by 64 in tablespace TEMP (Doc ID 2658437.1) Known RMAN Performance Problems (Doc ID 247611.1) 处理办法&…...

django实现悲观锁乐观锁

前期准备 # 线上卖图书-图书表 图书名字&#xff0c;图书价格&#xff0c;库存字段-订单表&#xff1a; 订单id&#xff0c;订单名字# 表准备class Book(models.Model):name models.CharField(max_length32)price models.IntegerField() #count models.SmallIntegerField…...

vector【2】模拟实现(超详解哦)

vector 引言&#xff08;实现概述&#xff09;接口实现详解默认成员函数构造函数析构函数赋值重载 迭代器容量size与capacityreserveresizeempty 元素访问数据修改inserterasepush_back与pop_backswap 模拟实现源码概览总结 引言&#xff08;实现概述&#xff09; 在前面&…...

金融助贷公司怎么获客——大数据获客

2023年已过去大半&#xff0c;整个贷款领域遭遇的现象仍然是拓客难、拓客贵、顾客精确度不高难题。从业者工作压力与日俱增&#xff0c;每日遭遇各种各样考评&#xff0c;因此大家并不是在开发客户便是在开发客户的路上。贷款市场销售艰难变成一个问题&#xff0c;很多贷款营销…...

Java进阶-Oracle(二十一)(2)

&#x1f33b;&#x1f33b; 目录 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)1.1 标识符、关键字、函数等1.1.1 数值类型&#xff1a;1.1.2 字符串类型&#xff1a;1.1.3 日期类型1.1.4 大的数据类型--适合保存更多的数据 1.2 运算符1.3 函数---预定义函数、自定义函数&…...

SpringCloud实用篇4——MQ RabbitMQ SpringAMQP

目录 1 初识MQ1.1 同步和异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 技术对比 2.快速入门2.1 安装RabbitMQ2.1.1 单机部署2.1.2集群部署 2.2 RabbitMQ消息模型2.3.导入Demo工程2.4 入门案例2.4.1 publisher实现2.4.2 consumer实现 3 SpringAMQP3.1 Basic Queue 简单队列模型3.1…...

【BASH】回顾与知识点梳理(二十二)

【BASH】回顾与知识点梳理 二十二 二十二. Linux 账号管理22.1 Linux 的账号与群组使用者标识符&#xff1a; UID 与 GID使用者账号/etc/passwd 文件结构/etc/shadow 文件结构 关于群组&#xff1a; 有效与初始群组、groups, newgrp/etc/group 文件结构有效群组(effective grou…...

shell脚本之正则表达式

目录 一.常见的管道命令1.1sort命令1.2uniq命令1.3tr命令1.4cut命令1.5实例1.5.1统计当前主机连接状态1.5.2统计当前主机数 二.正则表达式2.1正则表达式的定义2.2常见元字符&#xff08;支持的工具&#xff1a;find&#xff0c;grep&#xff0c;egrep&#xff0c;sed和awk&…...

将SM2根证书预置到chromium中

最近花了很多精力在做chromium的GmSSL适配&#xff0c;协议和算法都已经完成&#xff0c;这篇文章是关于将SM2根证书预置到chromium中 我的开发测试环境是macos12.4&#xff0c;从chromium的代码和文档中得知证书获取和校验都是通过操作系统以及native api接口完成&#xff0c…...

linux安装mysql-8.0.33正确方式及常见问题

目录 获取mysql下载地址链接 解压安装包 复制文件到安装目录 添加用户和用户属组修改权限 创建存储数据的文件夹/usr/local/mysql 初始化安装 修改配置文件 创建日志文件并赋予对应权限 启动成功​编辑 创建软链接 之前安装过mysql&#xff0c;时间比较长忘记安装步骤了今天…...

Vim的插件管理器之Vundle

1、安装Vundle插件管理器 Vim可以安装插件&#xff0c;但是需要手动安装比较麻烦&#xff0c;Vim本身没有提供插件管理器&#xff0c;所以会有很多的第三方的插件管理器&#xff0c;有一个vim的插件叫做 “vim-easymotion”&#xff0c;在它的github的安装说明里有列出对于不同…...

机器学习丨1. 机器学习概述

Author&#xff1a;AXYZdong 硕士在读 工科男 有一点思考&#xff0c;有一点想法&#xff0c;有一点理性&#xff01; 定个小小目标&#xff0c;努力成为习惯&#xff01;在最美的年华遇见更好的自己&#xff01; CSDNAXYZdong&#xff0c;CSDN首发&#xff0c;AXYZdong原创 唯…...

清除pip安装库时的缓存

目录 1、命令清除缓存 2、路径手动清除 在使用pip安装Python库时&#xff0c;如果之前已经下载过该库&#xff0c;pip会默认使用缓存来安装库&#xff0c;而不是重新从网络上下载。缓存文件通常存储在用户目录下的缓存文件夹中&#xff0c;具体位置因操作系统和Python版本而异…...

gitee上传一个本地项目到一个空仓库

gitee上传一个本地项目到一个空仓库 引入 比如&#xff0c;你现在本地下载了一个半成品的框架&#xff0c;现在想要把这个本地项目放到gitee的仓库上&#xff0c;这时就需要我们来做到把这个本地项目上传到gitee上了。 具体步骤 1. 登录码云 地址&#xff1a;https://gite…...

力扣:63. 不同路径 II(Python3)

题目&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从…...

【C语言】每日一题(多数元素)

多数元素&#xff0c;链接奉上 方法 1.摩尔投票2.合理但错误的方法2.1暴力循环2.2排序求出中间元素中间元素 1.摩尔投票 先来简单的介绍摩尔投票&#xff1a; 摩尔投票是一种用来解决绝对众数问题的算法。 什么是绝对众数呢&#xff1f; 在一个集合中&#xff0c;如果一个元素…...

后端 .net7 Minimal API 限流中间件(微信小程序无师自通十)

我的微信小程序使用.net7 Minimal API 作为后端&#xff0c;当服务器摆上公网后&#xff0c;可以观察到很多的攻击行为和暴力访问。所以&#xff0c;我需要使用微软的限流中间件部署相应的功能在服务器上 关键字&#xff1a; AddFixedWindowLimiter using Microsoft.AspNetCo…...

背上沉重的书包准备面试之react篇

目录 react特性&#xff1f; react生命周期&#xff1f; state和props区别 react中setState执行机制&#xff1f; 在react类组件形式中&#xff0c;setState第二个参数的作用&#xff1f; react事件机制&#xff1f; react事件绑定方式有哪些&#xff1f; react组件之间…...

OpenCV-Python中的图像处理-霍夫变换

OpenCV-Python中的图像处理-霍夫变换 霍夫变换霍夫直线变换霍夫圆环变换 霍夫变换 霍夫(Hough)变换在检测各种形状的技术中非常流行&#xff0c;如果要检测的形状可以用数学表达式描述&#xff0c;就可以是使用霍夫变换检测它。即使要检测的形状存在一点破坏或者扭曲也是可以使…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...