跳到主要内容

线性变换与基

1. 线性变换​

定义

对于一个 Fn→Fm\mathbb{F}^n \rightarrow \mathbb{F}^m 的变换 TT,如果满足:

  1. T(u+v)=T(u)+T(v)T(\bm{u} + \bm{v}) = T(\bm{u}) + T(\bm{v})
  2. T(cu)=cT(u)T(c\bm{u}) = cT(\bm{u})

那么,TT 是一个线性变换(英语:linear transformation)。

特别地,任意 m×nm \times n 的矩阵 AA 都定义了一个 Fn→Fm\mathbb{F}^n \rightarrow \mathbb{F}^m 的线性变换:

TA(x)=AxT_A(\bm{x}) = A\bm{x}

反过来,任意线性变换也都可以表示为一个矩阵。

1.1 复合变换与可逆​

linear-transformation

多个线性变换可以依次作用于同一个向量,构成一个复合变换。设变换矩阵依次为 T1,T2,⋯ ,TnT_1, T_2, \cdots, T_n,则:

Tn⋯T2T1x=yT_n \cdots T_2 T_1 \bm{x} = \bm{y}

复合变换的本质就是矩阵乘法,从右向左依次应用。这也是图形管线中 MVP 矩阵(Model →\rightarrow View →\rightarrow Projection)的工作原理。

如果每个 TiT_i 都可逆,那么从变换后的 y\bm{y} 可以唯一还原出原向量 x\bm{x}:

x=T1−1T2−1⋯Tn−1y\bm{x} = T_1^{-1} T_2^{-1} \cdots T_n^{-1} \bm{y}
提示

列向量做变换时需要左乘矩阵,行向量做变换时需要右乘矩阵。

2. 基与基坐标​

2.1 什么是基​

定义

Fn\mathbb{F}^n 子空间 SS 中的一组向量 { v1,v2,⋯ ,vk }\Set{\bm{v}_1, \bm{v}_2, \cdots, \bm{v}_k},如果满足:

  1. 这些向量线性无关(任何一个都不能由其他向量线性组合得到)
  2. SS 中的任意向量都可以表示为这些向量的线性组合

那么这组向量称为 SS 的基(英语:basis)。

基可以理解为空间的"坐标系骨架":选定一组基,空间中的每个向量就对应唯一的一组坐标。

最常用的基是标准基(英语:standard basis),由每个维度的单位向量组成:

e1=[10⋮0],e2=[01⋮0],⋯ ,en=[00⋮1]\bm{e}_1 = \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix},\quad \bm{e}_2 = \begin{bmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{bmatrix},\quad \cdots,\quad \bm{e}_n = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{bmatrix}

2.2 基坐标​

定义

设 B={ v1,v2,⋯ ,vk }\mathcal{B} = \Set{\bm{v}_1, \bm{v}_2, \cdots, \bm{v}_k} 是空间 SS 的基,v\bm{v} 是 SS 中的向量。将 v\bm{v} 表示为基向量的线性组合:

v=c1v1+c2v2+⋯+ckvk\bm{v} = c_1\bm{v}_1 + c_2\bm{v}_2 + \cdots + c_k\bm{v}_k

则 (c1,c2,⋯ ,ck)(c_1, c_2, \cdots, c_k) 称为 v\bm{v} 在基 B\mathcal{B} 下的坐标(英语:coordinate)。对应的列向量:

[v]B=[c1c2⋮ck][\bm{v}]_\mathcal{B} = \begin{bmatrix} c_1 \\ c_2 \\ \vdots \\ c_k \end{bmatrix}

称为 v\bm{v} 在基 B\mathcal{B} 下的坐标向量(英语:coordinate vector)。

同一个向量,在不同基下有不同的坐标,坐标变换,就是已知一组基下的坐标,求它在另一组基下的坐标。

2.3 基变换​

基变换是坐标变换的核心。设空间中有两组基:

  • 旧基:U={ u1,u2,⋯ ,un }\mathcal{U} = \Set{\bm{u}_1, \bm{u}_2, \cdots, \bm{u}_n}
  • 新基:V={ v1,v2,⋯ ,vn }\mathcal{V} = \Set{\bm{v}_1, \bm{v}_2, \cdots, \bm{v}_n}

新基中的每个向量都可以用旧基表示,即存在一个 n×nn \times n 的矩阵 PP,使得:

[v1v2⋯vn]=[u1u2⋯un]P\begin{bmatrix} \bm{v}_1 & \bm{v}_2 & \cdots & \bm{v}_n \end{bmatrix} = \begin{bmatrix} \bm{u}_1 & \bm{u}_2 & \cdots & \bm{u}_n \end{bmatrix} P

矩阵 PP 称为从旧基 U\mathcal{U} 到新基 V\mathcal{V} 的过渡矩阵。那么任意向量 x\bm{x} 在两组基下的坐标满足:

[x]U=P⋅[x]V[\bm{x}]_\mathcal{U} = P \cdot [\bm{x}]_\mathcal{V}

也就是说,基变换等价于用一个可逆矩阵乘以坐标向量。

反过来也很自然:如果 AA 是一个可逆矩阵,它将标准基变换为一组新基 { Ae1,⋯ ,Aen }\Set{A\bm{e}_1, \cdots, A\bm{e}_n},那么向量在新基下的坐标就是 A−1xA^{-1}\bm{x}。

提示

应用变换矩阵就是换基,求逆就是换回原基。