文章目录
1. 向量基础概念
-
如何理解向量 [ 3 − 2 ] \begin{bmatrix}3\\-2\end{bmatrix} [3−2]在空间中的含义?
将其理解为对单位正交向量的缩放并相加所得向量
-
基向量的作用?
任意两个不共线基向量可实现在一对数和二维向量之间自由转化。因此当用数字讨论向量时,依赖于所使用的基 -
向量所张成的空间(span)
一组基向量\vec{v} 和\vec{w} 的所有线性组合
(线性组合:指仅通过数乘和加减运算) -
线性无关:
u ⃗ ≠ a v ⃗ + b w ⃗ \vec{u}\ne a\vec{v}+b\vec{w} u=av+bw
2. 线性变换
- 线性变换特点:一种由向量至向量的特殊函数变换,可视为对空间的挤压伸展。要求直线在变换后仍是直线,原点必须保持固定,即保持网格线平行且等距分布
若变换前存在一条直线上等距分布的均匀点,变换后仍为等距均匀分布
- 线性变换核心:根据基向量 i ⃗ \vec{i} i和 j ⃗ \vec{j} j变换
对于向量
v
⃗
=
−
1
i
⃗
+
2
j
⃗
\vec{v}= -1\vec{i}+2\vec{j}
v=−1i+2j 在空间中线性变换后的位置
v
⃗
\vec{v}
v。由于线性组合关系不变,可根据基向量
i
⃗
\vec{i}
i和
j
⃗
\vec{j}
j在变换后位置
[
1
−
2
]
\begin{bmatrix}1 \\ -2 \end{bmatrix}
[1−2]和
[
3
0
]
\begin{bmatrix}3 \\ 0 \end{bmatrix}
[30]推测
v
⃗
\vec{v}
v变换后位置,即
v
⃗
=
−
1
i
⃗
+
2
j
⃗
=
−
1
[
1
−
2
]
+
2
[
3
0
]
=
[
−
1
(
1
)
+
2
(
3
)
−
1
(
−
2
)
+
2
(
0
)
]
=
[
5
2
]
\begin{aligned} \vec{v}=&-1 \vec{i}+2 \vec{j}=-1\left[\begin{array}{c} 1 \\ -2 \end{array}\right]+2\left[\begin{array}{l} 3 \\ 0 \end{array}\right] \\ &=\left[\begin{array}{c} -1(1)+2(3) \\ -1(-2)+2(0) \end{array}\right]=\left[\begin{array}{l} 5 \\ 2 \end{array}\right] \end{aligned}
v=−1i+2j=−1[1−2]+2[30]=[−1(1)+2(3)−1(−2)+2(0)]=[52]
即二维线性变换仅需基向量坐标四个数,即可知道任意向量变换后坐标信息。通常
[
1
−
2
]
\begin{bmatrix}1\\-2\end{bmatrix}
[1−2]和
[
3
0
]
\begin{bmatrix}3 \\0\end{bmatrix}
[30]坐标包装在2*2格子中,称为
2
∗
2
2*2
2∗2矩阵:
[
1
3
−
2
0
]
\begin{bmatrix} 1&3\\ -2&0 \end{bmatrix}
[1−230]
将上述线性变化抽象化为矩阵乘法:(第一个矩阵的列视为变换后基向量,左乘列变换)
2.1 常用线性变换(记住对基向量变换即可理解)
1.剪切:
其中(0,1)基向量坐标变至(1,1)
【注】: 第一列对应
i
⃗
\vec{i}
i,第二列对应
j
⃗
\vec{j}
j
R
θ
=
[
cos
θ
−
sin
θ
sin
θ
cos
θ
]
\mathbf{R}_\theta=\left[\begin{array}{cc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right]
Rθ=[cosθsinθ−sinθcosθ]
- 若旋转
−
θ
-\theta
−θ角,矩阵表示为:
R − θ = [ cos θ sin θ − sin θ cos θ ] \mathbf{R}_{-\theta} =\left[\begin{array}{cc} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{array}\right] R−θ=[cosθ−sinθsinθcosθ]
在矩阵旋转中,其逆矩阵等于转置矩阵(正交矩阵)
- 对称
[ x ′ y ′ ] = [ − 1 0 0 1 ] [ x y ] \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} -1 & 0 \\ 0 & 1 \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] [x′y′]=[−1001][xy] - 缩放
[ x ′ y ′ ] = [ s x 0 0 s y ] [ x y ] \left[\begin{array}{l} x^{\prime} \\ y^{\prime} \end{array}\right]=\left[\begin{array}{cc} s_x & 0 \\ 0 & s_y \end{array}\right]\left[\begin{array}{l} x \\ y \end{array}\right] [x′y′]=[sx00sy][xy]
2.2 从矩阵乘法角度分析「复合」线性变换
- 从几何角度
先旋转再剪切等于直接将基向量变至相应位置 - 从数值分析角度:
(从右向左读,类比 f ( g ( x ) ) f(g(x)) f(g(x)))
[ 1 1 0 1 ] ⏟ ( [ 0 − 1 1 0 ] ⏟ [ x y ] ) = [ 1 − 1 1 0 ] ⏟ [ x y ] \underbrace{\left[\begin{array}{ll} 1 & 1 \\ 0 & 1 \end{array}\right]}(\underbrace{\left[\begin{array}{cc} 0 & -1 \\ 1 & 0 \end{array}\right]}\left[\begin{array}{l} x \\ y \end{array}\right])=\underbrace{\left[\begin{array}{cc} 1 & -1 \\ 1 & 0 \end{array}\right]}\left[\begin{array}{l} x \\ y \end{array}\right] [1011]( [01−10][xy])= [11−10][xy] - 对矩阵乘法理解:
[ 0 2 1 0 ] ⏞ M 2 [ 1 − 2 1 3 ] ⏞ M 1 = [ 2 0 1 − 2 ] \begin{array}{c} &\overbrace{\left[\begin{array}{ll} 0 & 2 \\ 1 & 0 \end{array}\right]}^{M_2} \overbrace{\left[\begin{array}{cc} 1 & -2 \\ 1 & 3 \end{array}\right]}^{M_1} = \left[\begin{array}{cc} 2 & 0 \\ 1 & -2 \end{array}\right] \end{array} [0120] M2[11−23] M1=[210−2]
这里分别对 i ⃗ \vec{i} i和 j ⃗ \vec{j} j分析,根据矩阵 M 1 {M_1} M1, i ⃗ \vec{i} i先从 ( 1 0 ) \binom{1}{0} (01)变换至 ( 1 1 ) \binom{1}{1} (11),再根据矩阵 M 2 {M_2} M2,对向量 ( 1 1 ) \binom{1}{1} (11)施加线性变换,得到变换后向量 ( 2 1 ) \binom{2}{1} (12),即:
[ 0 2 1 0 ] [ 1 1 ] = 1 [ 0 1 ] + 1 [ 2 0 ] = [ 2 1 ] \left[\begin{array}{ll} 0 & 2 \\ 1 & 0 \end{array}\right]\left[\begin{array}{l} 1 \\ 1 \end{array}\right]=1\left[\begin{array}{l} 0 \\ 1 \end{array}\right]+1\left[\begin{array}{l} 2 \\ 0 \end{array}\right]=\left[\begin{array}{l} 2 \\ 1 \end{array}\right] [0120][11]=1[01]+1[20]=[21]
将上述抽象为代数形式:
变换过程为:
[
a
b
c
d
]
[
e
g
]
=
e
[
a
c
]
+
g
[
b
d
]
=
[
a
e
+
b
g
c
e
+
d
g
]
\left[\begin{array}{ll} a & b \\ c & d \end{array}\right]\left[\begin{array}{l} e \\ g \end{array}\right]=e\left[\begin{array}{l} a \\ c \end{array}\right]+g\left[\begin{array}{l} b \\ d \end{array}\right]=\left[\begin{array}{l} a e+b g \\ c e+d g \end{array}\right]
[acbd][eg]=e[ac]+g[bd]=[ae+bgce+dg]
2.3 从线性变换角度理解矩阵乘法变换规律:
- 交换律
矩阵乘法不满足交换律,例如先旋转再剪切不等于先剪切再旋转:
M 1 M 2 ≠ M 2 M 1 M_1 M_2 \neq M_2 M_1 M1M2=M2M1 - 结合律:
矩阵乘法满足结合律,本质上为三个线性变换按相同顺序依次作用
( A B ) C = A ( B C ) (AB)C = A(BC) (AB)C=A(BC)
3. 行列式(determinant)
notice some linear transformation squishes space out(向外拉伸空间) while the others stretches space in(向内挤压空间)
测量空间究竟被拉伸或者挤压了多少
换句话说:
3.1 行列式定义:即线性变换对基向量所构成面积的变化比例
若行列式值为零,即将平面压缩为一条直线或一个点;
若行列式为负,则理解为将空间翻转(flipping)或
i
⃗
\vec{i}
i和
j
⃗
\vec{j}
j相对位置调换;
行列式从正值向零再至负值变换过程,理解为
i
⃗
\vec{i}
i逐渐靠近
j
⃗
\vec{j}
j的过程:
- 三维空间中行列式:衡量空间体积缩放程度
det ( [ 1.0 0.0 0.5 0.5 1.0 0.0 1.0 0.0 1.0 ] ) = 平行六面体体积 \operatorname{det}\left(\left[\begin{array}{lll} 1.0 & 0.0 & 0.5 \\ 0.5 & 1.0 & 0.0 \\ 1.0 & 0.0 & 1.0 \end{array}\right]\right)=平行六面体体积 det⎝ ⎛⎣ ⎡1.00.51.00.01.00.00.50.01.0⎦ ⎤⎠ ⎞=平行六面体体积
若行列式为零,则矩阵的列必然线性相关:
- 三维空间中正负行列式对比:
3.2 行列式计算:
- 二维空间中:
det ( [ a b c d ] ) = a d − b c \operatorname{det}\left(\left[\begin{array}{ll} a & b \\ c & d \end{array}\right]\right)=a d-b c det([acbd])=ad−bc
直观理解:bc式子衡量了平行四边形在对角线方向上挤压程度
更准确解释:
- 在三维空间中:
det ( [ a b c d e f g h i ] ) = a det ( [ e f h i ] ) − b det ( [ d f g i ] ) + c det ( [ d e g h ] ) \begin{aligned} \operatorname{det}\left(\left[\begin{array}{lll} a & b & c \\ d & e & f \\ g & h & i \end{array}\right]\right) &=a \operatorname{det}\left(\left[\begin{array}{ll} e & f \\ h & i \end{array}\right]\right) \\ &-b \operatorname{det}\left(\left[\begin{array}{ll} d & f \\ g & i \end{array}\right]\right) \\ &+c \operatorname{det}\left(\left[\begin{array}{cc} d & e \\ g & h \end{array}\right]\right) \end{aligned} det⎝ ⎛⎣ ⎡adgbehcfi⎦ ⎤⎠ ⎞=adet([ehfi])−bdet([dgfi])+cdet([dgeh]) - 行列式乘法:对空间缩放AB倍,等于先对空间缩放A倍,再对空间缩放B倍
d e t ( A B ) = d e t ( A ) d e t ( B ) det(AB)=det(A)det(B) det(AB)=det(A)det(B)