0%

03 - 线性变换

1. 线性变换

线性变换不等同于矩阵,矩阵只是某种线性变换的一种显示的数学表达方式,而且某种确定的线性变换在不同的坐标系中,描述该线性变换的矩阵也不相同。

实际上,如果不在 源空间(source)目标空间(target) 中选取一组基的话,一个抽象的线性变换理论上是没有矩阵的。

当然,平时常常会默认以 单位空间 I\bold{I} 作为基来进行表示。

2. 对向量的线性变换

空间变换.webp

设图中绿色向量为基向量 i^=[10]\hat{i} = \begin{bmatrix} 1 \\ 0 \end{bmatrix} ,红色向量为基向量 j^=[01]\hat{j} = \begin{bmatrix} 0 \\ 1 \end{bmatrix}

在经过某种线性变换 T\bold{T} 之后,跟踪 i^\hat{i}j^\hat{j} 的变化,可以发现变化为了 i^=[31]\hat{i'} = \begin{bmatrix} 3 \\ 1 \end{bmatrix}j^=[12]\hat{j'} = \begin{bmatrix} 1 \\ 2 \end{bmatrix}

而原空间中向量 r=[12]\vec{r} = \begin{bmatrix} -1 \\ 2 \end{bmatrix} 跟着空间发生的线性变化一同发生了变化,其中的分量没有发生改变,在新坐标系 [3112]\begin{bmatrix} \begin{array}{c:c} 3 & 1 \\ 1 & 2 \end{array} \end{bmatrix} 中依然为 r1=[12]\vec{r_1} = \begin{bmatrix} -1 \\ 2 \end{bmatrix}

然而该向量实际上已经变化为 r=[13]\vec{r'} = \begin{bmatrix} -1 \\ 3 \end{bmatrix} .

即发生了如下的线性变换:

rTr\vec{r} \xmapsto[]{\bold{T}} \vec{r'}

计算式如下:

r=[3112][12]=[13]\vec{r'} = \begin{bmatrix} \begin{array}{c:c} 3 & 1 \\ 1 & 2 \end{array} \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} = \begin{bmatrix} -1 \\ 3 \end{bmatrix}

3. 对向量空间的线性变换

就像在张量中的示例一样,我们可以通过一组基向量来观察该空间发生了怎样的线性变换,同时可以获得一个 变换矩阵

但是,正如前面提到的,矩阵不等价于线性变换,矩阵只是某种线性变换的一种显示的数学表达方式,他是基于某个坐标系的,就像描述小方格的变化的前提是需要有一个小方格,脱离了这个观察基准就没法构建。

[1001]T[3112]\begin{bmatrix} \begin{array}{c:c} 1 & 0 \\ 0 & 1 \end{array} \end{bmatrix} \xmapsto[]{\bold{T}} \begin{bmatrix} \begin{array}{c:c} 3 & 1 \\ 1 & 2 \end{array} \end{bmatrix}

显然,其中:

T=[3112]\bold{T} = \begin{bmatrix} \begin{array}{c:c} 3 & 1 \\ 1 & 2 \end{array} \end{bmatrix}

3.1 线性变换矩阵的快速构建

巧妙利用以下性质:

首先,不妨将 源空间 设置为 单位空间

I=[100010001]\bold{I} = \begin{bmatrix} \begin{array}{c:c:c} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \end{bmatrix}

经过期望的变换后,其生成的 目的空间矩阵 在数学上跟 变换矩阵 是同一个矩阵:

M1I=F\bold{M_1 I} = \bold{F}

显然,其中:

M1=F\bold{M_1} = \bold{F}

那么可以使用以下方法,去根据某个期望的变换,快速构建出对应的变换矩阵:

  • 不妨跟踪 单位空间 I\bold{I} 的三个标准基向量,计算其在经过某个 期望的变换 后所得的新的三个基向量;
  • 这三个新的基向量组成的向量空间即为 目的空间矩阵 F\bold{F}
  • 此时, 由于 目的空间矩阵 F\bold{F} 即是 变换矩阵 M1\bold{M_1} ,那么其中的每一列,都能解释为 单位空间 I\bold{I} 的三个标准基向量在变换后对应的基向量;
  • 由于 源空间 设置的是 单位空间 I\bold{I} ,这一过程是非常简单的;
  • 用变换后的三个基向量组成一个 目的空间矩阵 F\bold{F} ,那么即可获得对应的 变换矩阵 M1\bold{M_1}

NOTE:

  • 要严格同时注意基向量的长度和方向 不可随意变化,其中方向包含了类旋转变换的相关信息,长度包含了类缩放变换的相关信息,(该处提到的旋转和缩放不是严格意义上的旋转和缩放)。
    换言之,不可随意对目的空间的基向量进行标准化,因为这样虽然方向没有变化,但是长度发生了改变。
     
  • 虽然该处是在用向量表示坐标轴,而坐标轴本身的长度信息又是无意义的,理论上确实可以对描述坐标轴的向量进行单位化(即长度可以随意变化,同时不会影响其对向量空间的表示),但是该处构建线性变换矩阵时,实际上不是对坐标轴变换,而是对三条 基向量 进行变换,是需要保存其中的长度信息的。

3.2 线性变换的逆变换

// TODO

3.3 物体变换与坐标系变换

  • 物体变换:坐标系不变,对物体本身进行变换;即对组成物体的各个元素(点,线)使用矩阵进行变换

r=Mr\vec{r'} = \bold{M}\vec{r}

  • 坐标系变换:物体不变,对坐标系进行变换;此时物体虽然没有进行变换,但是由于对其进行线性表示的坐标系变换了,所以其分量也会跟着发生变化,这时可以求出某向量

r1=F1Tr\vec{r_1} = \bold{F_1^{T}} \vec{r}

3.4 逆变换与坐标轴变换的区别

// TODO

4. 特征

4.1 基变换和相似

已知对于某个确定的线性变换 T\bold{T} ,某个线性变换矩阵,是依赖于其所在的坐标系,坐标系变化时,对应的变换矩阵也会跟着变化,换句话说,前后两种变换矩阵,仅仅只是坐标系不同。

  • 在基向量组 Ma=(v1v2v3)\bold{M_a} = \begin{pmatrix} \vec{v_1} &\vec{v_2} &\vec{v_3} \end{pmatrix} ,对应的变换矩阵为 A\bold{A}
  • 在基向量组 Mb=(w1w2w3)\bold{M_b} = \begin{pmatrix} \vec{w_1} &\vec{w_2} &\vec{w_3} \end{pmatrix} ,对应的变换矩阵为 B\bold{B}

那么我们可以说,A\bold{A}B\bold{B} 这两个变换矩阵是相似的,即 AB\bold{A} \sim \bold{B} ,教材中经常会给出形如这样的一个等式:

B=M1AM\bold{B} = \bold{M^{-1}}\bold{A}\bold{M}

其中的 M\bold{M} 就是 基变换矩阵

甚至,我们可以基于线性变换矩阵 T\bold{T} 写出这样的等式:

A=Ma1TMaB=Mb1TMb\begin{aligned} &\bold{A} = \bold{M_a^{-1}}\bold{T}\bold{M_a} \\[1.5ex] &\bold{B} = \bold{M_b^{-1}}\bold{T}\bold{M_b} \end{aligned}

当然,这其中是存在传递性的,A\bold{A}B\bold{B} 依然相似:

B=(Mb1Ma)A(Ma1Mb)\bold{B} = (\bold{M_b^{-1}}\bold{M_a})\bold{A}(\bold{M_a^{-1}}\bold{M_b})

几何意义

  • A=Ma1TMa\bold{A} = \bold{M_a^{-1}}\bold{T}\bold{M_a} 为例,将变换 A\bold{A} 作用于某个向量 ra\vec{r_a}
  • 其中向量 ra\vec{r_a} 是向量 r\vec{r} 在向量空间 Ma\bold{M_a} 中的线性表示:
  • 那么下面对等式 ra=Ma1TMara\vec{r_a'} = \bold{M_a^{-1}}\bold{T}\bold{M_a} \vec{r_a} 进行分析:

raMarTrMa1ra\vec{r_a} \xmapsto[]{\bold{M_a}} \vec{r} \xmapsto[]{\bold{T}} \vec{r'} \xmapsto[]{\bold{M_a^{-1}}} \vec{r_a'}

当然,这一过程等价于:

raAra\vec{r_a} \xmapsto[]{\bold{A}} \vec{r_a'}

4.2 特征向量和特征值

行列式.webp

对于某个线性变换 A\bold{A} 来说,会存在若干个向量,当向量空间在进行 A\bold{A} 变换时,会沿着这些向量的方向进行缩放的操作,那么,这些向量就称为变换矩阵 A\bold{A}特征向量 vi\vec{v_i} ,其缩放的数值即为 特征值 λi\lambda_i ,显然,也就有以下等式:

Avi=λivi\bold{A} \vec{v_i} = \lambda_i \vec{v_i}

同时也有以下说法

  • 向量 vi\vec{v_i} 通过 A\bold{A} 的变换,幅值变化了 λi\lambda_i 倍,方向未发生变化;
  • 存在向量 vi\vec{v_i} ,其在坐标系 A\bold{A} 中的投影,方向和 vi\vec{v_i} 相同,幅值变化了 λi\lambda_i 倍。

几何意义
姑且设以下条件:

  • 线性变换 A\bold{A} 的特征向量为 v1\vec{v_1}v2\vec{v_2}v3\vec{v_3}
  • 将这组特征向量构成一个矩阵 Q=(v1v2v3)\bold{Q} = \begin{pmatrix} \vec{v_1} &\vec{v_2} &\vec{v_3} \end{pmatrix}
  • 将这组特征值构成一个对角矩阵:

Λ=[λ1000λ2000λ3]\bold{\Lambda} = \begin{bmatrix} \lambda_1 & 0 & 0 \\ 0 & \lambda_2 & 0 \\ 0 & 0 & \lambda_3 \\ \end{bmatrix}

  • 设某个向量 r\vec{r} 在向量空间 Q\bold{Q} 构成的坐标系中的线性表示为 rq\vec{r_q}

下面是对于等式 Ar=QΛQ1r\bold{A}\vec{r} = \bold{Q} \bold{\Lambda} \bold{Q^{-1}} \vec{r} 的分析:

rQ1rqΛrqQr\vec{r} \xmapsto[]{\bold{Q^{-1}}} \vec{r_q} \xmapsto[]{\bold{\Lambda}} \vec{r_q'} \xmapsto[]{\bold{Q}} \vec{r'}

同时,我们知道线性变换 A\bold{A} 的行列式即是向量空间在经过该变换后“体积”缩放的数值,同时,特征值不同的特征向量之间是 线性无关 的,那么很容易得到这个“体积”缩放的数值即为空间沿着各个特征向量方向缩放数值的总乘积,即特征值的总乘积:

det(A)=λ1λ2λ3\bold{\det(A)} = \lambda_1\lambda_2\lambda_3

5. 使用复数表示线性变换

5.1 乘法群中的线性变换

可知,正如可以用某个实数 aa 表示一个轴,复数 w=a+biw = a + bi 可以表示一个二维平面。

四元数的可视化.gif

设图中的变换为 T\bold{T} ,可知发生了如下映射:

(z=1+0i)T(z=2+3i)(z = 1 + 0i) \xmapsto{\bold{T}} (z' = 2 + 3i)

正如在矩阵变换中,我们倾向于将矩阵乘法单位元,即 单位矩阵 [1001]\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} 作为变换的 源矩阵 ,来对变换进行描述,这样 目的矩阵 即为 变换矩阵 ,非常方便。

这里我们也不妨将复数运算的乘法单位元,即复数 z=1+0iz = 1 + 0i 作为 源复数 来对变换进行描述,显然,经过变换后,映射出的 目的复数z=2+3iz' = 2 + 3i ,那么该变换用复数描述的话即为 (2+3i)(2 + 3i) .

(z=1+0i)T=(2+3i)(z=2+3i)(z = 1 + 0i) \xmapsto{\bold{T} = (2 + 3i)} (z' = 2 + 3i)

用算术表示:

z=Tz=(2+3i)(1+0i)=2+3iz' = T \cdot z = (2 + 3i)(1 + 0i) = 2 + 3i

那么对于处在该空间的任意的某个复数,这里取 w=11iw = 1 - 1i ,经变换后为 w=5+1iw' = 5 + 1i ,即:

(w=11i)T=(2+3i)(w=5+1i)(w = 1 - 1i) \xmapsto{\bold{T} = (2 + 3i)} (w' = 5 + 1i)

用算术表示:

w=Tw=(2+3i)(11i)=5+1iw' = T \cdot w = (2 + 3i)(1 - 1i) = 5 + 1i

NOTE :复数运算满足乘法的分配律,其中 i2=1i^2 = -1

5.2 复数的几何意义

一个复数变换 t=a+bit = a + bi ,可以看做是 缩放变换旋转变换 的一种复合变换。
 

  • 缩放变换 :缩放变换中进行缩放的系数为 a2+b2\sqrt{a^2 + b^2}
     
  • 旋转变换 :旋转变换中进行旋转的角度为 arctanba\arctan{\cfrac{b}{a}}

参考资料