仿射 ,仿射集,子空间

学习凸优化的过程中,首先要接触到仿射集与凸集的定义,非常有必要完全理解。


关于锥、凸锥参看另一篇博文:https://blog.csdn.net/robert_chen1988/article/details/78828727

一、仿射集(Affine set),凸集(Convex set)定义

x 1 x_1 x1 x 2 x_2 x2 是定义在实数集合 C C C 中任意两个不同的点,即 x 1 ≠ x 2 x_1\neq x_2 x1=x2, 对任意一个实数 θ \theta θ,都有
θ x 1 + ( 1 − θ ) x 2 ∈ C o r x 2 + θ ( x 1 − x 2 ) ∈ C \theta x_1+(1-\theta)x_2\in C\quad or\quad x_2+\theta(x_1-x_2)\in C θx1+(1θ)x2Corx2+θ(x1x2)C
则称 C C C 为一个仿射集。若仅要求 0 ≤ θ ≤ 1 0\leq\theta\leq 1 0θ1,则 C C C 为一个凸集。可见一个仿射集必属于凸集,而凸集不一定属于仿射集。(锥跟仿射集并没有隶属关系)

仿射集的定义也可以拓展到多个点的情况,即对于多个点: x 1 , … , x k x_1,\dots,x_k x1,,xk, 以及 θ 1 + ⋯ + θ k = 1 \theta_1+\dots+\theta_k=1 θ1++θk=1,都有

θ 1 x 1 + ⋯ + θ k x k ∈ C \theta_1 x_1+\dots+\theta_kx_k\in C θ1x1++θkxkC

仿射集与凸集的几何意义是:

  • 一个集合为凸集:该集合中任意两点的线段上的点,仍然属于这个集合
  • 一个集合为仿射集:该集合中任意两点的连线上的点,仍然属于这个集合

上面的表述中,连线比线段的范围更广,连线是包含该线段的直线:除了包含两点连接在一起的线段,还包括线段外无限延伸的部分。具体,可以结合下面的图片理解。

注:每一个线性方程组 A x = b Ax=b Ax=b 的解为一个仿射集

为什么称作仿射呢? 定义 y = θ x 1 + ( 1 − θ ) x 2 y=\theta x_1+(1-\theta) x_2 y=θx1+(1θ)x2,该表达式可以化为
y = x 2 + θ ( x 1 − x 2 ) y=x_2+\theta(x_1-x_2) y=x2+θ(x1x2)
y y y 可以表示为通过基点 x 2 x_2 x2,方向为 x 1 − x 2 x_1-x_2 x1x2,大小为 θ ( x 1 − x 2 ) \theta(x_1-x_2) θ(x1x2) 的一个箭头的末端,如下图所示:

import matplotlib.pyplot as plt
import numpy as np

plt.arrow(2, 3, 4, 8, width = 0.08, color = 'c', length_includes_head = True)

plt.plot(2, 3, 'ro')
plt.annotate('$x_2$', xy = (2.2, 2.8))
plt.plot(5, 9, 'ro')
plt.annotate('$x_1$', xy = (5.2, 8.8))
plt.plot(6, 11, 'ro')
plt.annotate('$y=x_2+\\theta (x_1-x_2), \\theta = 2$', xy = (6.2, 10.8))
plt.xlim((0, 10))
plt.ylim((0, 16))
plt.show()

这里写图片描述
上面的图片中,若 0 ≤ θ ≤ 1 0\leq\theta\leq1 0θ1 y y y 必定落在 x 1 x_1 x1 x 2 x_2 x2 之间的线段内,若仅要求 θ \theta θ 为一个实数,则 y y y 还可能落在该线段上下无限延伸的直线上。

C C C 是一个仿射集, x 1 x_1 x1, … \dots , x k ∈ C x_k\in C xkC,并且 θ 1 + ⋯ + θ k = 1 \theta_1+\dots+\theta_k=1 θ1++θk=1, 则
θ 1 x 1 + ⋯ + θ k x k ∈ C \theta_1x_1+\dots+\theta_k x_k\in C θ1x1++θkxkC
其中, θ 1 x 1 + ⋯ + θ k x k \theta_1x_1+\dots+\theta_k x_k θ1x1++θkxk 称作点 x 1 , … , x k x_1, \dots, x_k x1,,xk仿射组合
若要求 θ i ≥ 0 , i = 1 , … , k \theta_i\geq 0, i = 1, \dots, k θi0,i=1,,k, 则 θ 1 x 1 + ⋯ + θ k x k \theta_1x_1+\dots+\theta_k x_k θ1x1++θkxk 称作点 x 1 , … , x k x_1, \dots, x_k x1,,xk凸组合

二、子空间(Subspace)

子空间一般默认的是线性子空间,定义为:

对于任意两个实数 a a a b b b 及向量空间非空子集 S S S 中的任意两个向量 x \bm x x, y \bm y y,都有 a x + b y ∈ S a\bm x+b\bm y\in S ax+byS,则集合 S S S 可以称作线性子空间。( a a a, b b b 可以都是零,所以零向量一定属于子空间; 子空间内任意两个向量的加和,单向量与标量的乘积也在子空间里

若子空间的维度小于实数集合 R n \mathbb{R}^n Rn,则为完美子空间。( R n \mathbb{R}^n Rn 是一个向量空间)

还有一个仿射子空间:对于一个仿射集 C C C,及其内部任意一点 x 0 x_0 x0,集合
V = C − x 0 = { x − x 0 ∣ x ∈ C } V=C-x_0=\{x-x_0\mid x\in C\} V=Cx0={xx0xC}
属于子空间。

仿射子空间可以视作线性子空间的移动。例如:在一个 n 维向量空间里,经过原点的平面为一个线性子空间,而其他不经过原点的平面为仿射子空间

下面的性质都是针对子空间:
性质1:一个子空间 V V V 为仿射集
性质2:一个子空间 V V V 为凸锥
性质3:一个子空间 V V V 为凸集

证明:对于 V V V 中任意两点 v 1 v_1 v1 v 2 v_2 v2,它们的线性组合是 α v 1 + β v 2 \alpha v_1+\beta v_2 αv1+βv2,因为
α v 1 + β v 2 + x 0 = α ( v 1 + x 0 ) + β ( v 2 + x 0 ) + ( 1 − α − β ) x 0 ∈ C \alpha v_1+\beta v_2 + x_0= \alpha(v_1+x_0)+\beta(v_2+x_0)+(1-\alpha-\beta)x_0\in C αv1+βv2+x0=α(v1+x0)+β(v2+x0)+(1αβ)x0C
(因为 v 1 + x 0 ∈ C v_1+x_0\in C v1+x0C, v 2 + x 0 ∈ C v_2+x_0\in C v2+x0C, 以及仿射集的定义)
所以 α v 1 + β v 2 ∈ V \alpha v_1+\beta v_2 \in V αv1+βv2V,即一个子空间中任意两点的线性组合仍然属于该子空间。
特别的,我们令 α = 1 − β \alpha=1-\beta α=1β,则根据仿射集定义,子空间属于一个仿射集。
特别的,我们令 α > 0 , β > 0 \alpha>0,\beta>0 α>0,β>0,则根据凸锥的定义,子空间属于一个凸锥。
若我们令 α = 1 − β , 0 ≤ α ≤ 1 \alpha=1-\beta, 0\leq\alpha\leq 1 α=1β,0α1,则估计凸集定义,子空间属于一个凸集。
□ \Box

一条直线是一个仿射集合,一个通过原点的直线属于子空间(证明过程类似上面)
注1:子空间为线性方程组 Ax=0 的解。
注2:若 x x x 属于子空间,那么 − x -x x 也属于子空间。

三、仿射包(affine hull)

一个集合 C C C 内所有点的仿射组合,称作该集合的仿射包, 即 aff C C C:
aff  C = { θ 1 x 1 + ⋯ + θ k x k ∣ x 1 , … , x k ∈ C , θ 1 + ⋯ + θ k = 1 } \text{aff}~ C=\{\theta_1x_1+\dots+\theta_kx_k\mid x_1,\dots, x_k\in C, \theta_1+\dots+\theta_k=1\} aff C={θ1x1++θkxkx1,,xkC,θ1++θk=1}

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心态与习惯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值