LeoMath

线性代数基础

矩阵

线性映射的坐标表示;矩阵乘法为什么这样定义。

约 8 分钟

从一个问题开始

问题

线性映射由基的像决定。但要计算一个映射的值、存储一个映射、复合两个映射,我们需要一套记法,让这些操作变成机械的算术。

矩阵就是这套记法。矩阵乘法那个"行乘列"的定义看起来古怪,本节要说明它是唯一自然的选择。

观察

上一节实验里,你拖动 T(e1)T(\mathbf e_1) 和 T(e2)T(\mathbf e_2),下方的矩阵 AA 跟着变。留意它怎么变:T(e1)T(\mathbf e_1) 的坐标是第一列,T(e2)T(\mathbf e_2) 的坐标是第二列。 矩阵不是别的,就是把两个像向量并排写下来。

交互实验线性变换
A=(1001)A=\begin{pmatrix}\textcolor{#c2452d}{1}&\textcolor{#1f7a4d}{0}\\\textcolor{#c2452d}{0}&\textcolor{#1f7a4d}{1}\end{pmatrix}
行列式(有向面积) 1
特征值 1, 1
猜想

既然线性映射由基的像唯一决定,那么把基的像的坐标按列排成一个数表,这个数表就完整记录了这个映射。"矩阵乘向量"应该就是"求映射的值","矩阵乘矩阵"应该就是"映射的复合"。如果这个猜想对,矩阵乘法那个古怪的定义就不再古怪。

定义

定义 4.1线性映射的矩阵

设 T:Rn→RmT:\mathbb R^n\to\mathbb R^m 线性,e1,…,en\mathbf e_1,\dots,\mathbf e_n 是标准基。TT 的矩阵是 m×nm\times n 数表 AA,其第 jj 列是 T(ej)T(\mathbf e_j) 的坐标: A=[ T(e1)  T(e2) ⋯ T(en) ].A=\bigl[\,T(\mathbf e_1)\ \ T(\mathbf e_2)\ \cdots\ T(\mathbf e_n)\,\bigr].

定义 4.2矩阵乘向量

对 A=[aij]A=[a_{ij}] 和 x=(x1,…,xn)x=(x_1,\dots,x_n),定义 AxAx 为 AA 各列的线性组合: Ax=x1A⋅1+x2A⋅2+⋯+xnA⋅n,即 (Ax)i=∑j=1naijxj.Ax=x_1A_{\cdot1}+x_2A_{\cdot2}+\cdots+x_nA_{\cdot n},\qquad\text{即}\ (Ax)_i=\sum_{j=1}^na_{ij}x_j.

命题 4.1

若 AA 是 TT 的矩阵,则对所有 xx,T(x)=AxT(x)=Ax。

证明

x=∑xjejx=\sum x_j\mathbf e_j,由线性性 T(x)=∑xjT(ej)=∑xjA⋅j=AxT(x)=\sum x_jT(\mathbf e_j)=\sum x_jA_{\cdot j}=Ax。

矩阵乘法为什么这样定义

定义 4.3矩阵乘法

设 AA 是 m×nm\times n、BB 是 n×pn\times p 矩阵。ABAB 是 m×pm\times p 矩阵,第 jj 列为 A(B⋅j)A(B_{\cdot j}),即 (AB)ij=∑k=1naikbkj.(AB)_{ij}=\sum_{k=1}^na_{ik}b_{kj}.

定理 4.2矩阵乘法 = 映射复合

若 S:Rp→RnS:\mathbb R^p\to\mathbb R^n 的矩阵是 BB,T:Rn→RmT:\mathbb R^n\to\mathbb R^m 的矩阵是 AA,则 T∘ST\circ S 的矩阵是 ABAB。

证明

T∘ST\circ S 是线性的(两条线性性质逐一验证)。其矩阵第 jj 列是 (T∘S)(ej)=T(S(ej))=T(B⋅j)=A(B⋅j)(T\circ S)(\mathbf e_j)=T(S(\mathbf e_j))=T(B_{\cdot j})=A(B_{\cdot j}),正是 ABAB 的第 jj 列。

这就是"行乘列"的全部来历。由此立刻得到:

  • 结合律 (AB)C=A(BC)(AB)C=A(BC):因为映射复合天然结合。不用展开求和证明。
  • 不交换 AB≠BAAB\ne BA:先旋转再拉伸,和先拉伸再旋转,一般不一样。在实验里可以体会。
  • 单位矩阵 II 对应恒等映射,AI=IA=AAI=IA=A。

行列式

实验中单位正方形被映成一个平行四边形,其面积随矩阵变化。

定义 4.42×2 行列式

det⁡(abcd)=ad−bc.\det\begin{pmatrix}a&b\\c&d\end{pmatrix}=ad-bc.

定理 4.3行列式是有向面积

以 T(e1)=(a,c)T(\mathbf e_1)=(a,c)、T(e2)=(b,d)T(\mathbf e_2)=(b,d) 为邻边的平行四边形的有向面积等于 ad−bcad-bc。符号为负当且仅当 TT 翻转了定向(e1\mathbf e_1 到 e2\mathbf e_2 从逆时针变成顺时针)。

证明

记 u=(a,c)u=(a,c),v=(b,d)v=(b,d)。把 uu 逆时针旋转 90∘90^\circ 得 u⊥=(−c,a)u^\perp=(-c,a)。平行四边形面积 =∣u∣⋅=|u|\cdot(vv 在 u⊥u^\perp 方向上的投影长度)=∣u∣⋅v⋅u⊥∣u⊥∣=v⋅u⊥=−bc+ad=|u|\cdot\dfrac{v\cdot u^\perp}{|u^\perp|}=v\cdot u^\perp=-bc+ad。投影带符号:vv 在 uu 的逆时针一侧时为正。

定理 4.4行列式的乘法性

det⁡(AB)=det⁡A⋅det⁡B\det(AB)=\det A\cdot\det B。

证明

几何证明:BB 把单位正方形变成面积 det⁡B\det B 的平行四边形,AA 再把任何图形的面积乘以 det⁡A\det A(因为 AA 把小方格都变成同样的平行四边形,任意图形的面积是小方格面积的极限和)。所以 ABAB 把面积乘以 det⁡Adet⁡B\det A\det B。定向的符号同样相乘。

命题 4.5可逆性

AA 可逆当且仅当 det⁡A≠0\det A\ne0;此时 A−1=1ad−bc(d−b−ca)A^{-1}=\dfrac1{ad-bc}\begin{pmatrix}d&-b\\-c&a\end{pmatrix}。

det⁡A=0\det A=0 就是实验中的"压扁":平面被压到一条直线(或一个点),信息丢失,无法还原。

常见错误

AB≠BAAB\ne BA。矩阵乘法是映射的复合,ABAB 表示先做 BB,再做 AA(作用在右边的向量上时 BB 先碰到它)。写复合矩阵时,顺序写反是最常见的错误。

应用

应用旋转矩阵

逆时针旋转 θ\theta:e1↦(cos⁡θ,sin⁡θ)\mathbf e_1\mapsto(\cos\theta,\sin\theta),e2↦(−sin⁡θ,cos⁡θ)\mathbf e_2\mapsto(-\sin\theta,\cos\theta),按列写下来 Rθ=(cos⁡θ−sin⁡θsin⁡θcos⁡θ),det⁡Rθ=1.R_\theta=\begin{pmatrix}\cos\theta&-\sin\theta\\\sin\theta&\cos\theta\end{pmatrix},\qquad\det R_\theta=1. RαRβ=Rα+βR_\alpha R_\beta=R_{\alpha+\beta} 展开就是三角函数的和角公式:矩阵乘法把和角公式变成了"先转 β\beta 再转 α\alpha"这句废话。

注

记住一句话就够了:矩阵的列是基向量的去处。 所有关于矩阵的定义和定理,都可以从这句话和线性性重新推出来。下一节特征值问的是:有没有向量在变换后方向不变?

练习

01
求 det⁡(2134)\det\begin{pmatrix}2&1\\3&4\end{pmatrix}。
02
逆时针旋转 90∘90^\circ 的线性变换,在标准基下的矩阵是?