1. 线性变换
线性变换不等同于矩阵,矩阵只是某种线性变换的一种显示的数学表达方式,而且某种确定的线性变换在不同的坐标系中,描述该线性变换的矩阵也不相同。
实际上,如果不在 源空间(source) 和 目标空间(target) 中选取一组基的话,一个抽象的线性变换理论上是没有矩阵的。
当然,平时常常会默认以 单位空间 I \bold{I} I 作为基来进行表示。
2. 对向量的线性变换
设图中绿色向量为基向量 i ^ = [ 1 0 ] \hat{i} = \begin{bmatrix} 1 \\ 0 \end{bmatrix} i^=[10] ,红色向量为基向量 j ^ = [ 0 1 ] \hat{j} = \begin{bmatrix} 0 \\ 1 \end{bmatrix} j^=[01] ;
在经过某种线性变换 T \bold{T} T 之后,跟踪 i ^ \hat{i} i^ 和 j ^ \hat{j} j^ 的变化,可以发现变化为了 i ′ ^ = [ 3 1 ] \hat{i'} = \begin{bmatrix} 3 \\ 1 \end{bmatrix} i′^=[31] 和 j ′ ^ = [ 1 2 ] \hat{j'} = \begin{bmatrix} 1 \\ 2 \end{bmatrix} j′^=[12] ;
而原空间中向量 r ⃗ = [ − 1 2 ] \vec{r} = \begin{bmatrix} -1 \\ 2 \end{bmatrix} r=[−12] 跟着空间发生的线性变化一同发生了变化,其中的分量没有发生改变,在新坐标系 [ 3 1 1 2 ] \begin{bmatrix} \begin{array}{c:c} 3 & 1 \\ 1 & 2 \end{array} \end{bmatrix} [3112] 中依然为 r 1 ⃗ = [ − 1 2 ] \vec{r_1} = \begin{bmatrix} -1 \\ 2 \end{bmatrix} r1=[−12] ;
然而该向量实际上已经变化为 r ′ ⃗ = [ − 1 3 ] \vec{r'} = \begin{bmatrix} -1 \\ 3 \end{bmatrix} r′=[−13] .
即发生了如下的线性变换:
r ⃗ ↦ T r ′ ⃗ \vec{r} \xmapsto[]{\bold{T}} \vec{r'} rT r′
计算式如下:
r ′ ⃗ = [ 3 1 1 2 ] [ − 1 2 ] = [ − 1 3 ] \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} r′=[3112][−12]=[−13]
3. 对向量空间的线性变换
就像在张量中的示例一样,我们可以通过一组基向量来观察该空间发生了怎样的线性变换,同时可以获得一个 变换矩阵 ;
但是,正如前面提到的,矩阵不等价于线性变换,矩阵只是某种线性变换的一种显示的数学表达方式,他是基于某个坐标系的,就像描述小方格的变化的前提是需要有一个小方格,脱离了这个观察基准就没法构建。
[ 1 0 0 1 ] ↦ T [ 3 1 1 2 ] \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} [1001]T [3112]
显然,其中:
T = [ 3 1 1 2 ] \bold{T} = \begin{bmatrix} \begin{array}{c:c} 3 & 1 \\ 1 & 2 \end{array} \end{bmatrix} T=[3112]
3.1 线性变换矩阵的快速构建
巧妙利用以下性质:
首先,不妨将 源空间 设置为 单位空间
I = [ 1 0 0 0 1 0 0 0 1 ] \bold{I} = \begin{bmatrix} \begin{array}{c:c:c} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \end{bmatrix} I=⎣⎡100010001⎦⎤
经过期望的变换后,其生成的 目的空间矩阵 在数学上跟 变换矩阵 是同一个矩阵:
M
1
I
=
F
\bold{M_1 I} = \bold{F}
M1I=F
显然,其中:
M
1
=
F
\bold{M_1} = \bold{F}
M1=F
那么可以使用以下方法,去根据某个期望的变换,快速构建出对应的变换矩阵:
- 不妨跟踪 单位空间 I \bold{I} I 的三个标准基向量,计算其在经过某个 期望的变换 后所得的新的三个基向量;
- 这三个新的基向量组成的向量空间即为 目的空间矩阵 F \bold{F} F ;
- 此时, 由于 目的空间矩阵 F \bold{F} F 即是 变换矩阵 M 1 \bold{M_1} M1 ,那么其中的每一列,都能解释为 单位空间 I \bold{I} I 的三个标准基向量在变换后对应的基向量;
- 由于 源空间 设置的是 单位空间 I \bold{I} I ,这一过程是非常简单的;
- 用变换后的三个基向量组成一个 目的空间矩阵 F \bold{F} F ,那么即可获得对应的 变换矩阵 M 1 \bold{M_1} M1 。
NOTE:
- 要严格同时注意基向量的长度和方向 不可随意变化,其中方向包含了类旋转变换的相关信息,长度包含了类缩放变换的相关信息,(该处提到的旋转和缩放不是严格意义上的旋转和缩放)。
换言之,不可随意对目的空间的基向量进行标准化,因为这样虽然方向没有变化,但是长度发生了改变。
- 虽然该处是在用向量表示坐标轴,而坐标轴本身的长度信息又是无意义的,理论上确实可以对描述坐标轴的向量进行单位化(即长度可以随意变化,同时不会影响其对向量空间的表示),但是该处构建线性变换矩阵时,实际上不是对坐标轴变换,而是对三条 基向量 进行变换,是需要保存其中的长度信息的。
3.2 线性变换的逆变换
// TODO
3.3 物体变换与坐标系变换
- 物体变换:坐标系不变,对物体本身进行变换;即对组成物体的各个元素(点,线)使用矩阵进行变换
r ′ ⃗ = M r ⃗ \vec{r'} = \bold{M}\vec{r} r′=Mr - 坐标系变换:物体不变,对坐标系进行变换;此时物体虽然没有进行变换,但是由于对其进行线性表示的坐标系变换了,所以其分量也会跟着发生变化,这时可以求出某向量
r 1 ⃗ = F 1 T r ⃗ \vec{r_1} = \bold{F_1^{T}} \vec{r} r1=F1Tr
3.4 逆变换与坐标轴变换的区别
// TODO
4. 特征
4.1 基变换和相似
已知对于某个确定的线性变换 T \bold{T} T ,某个线性变换矩阵,是依赖于其所在的坐标系,坐标系变化时,对应的变换矩阵也会跟着变化,换句话说,前后两种变换矩阵,仅仅只是坐标系不同。
- 在基向量组 M a = ( v 1 ⃗ v 2 ⃗ v 3 ⃗ ) \bold{M_a} = \begin{pmatrix} \vec{v_1} &\vec{v_2} &\vec{v_3} \end{pmatrix} Ma=(v1v2v3) ,对应的变换矩阵为 A \bold{A} A
- 在基向量组 M b = ( w 1 ⃗ w 2 ⃗ w 3 ⃗ ) \bold{M_b} = \begin{pmatrix} \vec{w_1} &\vec{w_2} &\vec{w_3} \end{pmatrix} Mb=(w1w2w3) ,对应的变换矩阵为 B \bold{B} B
那么我们可以说, A \bold{A} A 和 B \bold{B} B 这两个变换矩阵是相似的,即 A ∼ B \bold{A} \sim \bold{B} A∼B ,教材中经常会给出形如这样的一个等式:
B = M − 1 A M \bold{B} = \bold{M^{-1}}\bold{A}\bold{M} B=M−1AM
其中的 M \bold{M} M 就是 基变换矩阵
甚至,我们可以基于线性变换矩阵 T \bold{T} T 写出这样的等式:
A = M a − 1 T M a B = M b − 1 T M b \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=Ma−1TMaB=Mb−1TMb
当然,这其中是存在传递性的,
A
\bold{A}
A 和
B
\bold{B}
B 依然相似:
B
=
(
M
b
−
1
M
a
)
A
(
M
a
−
1
M
b
)
\bold{B} = (\bold{M_b^{-1}}\bold{M_a})\bold{A}(\bold{M_a^{-1}}\bold{M_b})
B=(Mb−1Ma)A(Ma−1Mb)
几何意义:
- 以 A = M a − 1 T M a \bold{A} = \bold{M_a^{-1}}\bold{T}\bold{M_a} A=Ma−1TMa 为例,将变换 A \bold{A} A 作用于某个向量 r a ⃗ \vec{r_a} ra;
- 其中向量 r a ⃗ \vec{r_a} ra 是向量 r ⃗ \vec{r} r 在向量空间 M a \bold{M_a} Ma 中的线性表示:
- 那么下面对等式 r a ′ ⃗ = M a − 1 T M a r a ⃗ \vec{r_a'} = \bold{M_a^{-1}}\bold{T}\bold{M_a} \vec{r_a} ra′=Ma−1TMara 进行分析:
r a ⃗ ↦ M a r ⃗ ↦ T r ′ ⃗ ↦ M a − 1 r a ′ ⃗ \vec{r_a} \xmapsto[]{\bold{M_a}} \vec{r} \xmapsto[]{\bold{T}} \vec{r'} \xmapsto[]{\bold{M_a^{-1}}} \vec{r_a'} raMa rT r′Ma−1 ra′
当然,这一过程等价于:
r
a
⃗
↦
A
r
a
′
⃗
\vec{r_a} \xmapsto[]{\bold{A}} \vec{r_a'}
raA
ra′
4.2 特征向量和特征值
对于某个线性变换
A
\bold{A}
A 来说,会存在若干个向量,当向量空间在进行
A
\bold{A}
A 变换时,会沿着这些向量的方向进行缩放的操作,那么,这些向量就称为变换矩阵
A
\bold{A}
A 的 特征向量
v
i
⃗
\vec{v_i}
vi ,其缩放的数值即为 特征值
λ
i
\lambda_i
λi ,显然,也就有以下等式:
A
v
i
⃗
=
λ
i
v
i
⃗
\bold{A} \vec{v_i} = \lambda_i \vec{v_i}
Avi=λivi
同时也有以下说法
- 向量 v i ⃗ \vec{v_i} vi 通过 A \bold{A} A 的变换,幅值变化了 λ i \lambda_i λi 倍,方向未发生变化;
- 存在向量 v i ⃗ \vec{v_i} vi ,其在坐标系 A \bold{A} A 中的投影,方向和 v i ⃗ \vec{v_i} vi 相同,幅值变化了 λ i \lambda_i λi 倍。
几何意义:
姑且设以下条件:
- 线性变换 A \bold{A} A 的特征向量为 v 1 ⃗ \vec{v_1} v1 , v 2 ⃗ \vec{v_2} v2 , v 3 ⃗ \vec{v_3} v3 ;
- 将这组特征向量构成一个矩阵 Q = ( v 1 ⃗ v 2 ⃗ v 3 ⃗ ) \bold{Q} = \begin{pmatrix} \vec{v_1} &\vec{v_2} &\vec{v_3} \end{pmatrix} Q=(v1v2v3) ;
- 将这组特征值构成一个对角矩阵:
Λ = [ λ 1 0 0 0 λ 2 0 0 0 λ 3 ] \bold{\Lambda} = \begin{bmatrix} \lambda_1 & 0 & 0 \\ 0 & \lambda_2 & 0 \\ 0 & 0 & \lambda_3 \\ \end{bmatrix} Λ=⎣⎡λ1000λ2000λ3⎦⎤ - 设某个向量 r ⃗ \vec{r} r 在向量空间 Q \bold{Q} Q 构成的坐标系中的线性表示为 r q ⃗ \vec{r_q} rq
下面是对于等式
A
r
⃗
=
Q
Λ
Q
−
1
r
⃗
\bold{A}\vec{r} = \bold{Q} \bold{\Lambda} \bold{Q^{-1}} \vec{r}
Ar=QΛQ−1r 的分析:
r
⃗
↦
Q
−
1
r
q
⃗
↦
Λ
r
q
′
⃗
↦
Q
r
′
⃗
\vec{r} \xmapsto[]{\bold{Q^{-1}}} \vec{r_q} \xmapsto[]{\bold{\Lambda}} \vec{r_q'} \xmapsto[]{\bold{Q}} \vec{r'}
rQ−1
rqΛ
rq′Q
r′
同时,我们知道线性变换 A \bold{A} A 的行列式即是向量空间在经过该变换后“体积”缩放的数值,同时,特征值不同的特征向量之间是 线性无关 的,那么很容易得到这个“体积”缩放的数值即为空间沿着各个特征向量方向缩放数值的总乘积,即特征值的总乘积:
det ( A ) = λ 1 λ 2 λ 3 \bold{\det(A)} = \lambda_1\lambda_2\lambda_3 det(A)=λ1λ2λ3
5. 使用复数表示线性变换
5.1 乘法群中的线性变换
可知,正如可以用某个实数 a a a 表示一个轴,复数 w = a + b i w = a + bi w=a+bi 可以表示一个二维平面。
设图中的变换为 T \bold{T} T ,可知发生了如下映射:
( z = 1 + 0 i ) ↦ T ( z ′ = 2 + 3 i ) (z = 1 + 0i) \xmapsto{\bold{T}} (z' = 2 + 3i) (z=1+0i)T (z′=2+3i)
正如在矩阵变换中,我们倾向于将矩阵乘法单位元,即 单位矩阵 [ 1 0 0 1 ] \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} [1001] 作为变换的 源矩阵 ,来对变换进行描述,这样 目的矩阵 即为 变换矩阵 ,非常方便。
这里我们也不妨将复数运算的乘法单位元,即复数 z = 1 + 0 i z = 1 + 0i z=1+0i 作为 源复数 来对变换进行描述,显然,经过变换后,映射出的 目的复数 为 z ′ = 2 + 3 i z' = 2 + 3i z′=2+3i ,那么该变换用复数描述的话即为 ( 2 + 3 i ) (2 + 3i) (2+3i) .
( z = 1 + 0 i ) ↦ T = ( 2 + 3 i ) ( z ′ = 2 + 3 i ) (z = 1 + 0i) \xmapsto{\bold{T} = (2 + 3i)} (z' = 2 + 3i) (z=1+0i)T=(2+3i) (z′=2+3i)
用算术表示:
z ′ = T ⋅ z = ( 2 + 3 i ) ( 1 + 0 i ) = 2 + 3 i z' = T \cdot z = (2 + 3i)(1 + 0i) = 2 + 3i z′=T⋅z=(2+3i)(1+0i)=2+3i
那么对于处在该空间的任意的某个复数,这里取 w = 1 − 1 i w = 1 - 1i w=1−1i ,经变换后为 w ′ = 5 + 1 i w' = 5 + 1i w′=5+1i ,即:
( w = 1 − 1 i ) ↦ T = ( 2 + 3 i ) ( w ′ = 5 + 1 i ) (w = 1 - 1i) \xmapsto{\bold{T} = (2 + 3i)} (w' = 5 + 1i) (w=1−1i)T=(2+3i) (w′=5+1i)
用算术表示:
w ′ = T ⋅ w = ( 2 + 3 i ) ( 1 − 1 i ) = 5 + 1 i w' = T \cdot w = (2 + 3i)(1 - 1i) = 5 + 1i w′=T⋅w=(2+3i)(1−1i)=5+1i
NOTE :复数运算满足乘法的分配律,其中 i 2 = − 1 i^2 = -1 i2=−1
5.2 复数的几何意义
一个复数变换
t
=
a
+
b
i
t = a + bi
t=a+bi ,可以看做是 缩放变换 和 旋转变换 的一种复合变换。
- 缩放变换 :缩放变换中进行缩放的系数为
a
2
+
b
2
\sqrt{a^2 + b^2}
a2+b2
- 旋转变换 :旋转变换中进行旋转的角度为 arctan b a \arctan{\cfrac{b}{a}} arctanab