跳到正文
格致开物MATHWIKI

仿射包

仿射包(affine hull,也称仿射闭包)是包含给定点集的最小仿射子空间,记为 aff⁡S。非空仿射子空间形如 x0+V,其中 V 为线性子空间。与线性张成不同,仿射包不强迫包含原点;与凸包不同,仿射组合的系数可以为负,但总和必须为一。[1]

取平面两点 P=(1,1)、Q=(3,1)。包含它们的最小直线是整条 y=1,所以这是它们的仿射包。两点的凸包只是其中的闭线段;线性张成则是整个平面,因为 P,Q 相对原点线性无关。三种“包住点集”的运算在这个小例子中已经不同。

从一个基点平移到线性空间

对非空 S,任选 x0∈S,有 aff⁡S=x0+span⁡{x−x0:x∈S}. 证明分两部分。右端是仿射子空间,且每个 x∈S 都等于 x0+(x−x0),因此它包含 S。若另一个仿射子空间 T 包含 S,它也包含 x0,可写成 x0+W。于是每个差 x−x0 都在 W,这些差的线性张成也在 W,所以右端包含于 T。它因此确为最小者。

这个证明同时说明结果不依赖基点选择:无论选哪个 x0,构造出的集合都满足同一个最小性条件。主例的差向量为 Q−P=(2,0),故仿射包为 (1,1)+t(2,0),t∈ℝ。

两点一一与三一的凸包为水平线段,仿射包向两侧延伸为整条y等于一直线,原点不在该直线上。
把一个点作为基点后,仿射包沿点差的线性张成延伸。

图中线段只对应 0≤t≤1,整条直线则允许任何实数 t。例如 t=−1/2 给出点 (0,1),虽在线段外,仍在仿射包内。

仿射组合的等价描述

任意点的有限仿射组合为 ∑i=1kαixi,其中 xi∈S、αi∈ℝ、∑iαi=1。它可改写成 x0+∑iαi(xi−x0), 所以落在前面构造的集合。反过来,任意 x0+∑iβi(xi−x0) 可写成 (1−∑iβi)x0+∑iβixi, 系数之和恰为一。因此仿射包就是全部有限仿射组合的集合。负系数提供向点集外延伸的能力,和为一则保留平移位置。

变式增加点 R=(2,2)。此时差向量 Q−P=(2,0) 与 R−P=(1,1) 线性无关,仿射包扩展为整个平面。若改为增加 R=(5,1),新差向量只是原差的两倍,仿射包不变。决定维数的是独立方向的数量,而非列出的点数。

仿射独立与维数

点 x0,…,xk 仿射独立,指 x1−x0,…,xk−x0 线性无关。等价地,同时满足 ∑iαixi=0 与 ∑iαi=0 的系数只能全为零。将最后一个和式用于消去 α0,两种定义便直接相互转化。

对有限非空点集,把差向量作为列组成矩阵,其秩就是仿射包的维数。一个点的仿射维数为零;两个不同点为一;三个不共线点为二。对主例两点,尽管它们线性张成的维数是二,仿射维数却只有一。重心坐标的唯一性依赖仿射独立,正是为了排除同一点的多种系数表示。

仿射包与闭包的区别

“仿射闭包”中的“闭包”表示补齐仿射组合,并不是仅添加拓扑极限点。例如开线段 {(t,1):1<t<3} 的拓扑闭包是闭线段,仿射包却是整条 y=1。在有限维欧几里得空间中,仿射子空间本身是闭集,但这不让两种运算变成同一个运算。

空集的仿射包常约定为空集,仿射维数另可约定为负一;也有资料把“仿射子空间”定义为必须非空。因此本文的基点公式只用于非空点集,不能为 S=∅ 选择一个不存在的 x0。对实际有限点集,先检查空集和重复点,再按差矩阵求秩,可以避免这些边界歧义。

参考文献

  1. ↑ Stephen Boyd、Lieven Vandenberghe,Convex Optimization,2.1.2—2.1.3节:Affine sets。