跳到正文
格致开物MATHWIKI

仿射变换

内容维护:格致开物 · 编写与核验 · 修订记录 · 纠错

仿射变换(affine transformation)是形如 f(x)=Ax+b 的映射,其中 A 为线性映射的矩阵,b 为固定平移向量。它将线性变换与平移组合起来,并保持系数之和为一的仿射组合。严格的几何术语有时只把可逆映射称为仿射变换,而把一般情形称为仿射映射;本文允许不可逆的 A,在需要可逆性时明确指出。[1]

例如 A=(1101)、b=(2,−1)𝖳 给出 f(x1,x2)=(x1+x2+2,x2−1)。它先剪切,再将所有点平移同一向量。原点被送到 (2,−1),所以这个映射不是线性的,尽管两点之间的差仍按 A 线性变化。

平移改变位置,线性部分改变差向量

任意两点满足 f(y)−f(x)=A(y−x),平移项在相减时消失。因此线性部分控制方向和相对位移,而 b=f(0) 控制原点的去向。对单位正方形四顶点,主例给出 (0,0)↦(2,−1),(1,0)↦(3,−1),(0,1)↦(3,0),(1,1)↦(4,0). 两条边的方向分别变成 Ae1=(1,0) 与 Ae2=(1,1),所以输出是平行四边形。

单位正方形经剪切加平移变成顶点二负一、三负一、四零、三零的平行四边形,中心从二分之一二分之一映到三负二分之一。
四个顶点与中心按同一映射变化,平移不改变边向量之间的关系。

原中心为 c=(1/2,1/2),直接代入得到 f(c)=(3,−1/2);四个输出顶点的平均也是这个点。下面的仿射组合恒等式解释这种对应为何总成立。

保持仿射组合的证明

对任意有限组点 xi 和实系数 αi,若 ∑iαi=1,则 f(∑iαixi)=A∑iαixi+b=∑iαiAxi+(∑iαi)b=∑iαif(xi). 关键一步是把一个平移项写成系数之和乘它;没有“和为一”,该步就不成立。例如 f(x+y) 含一个 b,f(x)+f(y) 却含两个,故一般不满足线性映射的加法性质。

反向若实向量空间间的映射保持所有实系数的有限仿射组合,令 g(x)=f(x)−f(0)。对 tx+(1−t)0 使用性质,得到 g(tx)=tg(x);对中点使用性质,再用 g(2z)=2g(z),得到 g(x+y)=g(x)+g(y)。因此 g 线性,原映射确可写成 Ax+b。这里假设保持全部实系数组合,不是只检查几个中点的数值。

直线、线段与凸性

直线可写成 x+td,其像为 f(x)+tAd。若 Ad≠0,像仍为直线;若 Ad=0,整条线塌缩为一点。对 0≤t≤1,同一公式说明线段的像恰为两个端点之间的线段,允许退化成点。因此凸集的仿射像仍凸:任意两个像点的凸组合等于原来两点的凸组合的像。

对于可逆仿射变换,共线性、平行性和同一直线上的有向分点比得以保持;长度、角度一般不保持。主例将互相垂直的 e1,e2 变成 (1,0),(1,1),夹角变成四十五度,直接反驳“仿射变换一定保角”。有向面积在二维中乘以 det⁡A,主例行列式为一,所以面积保持,不能据此推断每条边长保持。

复合、逆与退化变式

若 f(x)=Ax+b、g(x)=Cx+d,则 (g∘f)(x)=CAx+Cb+d. 平移也要经过后一个线性变换,不能只把两个平移向量相加。若 A 为可逆方阵,f−1(y)=A−1(y−b)。主例中由 y2=x2−1 得 x2=y2+1,再得 x1=y1−y2−3。

变式将线性部分改为 A=(1000),保持 b=(2,−1)。四个顶点变成 (2,−1),(3,−1),(2,−1),(3,−1),整个正方形压成线段。它仍保持所有仿射组合和凸性,却不再保持不同点、非零面积或可逆性。这说明前面关于保持直线与分点比的叙述需要防止方向被消去。

参考文献

  1. ↑ Stephen Boyd、Lieven Vandenberghe,Convex Optimization,2.1.2与2.3.2节。