跳转到内容

8.3 凸组合

[美] David C. Lay、Steven R. Lay 等著,刘深泉等译机械工业出版社《线性代数及其应用(原书第5版)》大学本科 · 教材双语助读 (Alt+Y)

8.1节中考察了一个特殊的线性组合形式

c _ 1 ±b ν _ 1 + c _ 2 ±b ν _ 2 + … + c _ k ±b ν _ k, text 其中 c _ 1 + c _ 2 + … + c _ k = 1

本节将限制这些权值为非负.

定义 Rⁿ 中点 v₁, v₂, …, vₖ 的一个凸组合是如下形式的线性组合:

c _ 1 boldsymbol v _ 1 + c _ 2 boldsymbol v _ 2 + … + c _ k boldsymbol v _ k

对于所有的 i ,有 c₁ + c₂ + … + cₖ = 1 和 cᵢ ≥slant 0 。一个集合 S 中所有凸组合的集称为 S 的凸包,记为 operatornameconv S 。

单点 v₁ 的凸包就是集合 {v₁} ,与仿射包相同。在其他的情形下,凸包真包含在仿射包中。回忆不同点 v₁ 和 v₂ 的仿射包是直线

boldsymbol y = (1 - t) boldsymbol v _ 1 + t boldsymbol v _ 2, t ∈ mathbb R

由于一个凸组合的权值是非负的,故 {±bv₁, ±bv₂} 中的点可写为

mathbf y = (1 - t) mathbf v _ 1 + t mathbf v _ 2, 0 ≤slant t ≤slant 1

这是在点 v₁ 和 v₂ 之间的线段,记为 overlinev₁v₂ .

如果一个集合 S 是仿射无关的,且 ±bp ∈ operatornameaff S ,那么当且仅当 ±bp 的重心坐标是非负时, ±bp ∈ operatornameconv S 。例1证明了一个特殊的情形,其中 S 是仿射无关的。

例 1

令

boldsymbol v _ 1 = [ c 3 0 6 - 3 ], boldsymbol v _ 2 = [ c - 6 3 3 0 ], boldsymbol v _ 3 = [ c 3 6 0 3 ], boldsymbol p _ 1 = [ c 0 3 3 0 ], boldsymbol p _ 2 = [ c - 1 0 5 1 1 - 4 ]

且 S = {±bv₁, ±bv₂, ±bv₃}.注意 S 是正交集.确定 ±bp₁ 是否在 operatornameSpan S , operatornameaff S 及 operatornameconv S 中.同样考虑 ±bp₂ 的情况.

解

若 p₁ 至少是 S 中点的线性组合,则由于 S 是正交集合,很容易求出权值。令 W 为 S 生成的子空间。类似于 6.3 节的计算证明了 p₁ 在 W 上的正交投影 p₁ 是其本身:

r l proj _ W boldsymbol p _ 1 & = frac boldsymbol p _ 1 · boldsymbol v _ 1boldsymbol v _ 1 · boldsymbol v _ 1 boldsymbol v _ 1 + frac boldsymbol p _ 1 · boldsymbol v _ 2boldsymbol v _ 2 · boldsymbol v _ 2 boldsymbol v _ 2 + frac boldsymbol p _ 3 · boldsymbol v _ 3boldsymbol v _ 3 · boldsymbol v _ 3 boldsymbol v _ 3 & = frac 1 85 4 boldsymbol v _ 1 + frac 1 85 4 boldsymbol v _ 2 + frac 1 85 4 boldsymbol v _ 3 & = frac 13 [ c 3 0 6 - 3 ] + frac 13 [ c - 6 3 3 0 ] + frac 13 [ c 3 0 6 3 ] = frac 13 [ c 0 3 3 0 ] = boldsymbol p _ 1

由此证明 p₁ 在 Span S 内.同样由于系数和为 1, 因此 p₁ 在 aff S 内.进一步,由于系数是非负的,故 p₁ 在 conv S 内.

对于 p₂ ,类似的计算证明 proj_(W)p₂ ≠ p₂ 。由于 proj_(W)p₂ 是 Span S 中到 p₂ 最近的点,所以,点 p₂ 不在 Span S 中。特别地, p₂ 不可能在 aff S 内或 conv S 内。

回忆一下,集合 S 是仿射的,若 S 内任意两点确定的直线都在 S 中。而在凸集中,要考虑的是线段而不是直线。

定义 集合 S 是凸的,若对于每个 ±bp,±bq∈ S ,线段 overline±bpq 在 S 中.

直觉上,若集合 S 中的每两点都可以相互 “看到”,且视线不越出该集合,那么集合 S 是凸的。图 8-14 说明了这个思想。


凸的

图 8-14


不是凸的

下面的结论类似于仿射集的定理2.

定理 7

集合 S 是凸集当且仅当 S 中的点的凸组合在 S 中,即 S 是凸集当且仅当 S = conv S .

证明

讨论类似于定理2 的证明,这里只给出归纳步骤中不同的部分。取 k+1 个点的凸组合,考虑 y=c₁v₁+…+cₖvₖ+cₖ+1vₖ+1 ,其中 c₁+c₂+…+cₖ+1=1 ,且对所有的 i, 0≤slant cᵢ≤slant1 。若 cₖ+1=1 ,则 y=vₖ+1 属于 S,这不需要进一步证明。若 cₖ+1<1 ,令 t=c₁+…+cₖ ,则 t=1-cₖ+1>0 且

boldsymbol y = (1 - c _ k + 1) (frac c _ 1t boldsymbol v _ 1 + … + frac c _ kt boldsymbol v _ k) + c _ k + 1 boldsymbol v _ k + 1 (1)

由归纳假设,点 z=(c₁/t)v₁+…+(cₖ/t)vₖ 在 S 内,这是由于非负系数和为 1. 于是,方程(1)表明 y 为 S 内两点的凸组合.由归纳法原理,S 内的点的每个凸组合在 S 内.

下面的定理9提供了集合凸包的一个几何特征。它需要有关交集的初步结论。回顾4.1节(习题32)中的一个事实——两个子空间的交集本身仍是一个子空间。事实上,任一组子空间的交集本身仍是一个子空间。对于仿射集与凸集有相似的结论。

定理 8

设 {S_(α) : α ∈ mathcalA} 是任一组凸集,则 ∩_(α ∈ mathcalA) S_(α) 是凸集。若 {T_(β) : β ∈ mathcalB} 是任一组仿射集,则 ∩_(β ∈ mathcalB) S_(β) 是仿射集。

证明

若 p, q ∈ ∩ S_(α) ,则 p, q 在每个 S_(α) 中。由于每个 S_(α) 是凸集,因此对所有 α ,连接 p, q 的线段在 S_(α) 中,从而线段属于 ∩ S_(α) 。对于仿射集的证明与此类似。

定理 9

对任何集合 S,S 的凸包是所有包含 S 的凸集的交集.

证明

令 T 为包含 S 的所有凸集的交集.由于 operatornameconv S 是包含 S 的一个凸集,故 T ⊂ operatornameconv S.另一方面,令 C 是包含 S 的任意一个凸集,则 C 包含 C 中所有点构成的凸组合 (定理7), 因此也包含子集 S 中所有点构成的凸组合,即 operatornameconv S ⊂ C.由于对包含 S 的每个凸集 C 都成立,故对所有包含 S 的凸集的交集同样成立,即 operatornameconv S ⊂ T .

定理9证明了 S 的凸包是包含 S 的“最小”的凸集,这一点诠释了“凸包”的自然含义。例如,考虑平面 ℝ² 中可被某个大长方形包含的点集 S ,想象环绕 S 外边沿拉伸橡皮筋。由于橡皮筋限制于 S ,因此它构架了 S 凸包的边界。或者用另一个模拟, S 的凸包填满 S 内部所有的洞及 S 边界中所有的凹陷。

例 2

a. R² 中集合 S, T 的凸包如下图所示.


S


conv S
T


conv T

b.令 S 是三维空间 ℝ³ 的标准基构成的集合, S = {±be₁, ±be₂, ±be₃} 。则 operatornameconv S 是 ℝ² 中顶点为 ±be₁, ±be₂, ±be₃ 的一个三角面。见图 8-15。

例 3

令 S = { x y : x ≥slant 0, y = x²} ,证明 S 的凸包是原点和 { x y : x > 0, y ≥slant x²} 的并集。如图 8-16所示。

图 8-15

图 8-16

解

S 的凸包中每个点都在连接 S 中两点的线段上.图 8-16中的虚线表明,除了原点外,y 的正半轴不在 S 的凸包中,这是因为原点是 S 轴上唯一的点.图 8-16所示的 y 轴上唯一的点.图8-16所示的 S 的凸包似乎是合理的,但是如何确定点 (10⁻2, 10⁴) 在连接原点与 S 中另一点的线段上?

考虑图 8-16阴影部分的任意点 ±bp ,令

±b p = [ l a b ], a > 0 text 且 b ≥slant a ^ 2

经过 0 与 p 的直线满足方程 y=(b/a)t ,t 为实数。直线与 S 的交点满足 (b/a)t=t² ,即 t=b/a。因此 p 在连接 0 与 b/a b²/a² 的线段上。由此证明图 8-16 正确。

下面的定理是凸集学习中的基本定理,于1907年首次由Constantin Caratheodory证明.若 ±bp 在 S 的凸包中,则按定义, ±bp 必是 S 的点的一个凸组合.但定义没有规定需要 S 中多少个点构成这个组合. Caratheodory的著名定理表明在 n 维空间中,凸组合中 S 的点的个数不必多于 n + 1

定理 10 Caratheodory

若 S 是 ℝⁿ 中一非空子集,则 S 的凸包中的每一点可以由 S 中 n + 1 个或更少的点的凸组合表示.

证明

假定 p 在 S 的凸包中,则 p = c₁v₁ + … + cₖvₖ ,其中 vᵢ ∈ S , c₁ + … + cₖ = 1 ,且 cᵢ ≥slant 0, i = 1, …, k 。我们的目的就是证明 p 存在这样的表达式且 k ≤slant n + 1 。

若 k > n + 1 ,则由 8.2 节习题 12 知 {v₁, …, vₖ} 是仿射相关的,因此存在不全为 0 的标量 d₁, …, dₖ ,使得

∑_ i = 1 ^ k d _ i ±b ν _ i = ±b 0 text 且 ∑_ i = 1 ^ k d _ i = 0

考虑如下两个方程:

l c _ 1 boldsymbol v _ 1 + … + c _ k boldsymbol v _ k = boldsymbol p d _ 1 v _ 1 + … + d _ k boldsymbol v _ k = mathbf 0

第一个方程减去第二个方程的适当倍数,可以消去一个 vᵢ ,从而得到 S 的少于 k 个点构成的凸组合,该凸组合等于 p.

由于并非所有的系数 dᵢ 都为0,因此可以假定(若需要则重新排下标) dₖ > 0 且对那些 dᵢ > 0 的所有 i 有 cₖ / dₖ ≤slant cᵢ / dᵢ.对 i = 1, …, k ,令 bᵢ = cᵢ - (cₖ / dₖ)dᵢ.则 bₖ = 0 且

∑_ i = 1 ^ k b _ i = ∑_ i = 1 ^ k c _ i - frac c _ kd _ k ∑_ i = 1 ^ k d _ i = 1 - 0 = 1

进一步,每个 bᵢ ≥slant 0 。事实上,若 dᵢ ≤slant 0 ,则 bᵢ ≥slant cᵢ ≥slant 0 。若 dᵢ > 0 ,则 bᵢ = dᵢ(cᵢ / dᵢ - cₖ / dₖ) ≥slant 0 。由构造,得

∑_ i = 1 ^ k - 1 b _ i boldsymbol v _ i = ∑_ i = 1 ^ k b _ i boldsymbol v _ i = ∑_ i = 1 ^ k (c _ i = frac c _ kd _ k d _ i) boldsymbol v _ i = ∑_ i = 1 ^ k c _ i boldsymbol v _ i - frac c _ kd _ k ∑_ i = 1 ^ k d _ i boldsymbol v _ i = ∑_ i = 1 ^ k c _ i boldsymbol v _ i = boldsymbol p

因此 p 是 k-1 个点 v₁, …, vₖ-1 的凸组合.重复上述步骤到 p 是由 S 中 n+1 个点构成的凸组合.下面的例子说明了上述证明中的计算.

例 4

令

boldsymbol v _ 1 = [ l 1 0 ], boldsymbol v _ 2 = [ l 2 3 ], boldsymbol v _ 3 = [ l 5 4 ], boldsymbol v _ 4 = [ l 3 0 ], boldsymbol p = [ l frac 1 03 frac 52 ]

且 S = {±bv₁,±bv₂,±bv₃,±bv₄} ,则

frac 14 boldsymbol v _ 1 + frac 16 boldsymbol v _ 2 + frac 12 boldsymbol v _ 3 + frac 11 2 boldsymbol v _ 4 = boldsymbol p (2)

使用 Caratheodory 定理的证明过程把 p 表示为 S 中三个点构成的凸组合.

解

集合 S 是仿射相关的.使用8.2节中的方法得到一个仿射相关的关系式

- 5 boldsymbol v _ 1 + 4 boldsymbol v _ 2 - 3 boldsymbol v _ 3 + 4 boldsymbol v _ 4 = mathbf 0 (3)

接下来,选择(3)式中的点 ±bv₂, ±bv₄ ,它们的系数为正。对上述每个点,计算方程(2)与(3)中系数的比例。 ±bv₂ 的系数比为 1/6 ÷ 4 = (1)/(24) ,而 ±bv₄ 的为 (1)/(12) ÷ 4 = (1)/(48) 。 ±bv₄ 的比更小,因此从方程(2)减去方程(3)的 (1)/(48) 来消去 ±bv₄ :

(frac 14 + frac 54 8) boldsymbol v _ 1 + (frac 16 - frac 44 8) boldsymbol v _ 2 + (frac 12 + frac 34 8) boldsymbol v _ 3 + (frac 11 2 - frac 44 8) boldsymbol v _ 4 = boldsymbol pfrac 1 74 8 boldsymbol v _ 1 + frac 44 8 boldsymbol v _ 2 + frac 2 74 8 boldsymbol v _ 3 = boldsymbol p

一般而言,通过减少需要的点的个数并不能改善这个结果。事实上, ℝ² 中任意三个非共线的点构成的三角形的质心在这三个点的凸包中,而不是在任意两点的凸包中。

练习题
  1. 令 ±bv₁ = 6 2 2 , ±bv₂ = 7 1 5 , ±bv₃ = -2 4 -1 , ±bp₁ = 1 3 1,及 ±bp₂ = 3 2 1,令 S = {±bv₁, ±bv₂, ±bv₃}.确定 ±bp₁ 和 ±bp₂ 是否在 conv S 中.

  2. 令 S 为曲线 y=1/x(x>0) 上的点集,从几何上解释 S 的凸包由曲线 S 上及 S 上方的点构成.

习题8.3
  1. 在 ℝ² 中,令 S = { 0 y : 0 ≤slant y < 1 } ∪ { 2 0 }.描述 S 的凸包.

  2. 描述 R² 中点 x y 构成的集合 S 满足如下给定条件的凸包.证明你的结论.(证明 S 中任意一点 p 属于 S 的凸包.)
    a. y=1/x 且 x ≥slant 1/2 b. y = sin x c. y = x¹/2 且 x ≥slant 0

  3. 考虑 8.1 节习题 5 中的点.p₁ , p₂ 和 p₃ 哪个在 S 的凸包中?

  4. 考虑 8.1 节习题 6 中的点.p₁ , p₂ 和 p₃ 哪个在 S 的凸包中?

  5. 令 ±bv₁ = -1 -3 4 ,±bv₂ = 0 -3 1 ,±bv₃ = 1 -1 4 ,±bv₄ = 1 1 -2

p₁=1-12, p₂=0-22, 且 S={ν₁,ν₂,ν₃,ν₄}. 确定

p₁ , p₂ 是否在S的凸包中.

boldsymbol v _ 1 = [ c 2 0 - 1 2 ], boldsymbol v _ 2 = [ c 0 - 2 2 1 ], boldsymbol v _ 3 = [ c - 2 1 0 2 ], boldsymbol p _ 1 = [ c - 1 2 - frac 32 frac 52 ],

p₂=-1/201/47/4,p₃=6-41-1,p₄=-1-204, 且 S={ν₁,ν₂,ν₃}

为正交集.确定每一 pᵢ 是否属于 Span S, aff S 或 conv S.

a. p₁ b. p₂ c. p₃ d. p₄

习题 7~10 使用 8.2 节中的术语.

  1. a.令 T = { -1 0 , 2 3 , 4 1 } , ±bp₁ = 2 1 , ±bp₂ = 3 2 , ±bp₃ = 2 0 , ±bp₄ = 0 2.求出 ±bp₁, ±bp₂, ±bp₃, ±bp₄ 关于 T 的重心坐标. b. 由(a)的答案确定 ±bp₁, ±bp₂, ±bp₃, ±bp₄ 在 T 的凸包(即三角形区域)内部、外部还是边上.

  2. 重复习题7的过程,其中 T = { 2 0 , 0 5 , -1 1 } , p₁ = 2 1 , p₂ = 1 1 , p₃ = 1 1/3 , p₄ = 1 0 .

  3. 令 S = {ν₁, ν₂, ν₃, ν₄} 是仿射不相关集,考虑点 ±bp₁, …, ±bp₅ 关于 S 的重心坐标分别为 (2,0,0,-1) , (0, 1/2, 1/4, 1/4), (1/2, 0, 3/2, -1), (1/3, 1/4, 1/4, 1/6) 和 (1/3, 0, 2/3, 0) 确定每点 ±bp₁, …, ±bp₅ 是在凸包 S (一个四面体)内部、外部还是表面。这5个点中有点在凸包 S 的边上吗?

  4. 重复习题 9 的过程,其中 q₁, …, q₅ 关于 S 的重心坐标分别为 (1/8, 1/4, 1/8, 1/2) , (3/4, -1/4, 0, 1/2) , (0, 3/4, 1/4, 0) , (0, -2, 0, 3) 和 (1/3, 1/3, 1/3, 0) .

  5. a.若 y = c₁v₁ + c₂v₂ + c₃v₃ ,且 c₁ + c₂ + c₃ = 1 ,则 y 是 v₁, v₂, v₃ 的凸组合. b. 若 S 是非空集合,则 S 的凸包包含一些不属于 S 的点. c. 若 S, T 都是凸集,则 S ∪ T 也是凸集.

  6. a.集合 S 是凸集,若 x, y ∈ S ,则 x 和 y 间的线段在 S 内. b. 若 S, T 都是凸集,则 S ∩ T 也是凸集. c. 若 S 是 R⁵ 中的非空集合,且 y ∈ convS ,则存在 S 中不同的点 v₁, …, v₆ ,使得 y 是 v₁, …, v₆ 的凸组合.

  7. 令 S 是 ℝⁿ 中的凸子集,假定 f: ℝⁿ → ℝ^m 是一线性变换.证明: 集合 f(S) = {f(x): x ∈ S} 是 ℝ^m 的凸子集.

  8. 令 f: ℝⁿ → ℝ^m 是一线性变换,且 T 是 ℝ^m 中的凸子集。证明:集合 S = {x ∈ ℝⁿ : f(x) ∈ T} 是 ℝⁿ 的凸子集。

  9. 令 ±bv₁ = 1 0 , ±bv₂ = 1 2 , ±bv₃ = 4 2 , ±bv₄ = 4 0 , ±bp = 2 1.证实 p = 1/3 v₁ + 1/3 v₂ + 1/6 v₃ + 1/6 v₄ 且 v₁ - v₂ + v₃ - v₄ = 0.使用 Caratheodory 定理的证明过程把 p 表示为 vᵢ 中三个点构成的凸组合.使用两种方法.

  10. 重复习题 15 的过程,其中点 ±bv₁ = -1 0 ,±bv₂ = 0 3 ,±bv₃ = 3 1 ,±bv₄ = 1 -1 ,±b p = 1 2 ,且 p = (1)/(121)±b v₁ + (72)/(121)±b v₂ + (37)/(121)±b v₃ + (1)/(11)±b v₄ 10ν₁ - 6ν₂ + 7ν₃ - 11ν₄ = 0

在习题 17~20 中,证明关于 Rⁿ 中子集 A 与 B 的命题。证明中可能会使用前面习题中的结论。

  1. 若 A ⊂ B 且 B 是凸集,则 operatornameconv A ⊂ B .

  2. 若 A ⊂ B ,则 operatornameconv A ⊂ operatornameconv B

  3. a. [(conv A) ∪ (conv B)] ⊂ conv (A ∪ B) . b. 在 R² 中找一个例子,以证明(a)中等号未必成立.

  4. a. operatornameconv(A ∩ B) ⊂ [(operatornameconv A) ∩ (operatornameconv B)] . b. 在 ℝ² 中找一个例子,以证明(a)中等号未必成立.

  5. 令 p₀, p₁, p₂ 是 ℝⁿ 中的点,且定义 f₀(t) = (1 - t)p₀ + tp₁ , f₁(t) = (1 - t)p₁ + tp₂ , g(t) = (1 - t)f₀(t) + tf₁(t) , 0 ≤slant t ≤slant 1 。各点如图所示,画图说明 f₀(1/2) , f₁(1/2) 和 g(1/2) 。

  1. 重复习题 21 的过程,画图说明 f₀(3/4) , f₁(3/4) 和 g(3/4) .

  2. 令 g(t) 为习题 21 中所定义,它的图像称为二次贝塞尔曲线,常运用于某些计算机图形设计.

p₀, p₁, p₂ 称为曲线的控制点.计算仅包含 p₀, p₁, p₂ 的公式 g(t) .那么 g(t) 在 operatornameconv{p₀, p₁, p₂} 中, 0 ≤slant t ≤slant 1

  1. 给定 ℝⁿ 中的控制点 p₀, p₁, p₂, p₃ ,令 g₁(t) 为习题23中 p₀, p₁, p₂ 确定的二次贝塞尔曲线, 0 ≤slant t ≤slant 1 ,令 g₂(t) 为 p₁, p₂, p₃ 确定的二次贝塞尔曲练习题答案

线.定义 h(t)=(1-t)g₁(t)+tg₂(t) , 0≤slant t≤slant1 .证明 h(t) 的图形在这四个控制点的凸包中.这条曲线称为三次贝塞尔曲线,它的定义基于构建贝塞尔曲线的算法。(在稍后8.6节讨论.)k维的贝塞尔曲线由 k+1 个控制点确定,它的图形位于这些控制点的凸包中.

  1. 点 v₁, v₂, v₃ 非正交,计算
boldsymbol v _ 2 - boldsymbol v _ 1 = [ c 1 - 1 3 ], boldsymbol v _ 3 - boldsymbol v _ 1 = [ c - 8 2 - 3 ], boldsymbol p _ 1 - boldsymbol v _ 1 = [ c - 5 1 - 1 ], boldsymbol p _ 2 - boldsymbol v _ 1 = [ c - 3 0 - 1 ]

把 p₁-v₁ 和 p₂-v₁ 加到矩阵 [v₂-v₁, v₃-v₁] 中作行化简:

[ r r r r 1 & - 8 & - 5 & - 3 - 1 & 2 & 1 & 0 3 & - 3 & - 1 & - 1 ] ∼ [ r r r r 1 & 0 & frac 13 & 1 0 & 1 & frac 23 & frac 12 0 & 0 & 0 & - frac 52 ]

第三列说明 p₁ - v₁ = 1/3 (v₂ - v₁) + 2/3 (v₃ - v₁) ,由此推出 p₁ = 0v₁ + 1/3 v₂ + 2/3 v₃ 。故 p₁ 在 S 的凸包中。事实上, p₁ 在点集 {v₂, v₃} 的凸包中。矩阵的最后一列说明 p₂ - v₁ 不是 v₂ - v₁ 与 v₃ - v₁ 的线性组合,所以 p₂ 不是 v₁, v₂, v₃ 的仿射组合,故 p₂ 不在 S 的凸包中。

另一解法是把齐次形式的增广矩阵行化简为阶梯形矩阵:

[ widetilde boldsymbol v _ 1 widetilde boldsymbol v _ 2 widetilde boldsymbol v _ 3 widetilde boldsymbol p _ 1 widetilde boldsymbol p _ 2 ] ∼ [ c c c c c 1 & 0 & 0 & 0 & 0 0 & 1 & 0 & frac 13 & 0 0 & 0 & 1 & frac 23 & 0 0 & 0 & 0 & 0 & 1 ]
  1. 若 p 是曲线 S 上方一点,则经过点 p 斜率为 -1 的直线在到达 x, y 的正半轴前与 S 交于两点.
共 0 题