我又被迫营业了
线性代数
小学的 “算术”
中学的 “代数”
为什么 “代数” 比 “算术” 更难?
“在变量均匀变化时,值也是均匀变化”
为什么线性系统如此重要?
向量 (vector): 一个 $n$ 维的数组,通常
$$ \vec{x} = \begin{bmatrix} 3 \\ 4 \\ 1 \end{bmatrix}\qquad \vec{y} = \begin{bmatrix} 1.5 \\ -2 \end{bmatrix} $$
向量的 (线性) 算术
$$ \begin{bmatrix} 3 \\ 4 \\ 1 \end{bmatrix} + \begin{bmatrix} -1 \\ 0 \\ 1.5 \end{bmatrix} = \begin{bmatrix} 2 \\ 4 \\ 2.5 \end{bmatrix}\qquad 3 \begin{bmatrix} 3 \\ 4 \\ 1 \end{bmatrix} = \begin{bmatrix} 9 \\ 12 \\ 3 \end{bmatrix} $$
加法和乘法的分配律:$x \cdot (a + b) = x \cdot a + x \cdot b$
$$ \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} x \\ 0 \\ 0 \end{bmatrix} + \begin{bmatrix} 0 \\ y \\ 0 \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \\ z \end{bmatrix} = x \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} + y \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} + z \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} $$
空间中的任何一个点都可以写成是三个坐标轴方向的 “相加”
把三个单位向量 “偷梁换柱”,即可实现任意向量的变换
$$ \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} { \color{red} \to } \begin{bmatrix} a \\ b \\ c \end{bmatrix} \qquad \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} { \color{red} \to } \begin{bmatrix} d \\ e \\ f \end{bmatrix} \qquad \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} { \color{red} \to } \begin{bmatrix} g \\ h \\ i \end{bmatrix} $$
$$ \begin{bmatrix} x \\ y \\ z \end{bmatrix} { \color{red} \to } \begin{bmatrix} ax + dy + gz \\ bx + ey + hz \\ cx + fy + iz \end{bmatrix} $$
大家熟悉的 “矩阵乘向量!”
这是一个代表 “坐标变换” 的数学定义:
$$ \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} \cdot \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} ax + by + cz \\ dx + ey + fz \\ gx + hy + iz \end{bmatrix} $$
我们可以编程把它展现出来!
图形 = 点的集合
$$ \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} \cdot \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} ax + by + cz \\ dx + ey + fz \\ gx + hy + iz \end{bmatrix} $$
不就是
$$ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \quad \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} \quad \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} \quad \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} $$
借助代码,我们生成平滑的 “动画”
简单改变一根坐标轴
$$ \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} { \color{red} \to } \begin{bmatrix} a \\ b \\ c \end{bmatrix} $$
一个保持 “单位立方体仍然是单位立方体” 的旋转
$$ \begin{bmatrix} \frac{1}{\sqrt2} & 0 & \frac{1}{\sqrt2} \\ \frac{1}{2} & \frac{1}{\sqrt2} & -\frac{1}{2} \\ -\frac{1}{2} & \frac{1}{\sqrt2} & \frac{1}{2} \\ \end{bmatrix} $$
对于任意线性变换
线性变换不是不能平移的吗?
“鸡兔同笼”
$$ \left\{ \begin{matrix} x & + & y & = & 10 \\ 2x & + & 4y & = & 32 \\ \end{matrix} \right. $$
$$ \begin{bmatrix} 1 \\ 0 \\ \end{bmatrix} { \color{red} \to } \begin{bmatrix} 1 \\ 2 \\ \end{bmatrix} \qquad \begin{bmatrix} 0 \\ 1 \\ \end{bmatrix} { \color{red} \to } \begin{bmatrix} 1 \\ 4 \\ \end{bmatrix} $$
直觉:只要 $A$ 没有 “坍缩”,$A$ 对应的变换就是可逆的
线性变换
如何把线性变换 “变回” 单位立方体?
第三行所有系数乘以 $k$
$$ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & k \\ \end{bmatrix} $$
第三行减去第一行
$$ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ -1 & 0 & 1 \\ \end{bmatrix} $$
观察鸡兔同笼问题 “转过去” 再 “转回来” 的过程
$$ \begin{bmatrix} 1 & 1 \\ 2 & 4 \\ \end{bmatrix} \to \begin{bmatrix} 1 & 1 \\ 1 & 2 \\ \end{bmatrix} \to \begin{bmatrix} 1 & 1 \\ 0 & 1 \\ \end{bmatrix} \to \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ \end{bmatrix} $$
JT3(JT2(JT1(JT(grid2d))))
一些补充
刚才我们假设了 $A$ 是一个 3D → 3D 的映射
$Ax = 0$ 和 $Ax \ne 0$ 包含了空间中的所有点
最符合人类直觉感受的理解方法
$$ \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} { \color{red} \to } \begin{bmatrix} a \\ b \\ c \end{bmatrix} \qquad \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} { \color{red} \to } \begin{bmatrix} d \\ e \\ f \end{bmatrix} \qquad \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} { \color{red} \to } \begin{bmatrix} g \\ h \\ i \end{bmatrix} $$