矩阵 #
这讲讲什么 :怎么把线性映射记成一堆数;矩阵加法、标量乘法、乘法分别该怎样定义;为什么矩阵乘法偏偏是「行乘列」;以及矩阵的秩在加法与乘法下怎么变(Sylvester、Frobenius 两条不等式)前置 :线性映射(07);基与维数(05–06)一句话 :矩阵是线性映射在选定两组基下的坐标记录——矩阵乘法之所以长成那样,是因为它必须记录复合映射 。
一、为什么需要它 #
从前面几讲已经知道一件非常省事的事:线性映射 T : V → W T:V\to W T : V → W 有无穷多个输入,但只要知道它把一组基送到哪里,整个映射就定死了 。基有 n n n 个向量,每个的像都由 W W W 的基唯一地表示成 m m m 个数——于是记录一个线性映射,只需要 m n mn mn 个数。
剩下的问题只有一个:这 m n mn mn 个数怎么摆、怎么用?
摆法就是矩阵:一列装一个基向量的像,一共 n n n 列;一行对应到达空间的一个基向量,一共 m m m 行。
如果只是想算「某个向量的像」,把坐标取出来做线性组合就够了,不需要更大的机器。真正的麻烦在两个映射叠在一起 :先做 T T T ,再做 S S S ,得到的复合映射 S T ST S T 的矩阵是什么?
这个问题的答案,就是矩阵乘法那条看起来古怪的规则。它不是谁拍脑袋规定的,而是被复合映射逼出来的唯一选择 ——这是本讲最核心的一句话,第三节会用完整推导兑现它。
读完这一讲你应该能回答:
给定 T T T 和两组基,M ( T ) \mathcal{M}(T) M ( T ) 的第 k k k 列是什么?第 j j j 行第 k k k 列的数是谁的系数?
为什么矩阵乘法规定为「行乘列」,而不是对应位置相乘?
为什么 M ( S T ) = M ( S ) M ( T ) \mathcal{M}(ST)=\mathcal{M}(S)\mathcal{M}(T) M ( S T ) = M ( S ) M ( T ) 里,先作用的映射写在右边?
为什么矩阵乘法满足结合律,却不满足交换律?两个原因各是什么?
已知 rank A \operatorname{rank}A rank A 与 rank B \operatorname{rank}B rank B ,能对 rank ( A B ) \operatorname{rank}(AB) rank ( A B ) 说些什么?为什么乘法既有上界又有下界?
二、定义与最小例子 #
矩阵:把数排成矩形 #
矩阵 :设 m , n m,n m , n 是非负整数,一个 m × n m\times n m × n 矩阵是由 F \mathbb{F} F 中元素排成的 m m m 行 n n n 列的矩形阵列:
A = ( A 1 , 1 ⋯ A 1 , n ⋮ ⋮ A m , 1 ⋯ A m , n ) A=\begin{pmatrix}A_{1,1}&\cdots&A_{1,n}\\\vdots&&\vdots\\A_{m,1}&\cdots&A_{m,n}\end{pmatrix} A = A 1 , 1 ⋮ A m , 1 ⋯ ⋯ A 1 , n ⋮ A m , n
记号 A j , k A_{j,k} A j , k 表示 A A A 的第 j j j 行第 k k k 列中的元素。
第一个下标永远是行,第二个永远是列 :( j , k ) (j,k) ( j , k ) =(行,列)。 中文「行列」两字的先后与下标顺序一致;英文 row(行)在 column(列)之前,字母序也一致。 两个记忆钩子指向同一个答案,就别再记反了。
最小例子:
A = ( 8 4 5 − 3 i 1 9 ) A=\begin{pmatrix}8&4&5\\-3i&1&9\end{pmatrix} A = ( 8 − 3 i 4 1 5 9 )
这是 2 × 3 2\times 3 2 × 3 矩阵。A 1 , 3 = 5 A_{1,3}=5 A 1 , 3 = 5 ,A 2 , 1 = − 3 i A_{2,1}=-3i A 2 , 1 = − 3 i ,A 2 , 3 = 9 A_{2,3}=9 A 2 , 3 = 9 。注意那个 − 3 i -3i − 3 i :元素来自数域 F \mathbb{F} F ,取 C \mathbb{C} C 时本来就是复数,不必觉得别扭。
元素全是 0 0 0 的 m × n m\times n m × n 矩阵叫零矩阵 ,也记作 0 0 0 。
线性映射的矩阵 #
现在正式回答「怎么摆」。
设 T ∈ L ( V , W ) T\in\mathcal{L}(V,W) T ∈ L ( V , W ) ,v 1 , … , v n v_1,\dots,v_n v 1 , … , v n 是 V V V 的基,w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 是 W W W 的基。每个 T v k Tv_k T v k 都是 W W W 中的向量,因此能唯一 地写成 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 的线性组合:
T v k = A 1 , k w 1 + ⋯ + A m , k w m Tv_k=A_{1,k}w_1+\cdots+A_{m,k}w_m T v k = A 1 , k w 1 + ⋯ + A m , k w m
T T T 关于这两组基的矩阵 记作 M ( T ) \mathcal{M}(T) M ( T ) ,就是把上面这些系数 A j , k A_{j,k} A j , k 按「第 k k k 列装 T v k Tv_k T v k 的系数」摆成的 m × n m\times n m × n 矩阵。
若从上下文看不出用的是哪两组基,就写全:M ( T , ( v 1 , … , v n ) , ( w 1 , … , w m ) ) \mathcal{M}\big(T,(v_1,\dots,v_n),(w_1,\dots,w_m)\big) M ( T , ( v 1 , … , v n ) , ( w 1 , … , w m ) ) 。
把这一行式子逐字读一遍,得到本讲最该背下来的一句话:
M ( T ) \mathcal{M}(T) M ( T ) 的第 k k k 列,就是 T v k Tv_k T v k 关于 W W W 的基 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 的坐标。
换句话说:列对应定义域的基向量,行对应到达空间的基向量。 后面所有「矩阵摆错了」「怎么转置了」的事故,根源都是这句话没记住。
在矩阵上方横着写 v 1 ⋯ v n v_1\ \cdots\ v_n v 1 ⋯ v n ,在左侧竖着写 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 。 上面一行是输入端的基 ,左边一列是输出端的基 。 一旦忘了第 k k k 列是什么,把这两行字补回去,答案立刻自己出来。
例 1:从 F 2 \mathbb{F}^2 F 2 到 F 3 \mathbb{F}^3 F 3 #
设 T ∈ L ( F 2 , F 3 ) T\in\mathcal{L}(\mathbb{F}^2,\mathbb{F}^3) T ∈ L ( F 2 , F 3 ) 由
T ( x , y ) = ( x + 3 y , 2 x + 5 y , 7 x + 9 y ) T(x,y)=(x+3y,\ 2x+5y,\ 7x+9y) T ( x , y ) = ( x + 3 y , 2 x + 5 y , 7 x + 9 y )
定义。两端都取标准基(第 k k k 个基向量是「第 k k k 个坐标是 1 1 1 、其余坐标是 0 0 0 」的那个)。逐个算基向量的像:
T ( 1 , 0 ) = ( 1 , 2 , 7 ) , T ( 0 , 1 ) = ( 3 , 5 , 9 ) T(1,0)=(1,2,7),\qquad T(0,1)=(3,5,9) T ( 1 , 0 ) = ( 1 , 2 , 7 ) , T ( 0 , 1 ) = ( 3 , 5 , 9 )
按定义,第 1 列装 T ( 1 , 0 ) T(1,0) T ( 1 , 0 ) 的坐标 ( 1 , 2 , 7 ) (1,2,7) ( 1 , 2 , 7 ) ,第 2 列装 T ( 0 , 1 ) T(0,1) T ( 0 , 1 ) 的坐标 ( 3 , 5 , 9 ) (3,5,9) ( 3 , 5 , 9 ) :
M ( T ) = ( 1 3 2 5 7 9 ) \mathcal{M}(T)=\begin{pmatrix}1&3\\2&5\\7&9\end{pmatrix} M ( T ) = 1 2 7 3 5 9
立刻验一次 :用矩阵算 T ( 2 , 1 ) T(2,1) T ( 2 , 1 ) 。因为 ( 2 , 1 ) = 2 ( 1 , 0 ) + 1 ( 0 , 1 ) (2,1)=2(1,0)+1(0,1) ( 2 , 1 ) = 2 ( 1 , 0 ) + 1 ( 0 , 1 ) ,所以
T ( 2 , 1 ) = 2 ( 1 , 2 , 7 ) + 1 ( 3 , 5 , 9 ) = ( 5 , 9 , 23 ) T(2,1)=2(1,2,7)+1(3,5,9)=(5,9,23) T ( 2 , 1 ) = 2 ( 1 , 2 , 7 ) + 1 ( 3 , 5 , 9 ) = ( 5 , 9 , 23 )
直接代原式核对:( 2 + 3 , 4 + 5 , 14 + 9 ) = ( 5 , 9 , 23 ) (2+3,\ 4+5,\ 14+9)=(5,9,23) ( 2 + 3 , 4 + 5 , 14 + 9 ) = ( 5 , 9 , 23 ) 。✓
这次验算其实泄漏了一个关键事实:矩阵的每一列就是对应基向量的像 ,所以「算 T T T 在某个向量上的值」就等于「拿那个向量的坐标去组合矩阵的列」。第三节会把它写成正式结论。
例 2:微分映射 #
设 D ∈ L ( P 3 ( R ) , P 2 ( R ) ) D\in\mathcal{L}\big(\mathcal{P}_3(\mathbb{R}),\mathcal{P}_2(\mathbb{R})\big) D ∈ L ( P 3 ( R ) , P 2 ( R ) ) 是求导映射:D p = p ′ Dp=p' D p = p ′ 。这里 P 3 ( R ) \mathcal{P}_3(\mathbb{R}) P 3 ( R ) 指次数不超过 3 3 3 的实系数多项式全体,P 2 ( R ) \mathcal{P}_2(\mathbb{R}) P 2 ( R ) 同理。
取 P 3 ( R ) \mathcal{P}_3(\mathbb{R}) P 3 ( R ) 的标准基 1 , x , x 2 , x 3 1,x,x^2,x^3 1 , x , x 2 , x 3 ,P 2 ( R ) \mathcal{P}_2(\mathbb{R}) P 2 ( R ) 的标准基 1 , x , x 2 1,x,x^2 1 , x , x 2 。逐个求像并写成后者的组合:
D ( 1 ) = 0 ⋅ 1 + 0 ⋅ x + 0 ⋅ x 2 D(1)=0\cdot 1+0\cdot x+0\cdot x^2 D ( 1 ) = 0 ⋅ 1 + 0 ⋅ x + 0 ⋅ x 2
D ( x ) = 1 ⋅ 1 + 0 ⋅ x + 0 ⋅ x 2 D(x)=1\cdot 1+0\cdot x+0\cdot x^2 D ( x ) = 1 ⋅ 1 + 0 ⋅ x + 0 ⋅ x 2
D ( x 2 ) = 0 ⋅ 1 + 2 ⋅ x + 0 ⋅ x 2 D(x^2)=0\cdot 1+2\cdot x+0\cdot x^2 D ( x 2 ) = 0 ⋅ 1 + 2 ⋅ x + 0 ⋅ x 2
D ( x 3 ) = 0 ⋅ 1 + 0 ⋅ x + 3 ⋅ x 2 D(x^3)=0\cdot 1+0\cdot x+3\cdot x^2 D ( x 3 ) = 0 ⋅ 1 + 0 ⋅ x + 3 ⋅ x 2
四列并起来,得到 3 × 4 3\times 4 3 × 4 矩阵:
M ( D ) = ( 0 1 0 0 0 0 2 0 0 0 0 3 ) \mathcal{M}(D)=\begin{pmatrix}0&1&0&0\\0&0&2&0\\0&0&0&3\end{pmatrix} M ( D ) = 0 0 0 1 0 0 0 2 0 0 0 3
看这个矩阵的形状:1 , 2 , 3 1,2,3 1 , 2 , 3 依次向右上错一位。求导在这种基下就是"沿斜线搬家" ,这比背公式更能说明它是线性映射。
两个尺寸规律 #
情形
矩阵大小
T T T 从 n n n 维空间到 m m m 维空间
m × n m\times n m × n
T T T 从 F n \mathbb{F}^n F n 到 F m \mathbb{F}^m F m (两端默认标准基)
m × n m\times n m × n
只要这句话在手,就不会把 3 × 2 3\times 2 3 × 2 写成 2 × 3 2\times 3 2 × 3 。 反过来自查:列数必须等于定义域的维数,否则连「有几列」都对不上定义。
反过来:矩阵也能还原映射 #
给定 T T T 与两组基得到矩阵;反过来,给定一个 m × n m\times n m × n 矩阵与两组基,也能唯一确定一个线性映射:先规定 T v k Tv_k T v k 为「第 k k k 列的系数配 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 」组合出的那个向量,再按线性把定义扩展到整个 V V V 。
这就是矩阵值得被当成独立对象研究的原因:在固定基下,矩阵与线性映射一一对应。
三、几个必须自己算一遍的结论 #
3.1 加法与标量乘法:先问映射,再定矩阵 #
两个问题,问法要一致。
问题一 :M ( S + T ) \mathcal{M}(S+T) M ( S + T ) 应该等于什么?先把 ( S + T ) v k (S+T)v_k ( S + T ) v k 按定义拆开:
( S + T ) v k = S v k + T v k = ∑ j = 1 m A j , k w j + ∑ j = 1 m B j , k w j = ∑ j = 1 m ( A j , k + B j , k ) w j (S+T)v_k=Sv_k+Tv_k=\sum_{j=1}^{m}A_{j,k}w_j+\sum_{j=1}^{m}B_{j,k}w_j=\sum_{j=1}^{m}\big(A_{j,k}+B_{j,k}\big)w_j ( S + T ) v k = S v k + T v k = j = 1 ∑ m A j , k w j + j = 1 ∑ m B j , k w j = j = 1 ∑ m ( A j , k + B j , k ) w j
其中 A = M ( S ) A=\mathcal{M}(S) A = M ( S ) 、B = M ( T ) B=\mathcal{M}(T) B = M ( T ) 。最后一步把系数相加,凭什么可以?因为 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 是基 ,W W W 中每个向量的坐标是唯一 的。既然 ( S + T ) v k (S+T)v_k ( S + T ) v k 的第 j j j 个系数只能等于 A j , k + B j , k A_{j,k}+B_{j,k} A j , k + B j , k ,矩阵加法就只能是逐元素相加 :
( A 1 , 1 ⋯ A 1 , n ⋮ ⋮ A m , 1 ⋯ A m , n ) + ( C 1 , 1 ⋯ C 1 , n ⋮ ⋮ C m , 1 ⋯ C m , n ) = ( A 1 , 1 + C 1 , 1 ⋯ A 1 , n + C 1 , n ⋮ ⋮ A m , 1 + C m , 1 ⋯ A m , n + C m , n ) \begin{pmatrix}A_{1,1}&\cdots&A_{1,n}\\\vdots&&\vdots\\A_{m,1}&\cdots&A_{m,n}\end{pmatrix}+\begin{pmatrix}C_{1,1}&\cdots&C_{1,n}\\\vdots&&\vdots\\C_{m,1}&\cdots&C_{m,n}\end{pmatrix}=\begin{pmatrix}A_{1,1}+C_{1,1}&\cdots&A_{1,n}+C_{1,n}\\\vdots&&\vdots\\A_{m,1}+C_{m,1}&\cdots&A_{m,n}+C_{m,n}\end{pmatrix} A 1 , 1 ⋮ A m , 1 ⋯ ⋯ A 1 , n ⋮ A m , n + C 1 , 1 ⋮ C m , 1 ⋯ ⋯ C 1 , n ⋮ C m , n = A 1 , 1 + C 1 , 1 ⋮ A m , 1 + C m , 1 ⋯ ⋯ A 1 , n + C 1 , n ⋮ A m , n + C m , n
问题二 :M ( λ T ) \mathcal{M}(\lambda T) M ( λ T ) 应该等于什么?同样:( λ T ) v k = λ ( T v k ) = ∑ j ( λ A j , k ) w j (\lambda T)v_k=\lambda(Tv_k)=\sum_j(\lambda A_{j,k})w_j ( λ T ) v k = λ ( T v k ) = ∑ j ( λ A j , k ) w j ,所以标量乘法只能是每个元素乘 λ \lambda λ 。
两条结论合起来:
M ( S + T ) = M ( S ) + M ( T ) , M ( λ T ) = λ M ( T ) \mathcal{M}(S+T)=\mathcal{M}(S)+\mathcal{M}(T),\qquad \mathcal{M}(\lambda T)=\lambda\mathcal{M}(T) M ( S + T ) = M ( S ) + M ( T ) , M ( λ T ) = λ M ( T )
我们没有「规定」矩阵加法,而是先问映射层面该发生什么,再倒推出矩阵层面唯一可行的定义 。 这不是巧合,是整讲的统一套路——3.3 推导矩阵乘法时会把它用到极致。矩阵的一切运算,都是为了让映射的运算能被记录下来。
手算一例:
2 ( 3 1 − 1 5 ) + ( 4 2 1 6 ) = ( 6 2 − 2 10 ) + ( 4 2 1 6 ) = ( 10 4 − 1 16 ) 2\begin{pmatrix}3&1\\-1&5\end{pmatrix}+\begin{pmatrix}4&2\\1&6\end{pmatrix}=\begin{pmatrix}6&2\\-2&10\end{pmatrix}+\begin{pmatrix}4&2\\1&6\end{pmatrix}=\begin{pmatrix}10&4\\-1&16\end{pmatrix} 2 ( 3 − 1 1 5 ) + ( 4 1 2 6 ) = ( 6 − 2 2 10 ) + ( 4 1 2 6 ) = ( 10 − 1 4 16 )
3.2 F m , n \mathbb{F}^{m,n} F m , n :矩阵自己也构成向量空间 #
记 F m , n \mathbb{F}^{m,n} F m , n 为元素全在 F \mathbb{F} F 中的所有 m × n m\times n m × n 矩阵组成的集合(m , n m,n m , n 为正整数)。配上刚才的加法与标量乘法,它满足向量空间的全部性质——这不是巧合,而是因为「逐元素运算」相当于把 m n mn mn 个位置各自变成一份 F \mathbb{F} F ,互不干扰。
它的加法零元就是零矩阵:所有元素都等于 0 0 0 的那个 m × n m\times n m × n 矩阵。
维数是多少?看「只有一个位置是 1 1 1 、其余都是 0 0 0 」的那些矩阵。以 2 × 2 2\times 2 2 × 2 为例,共 4 个:
E 1 , 1 = ( 1 0 0 0 ) , E 1 , 2 = ( 0 1 0 0 ) , E 2 , 1 = ( 0 0 1 0 ) , E 2 , 2 = ( 0 0 0 1 ) E_{1,1}=\begin{pmatrix}1&0\\0&0\end{pmatrix},\quad E_{1,2}=\begin{pmatrix}0&1\\0&0\end{pmatrix},\quad E_{2,1}=\begin{pmatrix}0&0\\1&0\end{pmatrix},\quad E_{2,2}=\begin{pmatrix}0&0\\0&1\end{pmatrix} E 1 , 1 = ( 1 0 0 0 ) , E 1 , 2 = ( 0 0 1 0 ) , E 2 , 1 = ( 0 1 0 0 ) , E 2 , 2 = ( 0 0 0 1 )
任何 2 × 2 2\times 2 2 × 2 矩阵都能唯一地写成它们的组合:
( a b c d ) = a E 1 , 1 + b E 1 , 2 + c E 2 , 1 + d E 2 , 2 \begin{pmatrix}a&b\\c&d\end{pmatrix}=aE_{1,1}+bE_{1,2}+cE_{2,1}+dE_{2,2} ( a c b d ) = a E 1 , 1 + b E 1 , 2 + c E 2 , 1 + d E 2 , 2
组合系数就是元素本身,所以写法唯一、四个矩阵线性无关——它们构成 F 2 , 2 \mathbb{F}^{2,2} F 2 , 2 的一组基,dim F 2 , 2 = 4 \dim\mathbb{F}^{2,2}=4 dim F 2 , 2 = 4 。推广到一般:
dim F m , n = m n \dim\mathbb{F}^{m,n}=mn dim F m , n = mn
理由一句话:m n mn mn 个位置,每个位置提供一个独立的自由度。
在这套理论里,F m , n \mathbb{F}^{m,n} F m , n 就是一个 m n mn mn 维向量空间,于是「矩阵线性无关」「矩阵的基」「线性映射空间的维数」这些话全都有意义。 后面讲可逆与同构时要用到的 dim L ( V , W ) = ( dim V ) ( dim W ) \dim\mathcal{L}(V,W)=(\dim V)(\dim W) dim L ( V , W ) = ( dim V ) ( dim W ) ,本质就是把线性映射与矩阵对上号。
3.3 矩阵乘法:唯一能让 M ( S T ) = M ( S ) M ( T ) \mathcal{M}(ST)=\mathcal{M}(S)\mathcal{M}(T) M ( S T ) = M ( S ) M ( T ) 成立的定义 #
这是本讲的核心,请慢慢读。
动机。 取 T : U → V T:U\to V T : U → V 、S : V → W S:V\to W S : V → W ,并固定三组基:U U U 的 u 1 , … , u p u_1,\dots,u_p u 1 , … , u p ,V V V 的 v 1 , … , v n v_1,\dots,v_n v 1 , … , v n ,W W W 的 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 。记
B = M ( T ) ( n × p ) , A = M ( S ) ( m × n ) B=\mathcal{M}(T)\quad(n\times p),\qquad A=\mathcal{M}(S)\quad(m\times n) B = M ( T ) ( n × p ) , A = M ( S ) ( m × n )
复合映射 S T : U → W ST:U\to W S T : U → W 是线性的,它当然也有矩阵。问题:M ( S T ) \mathcal{M}(ST) M ( S T ) 长什么样?
注意此刻「两个矩阵相乘」还没有定义,所以不能直接问「A B AB A B 等不等于 M ( S T ) \mathcal{M}(ST) M ( S T ) 」。正确的问法是:先把 M ( S T ) \mathcal{M}(ST) M ( S T ) 老老实实算出来,再照着它的样子去定义矩阵乘法 。顺序不能颠倒。
算。 复合映射由它对基向量的作用定死,所以逐个 u k u_k u k 算:
( S T ) u k = S ( T u k ) (ST)u_k=S(Tu_k) ( S T ) u k = S ( T u k )
第一步,把 T u k Tu_k T u k 用 V V V 的基展开——这里用上的正是 M ( T ) \mathcal{M}(T) M ( T ) 的第 k k k 列:
T u k = ∑ r = 1 n B r , k v r Tu_k=\sum_{r=1}^{n}B_{r,k}v_r T u k = r = 1 ∑ n B r , k v r
第二步,用 S S S 的线性把 S S S 推进求和号:
S ( T u k ) = S ( ∑ r = 1 n B r , k v r ) = ∑ r = 1 n B r , k S v r S(Tu_k)=S\left(\sum_{r=1}^{n}B_{r,k}v_r\right)=\sum_{r=1}^{n}B_{r,k}\,Sv_r S ( T u k ) = S ( r = 1 ∑ n B r , k v r ) = r = 1 ∑ n B r , k S v r
第三步,把每个 S v r Sv_r S v r 用 W W W 的基展开——这里用上的正是 M ( S ) \mathcal{M}(S) M ( S ) 的第 r r r 列:
S v r = ∑ j = 1 m A j , r w j Sv_r=\sum_{j=1}^{m}A_{j,r}w_j S v r = j = 1 ∑ m A j , r w j
代回去:
S ( T u k ) = ∑ r = 1 n B r , k ∑ j = 1 m A j , r w j S(Tu_k)=\sum_{r=1}^{n}B_{r,k}\sum_{j=1}^{m}A_{j,r}w_j S ( T u k ) = r = 1 ∑ n B r , k j = 1 ∑ m A j , r w j
第四步,交换求和顺序,把 w j w_j w j 提到外面:
S ( T u k ) = ∑ j = 1 m ( ∑ r = 1 n A j , r B r , k ) w j S(Tu_k)=\sum_{j=1}^{m}\left(\sum_{r=1}^{n}A_{j,r}B_{r,k}\right)w_j S ( T u k ) = j = 1 ∑ m ( r = 1 ∑ n A j , r B r , k ) w j
读结果。 这个式子说的是:( S T ) u k (ST)u_k ( S T ) u k 关于 w 1 , … , w m w_1,\dots,w_m w 1 , … , w m 的第 j j j 个坐标,等于 ∑ r = 1 n A j , r B r , k \sum_{r=1}^{n}A_{j,r}B_{r,k} ∑ r = 1 n A j , r B r , k 。而按矩阵的定义,M ( S T ) \mathcal{M}(ST) M ( S T ) 是 m × p m\times p m × p 矩阵,它的第 j j j 行第 k k k 列元素正是 这个数。
于是我们别无选择 :要让矩阵真的记录住复合映射,两矩阵之积只能定义成
( A B ) j , k = ∑ r = 1 n A j , r B r , k (AB)_{j,k}=\sum_{r=1}^{n}A_{j,r}B_{r,k} ( A B ) j , k = r = 1 ∑ n A j , r B r , k
使用条件 :A A A 是 m × n m\times n m × n 、B B B 是 n × p n\times p n × p 。中间那个 n n n 必须对上——第一个矩阵的列数等于第二个矩阵的行数 。
中间那个 n n n 就是空间 V V V 的维数:B B B 的输出落在 V V V 里(写成 v 1 , … , v n v_1,\dots,v_n v 1 , … , v n 的组合),A A A 的输入也要求来自 V V V (把各个 v r v_r v r 送出去)。 两边用的是同一个 V V V 的同一组基 ,所以必须相等;不相等就说明这两个映射根本接不起来,乘积当然没有定义。
这个定义古怪在哪里,又为什么其实不古怪。 若改成「对应位置相乘」A j , k B j , k A_{j,k}B_{j,k} A j , k B j , k ,表面上自然得多,但它记录不了复合:那样定义的话,M ( S T ) \mathcal{M}(ST) M ( S T ) 的第 j j j 行第 k k k 列只会牵扯到 A j , k A_{j,k} A j , k 与 B j , k B_{j,k} B j , k ,而复合映射第 j j j 个输出坐标根本用不到 B B B 的第 j j j 行——它需要的是中间空间 V V V 的全部坐标 。所以下标 r r r 必须被求和消掉。
求和消 r r r ,不是风格选择,是复合映射的结构决定的。
3.4 手算:3 × 2 3\times 2 3 × 2 乘 2 × 4 2\times 4 2 × 4 #
( 1 2 3 4 5 6 ) ( 6 5 4 3 2 1 0 − 1 ) = ( 10 7 4 1 26 19 12 5 42 31 20 9 ) \begin{pmatrix}1&2\\3&4\\5&6\end{pmatrix}\begin{pmatrix}6&5&4&3\\2&1&0&-1\end{pmatrix}=\begin{pmatrix}10&7&4&1\\26&19&12&5\\42&31&20&9\end{pmatrix} 1 3 5 2 4 6 ( 6 2 5 1 4 0 3 − 1 ) = 10 26 42 7 19 31 4 12 20 1 5 9
自己动手核两处:
结果的第 1 行第 1 列 = 1 ⋅ 6 + 2 ⋅ 2 = 10 =1\cdot 6+2\cdot 2=10 = 1 ⋅ 6 + 2 ⋅ 2 = 10 ;
结果的第 2 行第 1 列 = 3 ⋅ 6 + 4 ⋅ 2 = 26 =3\cdot 6+4\cdot 2=26 = 3 ⋅ 6 + 4 ⋅ 2 = 26 。
行数 3 3 3 跟着左边走,列数 4 4 4 跟着右边走,中间那个 2 2 2 被吃掉了。(这个 26 26 26 一会儿还有用。)
3.5 同一个乘积的四种读法 #
它们说的是同一件事,但各自擅长回答不同的问题。
读法一:行乘列。 这就是定义本身。先约定记号:A j , ⋅ A_{j,\cdot} A j , ⋅ 表示 A A A 的第 j j j 行(看作一个 1 × n 1\times n 1 × n 矩阵),A ⋅ , k A_{\cdot,k} A ⋅ , k 表示 A A A 的第 k k k 列(看作一个 m × 1 m\times 1 m × 1 矩阵)。于是
( A B ) j , k = A j , ⋅ B ⋅ , k = A j , 1 B 1 , k + ⋯ + A j , n B n , k (AB)_{j,k}=A_{j,\cdot}B_{\cdot,k}=A_{j,1}B_{1,k}+\cdots+A_{j,n}B_{n,k} ( A B ) j , k = A j , ⋅ B ⋅ , k = A j , 1 B 1 , k + ⋯ + A j , n B n , k
即「把 A A A 的第 j j j 行横过来、B B B 的第 k k k 列竖起来,对应位置相乘再相加」。手算时用这条最快。
顺带一个通行约定:1 × 1 1\times 1 1 × 1 矩阵常与它里面那个数等同起来。例如
( 3 4 ) ( 6 2 ) = 3 ⋅ 6 + 4 ⋅ 2 = 26 \begin{pmatrix}3&4\end{pmatrix}\begin{pmatrix}6\\2\end{pmatrix}=3\cdot 6+4\cdot 2=26 ( 3 4 ) ( 6 2 ) = 3 ⋅ 6 + 4 ⋅ 2 = 26
习惯上就把右边那个 1 × 1 1\times 1 1 × 1 矩阵写成 26 26 26 。3.4 里第二行第一列那个 26 26 26 ,正是左边矩阵的第 2 行 ( 3 4 ) \begin{pmatrix}3&4\end{pmatrix} ( 3 4 ) 乘以右边矩阵的第 1 列 ( 6 2 ) \begin{pmatrix}6\\2\end{pmatrix} ( 6 2 ) 。
读法二:每一列 = 右边那一列的像。 对每个 k k k :
( A B ) ⋅ , k = A B ⋅ , k (AB)_{\cdot,k}=A\,B_{\cdot,k} ( A B ) ⋅ , k = A B ⋅ , k
A B AB A B 的第 k k k 列,等于「用 A A A 去乘 B B B 的第 k k k 列」。这条最好记,也最有几何味道。
读法三:每一列 = A A A 各列的线性组合。 把 n × 1 n\times 1 n × 1 矩阵 b b b 的元素记作 b 1 , … , b n b_1,\dots,b_n b 1 , … , b n ,则
A b = b 1 A ⋅ , 1 + ⋯ + b n A ⋅ , n Ab=b_1A_{\cdot,1}+\cdots+b_nA_{\cdot,n} A b = b 1 A ⋅ , 1 + ⋯ + b n A ⋅ , n
A b Ab A b 是 A A A 各列的线性组合,系数来自 b b b 。 手算一例:
( 1 2 3 4 5 6 ) ( 5 1 ) = ( 7 19 31 ) = 5 ( 1 3 5 ) + 1 ( 2 4 6 ) \begin{pmatrix}1&2\\3&4\\5&6\end{pmatrix}\begin{pmatrix}5\\1\end{pmatrix}=\begin{pmatrix}7\\19\\31\end{pmatrix}=5\begin{pmatrix}1\\3\\5\end{pmatrix}+1\begin{pmatrix}2\\4\\6\end{pmatrix} 1 3 5 2 4 6 ( 5 1 ) = 7 19 31 = 5 1 3 5 + 1 2 4 6
把读法二与读法三串起来,得到一句极有用的话:
A B AB A B 的每一列,都是 A A A 各列的线性组合,系数由 B B B 的对应列给出。
读法四:每一行 = B B B 各行的线性组合。 对称地,系数来自 A A A 的第 j j j 行:
A j , ⋅ B = A j , 1 B 1 , ⋅ + ⋯ + A j , n B n , ⋅ A_{j,\cdot}B=A_{j,1}B_{1,\cdot}+\cdots+A_{j,n}B_{n,\cdot} A j , ⋅ B = A j , 1 B 1 , ⋅ + ⋯ + A j , n B n , ⋅
读法二、三管列,读法四管行。 想证明与「行」或「列」有关的性质时,这两套读法比硬展开逐元素省力得多。
3.6 三条性质,以及它们各自的原因 #
(1)结合律成立 :
( A B ) C = A ( B C ) (AB)C=A(BC) ( A B ) C = A ( B C )
前提是三个矩阵大小能接上(A A A 的列数 = = = B B B 的行数,B B B 的列数 = = = C C C 的行数)。
原因不在堆 ∑ \sum ∑ ,而在映射上。要串起三个映射,这里改用三个字母,依次是 R : U → V R:U\to V R : U → V 、T : V → W T:V\to W T : V → W 、S : W → X S:W\to X S : W → X (含义与前文相同,只是字母换了一遍)。取与它们相配的基,记 A = M ( S ) A=\mathcal{M}(S) A = M ( S ) 、B = M ( T ) B=\mathcal{M}(T) B = M ( T ) 、C = M ( R ) C=\mathcal{M}(R) C = M ( R ) 。由「乘积矩阵记录复合映射」:
( A B ) C = M ( S ) M ( T ) M ( R ) = M ( S T ) M ( R ) = M ( ( S T ) R ) (AB)C=\mathcal{M}(S)\mathcal{M}(T)\mathcal{M}(R)=\mathcal{M}(ST)\mathcal{M}(R)=\mathcal{M}\big((ST)R\big) ( A B ) C = M ( S ) M ( T ) M ( R ) = M ( S T ) M ( R ) = M ( ( S T ) R )
A ( B C ) = M ( S ) M ( T R ) = M ( S ( T R ) ) A(BC)=\mathcal{M}(S)\mathcal{M}(TR)=\mathcal{M}\big(S(TR)\big) A ( B C ) = M ( S ) M ( T R ) = M ( S ( T R ) )
而映射的复合天然满足 ( S T ) R = S ( T R ) (ST)R=S(TR) ( S T ) R = S ( T R ) ——两边都把 u u u 送到 S ( T ( R u ) ) S(T(Ru)) S ( T ( R u )) ,逐字一样。所以两个矩阵相等。
全程只用了一件事:矩阵乘法记录映射复合 。一个元素都没展开。 数学家里有人说过大意如此的话:抛开矩阵,一个原本用矩阵做的证明可以缩短一半。 这里的体验恰好相反——先在映射层面找到理由,矩阵层面的等式就是白送的 。
(2)交换律不成立 :A B AB A B 与 B A BA B A 一般不等,有时甚至只有一个有定义。
原因同样在映射层面:复合映射不交换 。举个一眼看穿的例子,取两个 R 2 → R 2 \mathbb{R}^2\to\mathbb{R}^2 R 2 → R 2 的映射:
P P P :向 x x x 轴投影,M ( P ) = ( 1 0 0 0 ) \mathcal{M}(P)=\begin{pmatrix}1&0\\0&0\end{pmatrix} M ( P ) = ( 1 0 0 0 ) ;
R R R :逆时针转 90 ∘ 90^\circ 9 0 ∘ ,M ( R ) = ( 0 − 1 1 0 ) \mathcal{M}(R)=\begin{pmatrix}0&-1\\1&0\end{pmatrix} M ( R ) = ( 0 1 − 1 0 ) 。
先旋转再投影,与先投影再旋转,结果完全不同:
M ( P ) M ( R ) = ( 0 − 1 0 0 ) , M ( R ) M ( P ) = ( 0 0 1 0 ) \mathcal{M}(P)\mathcal{M}(R)=\begin{pmatrix}0&-1\\0&0\end{pmatrix},\qquad \mathcal{M}(R)\mathcal{M}(P)=\begin{pmatrix}0&0\\1&0\end{pmatrix} M ( P ) M ( R ) = ( 0 0 − 1 0 ) , M ( R ) M ( P ) = ( 0 1 0 0 )
几何上也一目了然:M ( R ) M ( P ) \mathcal{M}(R)\mathcal{M}(P) M ( R ) M ( P ) 把 ( 1 , 0 ) (1,0) ( 1 , 0 ) 送到 ( 0 , 1 ) (0,1) ( 0 , 1 ) ,而 M ( P ) M ( R ) \mathcal{M}(P)\mathcal{M}(R) M ( P ) M ( R ) 把 ( 1 , 0 ) (1,0) ( 1 , 0 ) 送到原点(先转到 ( 0 , 1 ) (0,1) ( 0 , 1 ) ,再投影到 x x x 轴就没了)。
所以「矩阵乘法不交换」根本不是矩阵的毛病,而是「先做一件事、再做另一件事」本来就不可交换。
(3)分配律成立 :
A ( B + C ) = A B + A C , ( D + E ) F = D F + E F A(B+C)=AB+AC,\qquad (D+E)F=DF+EF A ( B + C ) = A B + A C , ( D + E ) F = D F + E F
原因还是映射:S ( T + R ) = S T + S R S(T+R)=ST+SR S ( T + R ) = S T + S R ,因为 S S S 是线性的,S ( T u + R u ) = S ( T u ) + S ( R u ) S(Tu+Ru)=S(Tu)+S(Ru) S ( T u + R u ) = S ( T u ) + S ( R u ) 。把它翻译成矩阵就是第一条;第二条同理。
分配律不是无条件的。A ( B + C ) A(B+C) A ( B + C ) 有意义,前提是 B , C B,C B , C 与 A A A 的大小配套; 而 A B + A C AB+AC A B + A C 有意义则是自动的(两个乘积大小相同)。 写这类式子前先数一遍行列,能省掉大量「明明会算却做错」的情况。
3.7 一句话总结矩阵乘法 #
矩阵乘法 = 用右边矩阵提供系数,用左边矩阵提供向量,做一批线性组合。
右边矩阵的每一列 是一份系数,去组合左边矩阵的各列 (读法二 + 三);
左边矩阵的每一行 是一份系数,去组合右边矩阵的各行 (读法四)。
而「为什么是这个样子」,答案永远只有一个:它是复合映射 S T ST S T 的坐标记录。
3.8 秩:一个数,两条现成推论 #
前面七条都在回答「矩阵怎么摆、怎么乘」。从这里起换一个问题:加法与乘法前后,矩阵携带的信息量变了多少? 量它的数是秩。
设 A A A 是 m × n m\times n m × n 矩阵,把它看成映射 T A : F n , 1 → F m , 1 T_A:\mathbb{F}^{n,1}\to\mathbb{F}^{m,1} T A : F n , 1 → F m , 1 ,x ↦ A x x\mapsto Ax x ↦ A x 。由读法三,T A T_A T A 的值域正是 A A A 各列张成的子空间,于是定义
rank A : = dim range T A = dim ⟨ A ⋅ , 1 , … , A ⋅ , n ⟩ \operatorname{rank}A:=\dim\operatorname{range}T_A=\dim\langle A_{\cdot,1},\dots,A_{\cdot,n}\rangle rank A := dim range T A = dim ⟨ A ⋅ , 1 , … , A ⋅ , n ⟩
行方向也有一个「行秩」,它与列秩恒相等(证明见 12 讲),所以两者统称秩 。
把 08 讲的线性映射基本定理用在 T A T_A T A 上:
n = rank A + dim null T A n=\operatorname{rank}A+\dim\operatorname{null}T_A n = rank A + dim null T A
n n n 是列数 。背成「列数 = 秩 + 零化度 」。下面每一条不等式都是它的推论。
顺带两条:
rank A ≤ min { m , n } , rank A = 0 ⟺ A = 0 \operatorname{rank}A\le\min\{m,n\},\qquad \operatorname{rank}A=0\iff A=0 rank A ≤ min { m , n } , rank A = 0 ⟺ A = 0
range T A ⊆ F m , 1 \operatorname{range}T_A\subseteq\mathbb{F}^{m,1} range T A ⊆ F m , 1 给出 ≤ m \le m ≤ m ,n n n 个列向量张成给出 ≤ n \le n ≤ n ;零矩阵的值域只有零向量。
3.9 两条基本不等式 #
本节约定:A , B A,B A , B 同型(都是 m × n m\times n m × n ),以便做加法;涉及乘法时 A A A 是 m × n m\times n m × n 、B B B 是 n × p n\times p n × p (于是 A B AB A B 是 m × p m\times p m × p )。
(1)加法至多把秩相加。
rank ( A + B ) ≤ rank A + rank B \operatorname{rank}(A+B)\le\operatorname{rank}A+\operatorname{rank}B rank ( A + B ) ≤ rank A + rank B
证明. 对任意 x x x 有 ( A + B ) x = A x + B x (A+B)x=Ax+Bx ( A + B ) x = A x + B x ,右边是「A A A 的列的组合加上 B B B 的列的组合」,所以
range T A + B ⊆ range T A + range T B \operatorname{range}T_{A+B}\subseteq\operatorname{range}T_A+\operatorname{range}T_B range T A + B ⊆ range T A + range T B
(右边的加号指子空间的和)。取维数,用 06 讲的和维数公式:
dim range T A + B ≤ dim ( range T A + range T B ) = rank A + rank B − dim ( range T A ∩ range T B ) ≤ rank A + rank B \begin{aligned}\dim\operatorname{range}T_{A+B}&\le\dim\big(\operatorname{range}T_A+\operatorname{range}T_B\big)\\&=\operatorname{rank}A+\operatorname{rank}B-\dim\big(\operatorname{range}T_A\cap\operatorname{range}T_B\big)\\&\le\operatorname{rank}A+\operatorname{rank}B\end{aligned} dim range T A + B ≤ dim ( range T A + range T B ) = rank A + rank B − dim ( range T A ∩ range T B ) ≤ rank A + rank B
■ \blacksquare ■
证明顺手给出了取等条件,但它比初看要苛刻:取等当且仅当 range T A + B = range T A ⊕ range T B \operatorname{range}T_{A+B}=\operatorname{range}T_A\oplus\operatorname{range}T_B range T A + B = range T A ⊕ range T B 。这里要强调的是等式成立的对象 :不是「range T A + range T B \operatorname{range}T_A+\operatorname{range}T_B range T A + range T B 是直和」,而是「A + B A+B A + B 的值域恰好等于 那个和」。只要求「两个值域交为零」不够 ——反例 A = ( 1 1 0 0 ) A=\begin{pmatrix}1&1\\0&0\end{pmatrix} A = ( 1 0 1 0 ) 、B = ( 0 0 1 1 ) B=\begin{pmatrix}0&0\\1&1\end{pmatrix} B = ( 0 1 0 1 ) ,值域分别张成 ( 1 , 0 ) (1,0) ( 1 , 0 ) 与 ( 0 , 1 ) (0,1) ( 0 , 1 ) ,交集为零,但 A + B A+B A + B 是秩 1 1 1 的全 1 1 1 矩阵,右边却是 2 2 2 。所以还要「和恰好填满 A + B A+B A + B 的值域」。
(2)乘法只会让秩变小。
rank ( A B ) ≤ min { rank A , rank B } \operatorname{rank}(AB)\le\min\{\operatorname{rank}A,\ \operatorname{rank}B\} rank ( A B ) ≤ min { rank A , rank B }
证明. 左半:A B x = A ( B x ) ABx=A(Bx) A B x = A ( B x ) ,故 range T A B ⊆ range T A \operatorname{range}T_{AB}\subseteq\operatorname{range}T_A range T A B ⊆ range T A ,取维数得 rank ( A B ) ≤ rank A \operatorname{rank}(AB)\le\operatorname{rank}A rank ( A B ) ≤ rank A 。
右半:若 B x = 0 Bx=0 B x = 0 则 A B x = 0 ABx=0 A B x = 0 ,故 null T B ⊆ null T A B \operatorname{null}T_B\subseteq\operatorname{null}T_{AB} null T B ⊆ null T A B ,取维数得 dim null T A B ≥ dim null T B \dim\operatorname{null}T_{AB}\ge\dim\operatorname{null}T_B dim null T A B ≥ dim null T B 。再用一次「列数 = 秩 + 零化度」(B B B 与 A B AB A B 的列数都是 p p p ):
p − rank ( A B ) ≥ p − rank B ⟹ rank ( A B ) ≤ rank B p-\operatorname{rank}(AB)\ge p-\operatorname{rank}B\ \Longrightarrow\ \operatorname{rank}(AB)\le\operatorname{rank}B p − rank ( A B ) ≥ p − rank B ⟹ rank ( A B ) ≤ rank B
■ \blacksquare ■
两个上界都可能取到,也都可能很松,3.14 会各举一次。几何图像要记住:A A A 只会把值域压小,B B B 只会把零空间撑大。
3.10 Sylvester 秩不等式:给乘法一个下界 #
上面只说乘法不会把秩变大,没说能小到多少。Sylvester 不等式补上下界。设 A A A 是 m × n m\times n m × n 、B B B 是 n × p n\times p n × p ,则
rank ( A B ) ≥ rank A + rank B − n \operatorname{rank}(AB)\ge\operatorname{rank}A+\operatorname{rank}B-n rank ( A B ) ≥ rank A + rank B − n
证明. 只盯住 B B B 的值域,把 A A A 限制在它上面:
φ : range T B → F m , 1 , φ ( y ) = A y \varphi:\operatorname{range}T_B\to\mathbb{F}^{m,1},\qquad \varphi(y)=Ay φ : range T B → F m , 1 , φ ( y ) = A y
φ \varphi φ 的值域 正是 range T A B \operatorname{range}T_{AB} range T A B :φ ( B x ) = A B x \varphi(Bx)=ABx φ ( B x ) = A B x 给出 range T A B ⊆ range φ \operatorname{range}T_{AB}\subseteq\operatorname{range}\varphi range T A B ⊆ range φ ;反过来 y = B x y=Bx y = B x 时 φ ( y ) = A B x \varphi(y)=ABx φ ( y ) = A B x ,给出反向包含。两向包含,两者相等。
φ \varphi φ 的零空间 是 range T B ∩ null T A \operatorname{range}T_B\cap\operatorname{null}T_A range T B ∩ null T A ——这是全证明的关键:A A A 的零空间一般只有一部分落在 B B B 的值域里。
对 φ \varphi φ 用线性映射基本定理(它的定义域是 range T B \operatorname{range}T_B range T B ,维数为 rank B \operatorname{rank}B rank B ):
rank B = dim ( range T B ∩ null T A ) + rank ( A B ) \operatorname{rank}B=\dim\big(\operatorname{range}T_B\cap\operatorname{null}T_A\big)+\operatorname{rank}(AB) rank B = dim ( range T B ∩ null T A ) + rank ( A B )
又 range T B ∩ null T A ⊆ null T A \operatorname{range}T_B\cap\operatorname{null}T_A\subseteq\operatorname{null}T_A range T B ∩ null T A ⊆ null T A ,取维数得
dim ( range T B ∩ null T A ) ≤ dim null T A = n − rank A \dim\big(\operatorname{range}T_B\cap\operatorname{null}T_A\big)\le\dim\operatorname{null}T_A=n-\operatorname{rank}A dim ( range T B ∩ null T A ) ≤ dim null T A = n − rank A
代回上式:
rank ( A B ) = rank B − dim ( range T B ∩ null T A ) ≥ rank B − ( n − rank A ) = rank A + rank B − n \operatorname{rank}(AB)=\operatorname{rank}B-\dim\big(\operatorname{range}T_B\cap\operatorname{null}T_A\big)\ge\operatorname{rank}B-(n-\operatorname{rank}A)=\operatorname{rank}A+\operatorname{rank}B-n rank ( A B ) = rank B − dim ( range T B ∩ null T A ) ≥ rank B − ( n − rank A ) = rank A + rank B − n
■ \blacksquare ■
rank ( A B ) \operatorname{rank}(AB) rank ( A B ) 恰等于 rank B \operatorname{rank}B rank B 减去「被 A A A 杀掉的那部分 B B B 的值域」的维数。 Sylvester 只是把这部分粗估成「不超过 null T A \operatorname{null}T_A null T A 」的结果。
推论(零积的秩判据). 若 A B = 0 AB=0 A B = 0 ,则 rank A + rank B ≤ n \operatorname{rank}A+\operatorname{rank}B\le n rank A + rank B ≤ n 。把 rank ( A B ) = 0 \operatorname{rank}(AB)=0 rank ( A B ) = 0 代进去即可。它也解释了第五节误区 3 那对反例为何必然存在:两颗非零的 n n n 阶矩阵要乘出零矩阵,秩必须小到加起来不超过 n n n 。
边界情形. 若 rank A + rank B ≤ n \operatorname{rank}A+\operatorname{rank}B\le n rank A + rank B ≤ n ,右边 ≤ 0 \le0 ≤ 0 ,而秩非负,于是这条不等式不提供任何信息。Sylvester 只在 rank A + rank B > n \operatorname{rank}A+\operatorname{rank}B>n rank A + rank B > n 时才咬人。
3.11 Frobenius 秩不等式:夹在中间的那个矩阵 #
设 A A A 是 m × n m\times n m × n 、B B B 是 n × p n\times p n × p 、C C C 是 p × q p\times q p × q ,则
rank ( A B C ) ≥ rank ( A B ) + rank ( B C ) − rank B \operatorname{rank}(ABC)\ge\operatorname{rank}(AB)+\operatorname{rank}(BC)-\operatorname{rank}B rank ( A B C ) ≥ rank ( A B ) + rank ( B C ) − rank B
证明. 把 3.10 的「限制到值域上算零空间」用两次。第一次在 range T B \operatorname{range}T_B range T B 上做,如 3.10 所得:
rank ( A B ) = rank B − dim ( range T B ∩ null T A ) \operatorname{rank}(AB)=\operatorname{rank}B-\dim\big(\operatorname{range}T_B\cap\operatorname{null}T_A\big) rank ( A B ) = rank B − dim ( range T B ∩ null T A )
第二次,把 A A A 限制在更小的 range T B C \operatorname{range}T_{BC} range T B C 上,同样的推理给出
rank ( A B C ) = rank ( B C ) − dim ( range T B C ∩ null T A ) \operatorname{rank}(ABC)=\operatorname{rank}(BC)-\dim\big(\operatorname{range}T_{BC}\cap\operatorname{null}T_A\big) rank ( A B C ) = rank ( B C ) − dim ( range T B C ∩ null T A )
因为 B C x = B ( C x ) BCx=B(Cx) B C x = B ( C x ) ,有 range T B C ⊆ range T B \operatorname{range}T_{BC}\subseteq\operatorname{range}T_B range T B C ⊆ range T B ,所以
range T B C ∩ null T A ⊆ range T B ∩ null T A \operatorname{range}T_{BC}\cap\operatorname{null}T_A\ \subseteq\ \operatorname{range}T_B\cap\operatorname{null}T_A range T B C ∩ null T A ⊆ range T B ∩ null T A
取维数,把第一式的等价形式 dim ( range T B ∩ null T A ) = rank B − rank ( A B ) \dim(\operatorname{range}T_B\cap\operatorname{null}T_A)=\operatorname{rank}B-\operatorname{rank}(AB) dim ( range T B ∩ null T A ) = rank B − rank ( A B ) 代入第二式:
rank ( A B C ) = rank ( B C ) − dim ( range T B C ∩ null T A ) ≥ rank ( B C ) − dim ( range T B ∩ null T A ) = rank ( B C ) − ( rank B − rank ( A B ) ) \begin{aligned}\operatorname{rank}(ABC)&=\operatorname{rank}(BC)-\dim\big(\operatorname{range}T_{BC}\cap\operatorname{null}T_A\big)\\&\ge\operatorname{rank}(BC)-\dim\big(\operatorname{range}T_B\cap\operatorname{null}T_A\big)\\&=\operatorname{rank}(BC)-\big(\operatorname{rank}B-\operatorname{rank}(AB)\big)\end{aligned} rank ( A B C ) = rank ( B C ) − dim ( range T B C ∩ null T A ) ≥ rank ( B C ) − dim ( range T B ∩ null T A ) = rank ( B C ) − ( rank B − rank ( A B ) )
移项即得所求。■ \blacksquare ■
rank ( A B ) ≤ min { rank A , rank B } \operatorname{rank}(AB)\le\min\{\operatorname{rank}A,\operatorname{rank}B\} rank ( A B ) ≤ min { rank A , rank B } 管上界,最常用; Sylvester 管「中间空间维数不够时乘积必降秩」; Frobenius 管「两端各乘一次,中间的 B B B 仍要收税」。 取 B = I n B=I_n B = I n ,Frobenius 化为 rank ( A C ) ≥ rank A + rank C − n \operatorname{rank}(AC)\ge\operatorname{rank}A+\operatorname{rank}C-n rank ( A C ) ≥ rank A + rank C − n ,正是 Sylvester——前者是后者的推广 。
3.12 什么时候取等 #
上面几条不等式的取等条件都能从证明里直接读出,不必另背。
不等式
取等条件
rank ( A + B ) ≤ rank A + rank B \operatorname{rank}(A+B)\le\operatorname{rank}A+\operatorname{rank}B rank ( A + B ) ≤ rank A + rank B
range T A + B = range T A ⊕ range T B \operatorname{range}T_{A+B}=\operatorname{range}T_A\oplus\operatorname{range}T_B range T A + B = range T A ⊕ range T B (仅交集为零不够,见 3.9)
Sylvester
null T A ⊆ range T B \operatorname{null}T_A\subseteq\operatorname{range}T_B null T A ⊆ range T B
乘法还有两条精确等式 (不是不等式),值得单独立一条:
单射因子可以约掉,满射因子可以去掉。 若 A A A 单射(列满秩),则 rank ( A B ) = rank B \operatorname{rank}(AB)=\operatorname{rank}B rank ( A B ) = rank B ;若 B B B 满射,则 rank ( A B ) = rank A \operatorname{rank}(AB)=\operatorname{rank}A rank ( A B ) = rank A 。特别地,A A A 可逆时两条都成立。
证明只有一行:A A A 单射时 null T A = { 0 } \operatorname{null}T_A=\{0\} null T A = { 0 } ,而 null T A B = null T B \operatorname{null}T_{AB}=\operatorname{null}T_B null T A B = null T B (B x = 0 ⟺ A ( B x ) = 0 Bx=0\iff A(Bx)=0 B x = 0 ⟺ A ( B x ) = 0 ,因为 A A A 把非零向量送到非零向量),两边套「列数 = 秩 + 零化度」。另一半对称:B B B 满射时 range T A B = A ( range T B ) = A ( F n , 1 ) = range T A \operatorname{range}T_{AB}=A(\operatorname{range}T_B)=A(\mathbb{F}^{n,1})=\operatorname{range}T_A range T A B = A ( range T B ) = A ( F n , 1 ) = range T A 。
Sylvester 的取等条件更值得咀嚼:它说的不是「秩够大」,而是「A A A 杀掉的那些方向,B B B 全能造出来 」。只有这时,B B B 的值域才会被 A A A 整整砍掉 dim null T A \dim\operatorname{null}T_A dim null T A 那么多,下界才真的顶到。
3.13 用秩不等式做两件事 #
(1)判断 A X = B AX=B A X = B 何时有解。 把 B B B 拼到 A A A 右边,记 [ A B ] [A\ B] [ A B ] 。判据是(A1 讲给过同一条):
A X = B 有解 ⟺ rank A = rank [ A B ] AX=B\ \text{有解}\iff\operatorname{rank}A=\operatorname{rank}[A\ B] A X = B 有解 ⟺ rank A = rank [ A B ]
秩不等式解释了这判据为什么顺。[ A B ] [A\ B] [ A B ] 只比 A A A 多了 B B B 的若干列,而每加一列秩至多加一,故
rank A ≤ rank [ A B ] ≤ rank A + rank B \operatorname{rank}A\le\operatorname{rank}[A\ B]\le\operatorname{rank}A+\operatorname{rank}B rank A ≤ rank [ A B ] ≤ rank A + rank B
左边那个 ≤ \le ≤ 永远不会反向:A A A 是 [ A B ] [A\ B] [ A B ] 的子矩阵,值域是子空间。于是两个秩只有两种命运:相等,说明新加的列没带来新方向,全落在 A A A 的值域里,有解;变大,说明 B B B 有一列逃出了 A A A 的值域,无解。「无解」的量化含义就是「秩被抬高了」。
(2)判断 rank ( A k ) \operatorname{rank}(A^k) rank ( A k ) 何时稳定。 由 3.9(2),
rank A ≥ rank ( A 2 ) ≥ ⋯ ≥ rank ( A k ) ≥ ⋯ ≥ 0 \operatorname{rank}A\ge\operatorname{rank}(A^2)\ge\cdots\ge\operatorname{rank}(A^k)\ge\cdots\ge0 rank A ≥ rank ( A 2 ) ≥ ⋯ ≥ rank ( A k ) ≥ ⋯ ≥ 0
这是单调不增的非负整数序列,至多 n n n 步就停住。但「停一步」是不是「永远停」?是,理由只在零空间上。
设 rank ( A k + 1 ) = rank ( A k ) \operatorname{rank}(A^{k+1})=\operatorname{rank}(A^k) rank ( A k + 1 ) = rank ( A k ) 。由「列数 = 秩 + 零化度」,这等价于 dim null T A k + 1 = dim null T A k \dim\operatorname{null}T_{A^{k+1}}=\dim\operatorname{null}T_{A^k} dim null T A k + 1 = dim null T A k ;而 null T A k ⊆ null T A k + 1 \operatorname{null}T_{A^k}\subseteq\operatorname{null}T_{A^{k+1}} null T A k ⊆ null T A k + 1 自动成立(A k x = 0 ⇒ A k + 1 x = 0 A^kx=0\Rightarrow A^{k+1}x=0 A k x = 0 ⇒ A k + 1 x = 0 ),故两个零空间相等 。
现在取 x ∈ null T A k + 2 x\in\operatorname{null}T_{A^{k+2}} x ∈ null T A k + 2 ,即 A k + 1 ( A x ) = 0 A^{k+1}(Ax)=0 A k + 1 ( A x ) = 0 。这说明 A x ∈ null T A k + 1 = null T A k Ax\in\operatorname{null}T_{A^{k+1}}=\operatorname{null}T_{A^k} A x ∈ null T A k + 1 = null T A k ,即 A k + 1 x = 0 A^{k+1}x=0 A k + 1 x = 0 ,也就是 x ∈ null T A k + 1 x\in\operatorname{null}T_{A^{k+1}} x ∈ null T A k + 1 。于是 null T A k + 2 ⊆ null T A k + 1 \operatorname{null}T_{A^{k+2}}\subseteq\operatorname{null}T_{A^{k+1}} null T A k + 2 ⊆ null T A k + 1 ,反向包含自动,两者相等,rank ( A k + 2 ) = rank ( A k + 1 ) \operatorname{rank}(A^{k+2})=\operatorname{rank}(A^{k+1}) rank ( A k + 2 ) = rank ( A k + 1 ) 。归纳下去:一旦相等,后面全相等。
「A k A^k A k 的秩从第几步起不变」在第 33 讲讨论 Jordan 形时是核心数据:对每个特征值 λ \lambda λ ,rank ( A − λ I ) k \operatorname{rank}(A-\lambda I)^k rank ( A − λ I ) k 稳定的步数就是最大 Jordan 块的尺寸。
3.14 一个自己验算的完整例子 #
取
A = ( 1 0 1 0 1 1 ) , B = ( 1 1 1 0 0 1 ) , C = ( 1 0 0 0 ) A=\begin{pmatrix}1&0&1\\0&1&1\end{pmatrix},\qquad B=\begin{pmatrix}1&1\\1&0\\0&1\end{pmatrix},\qquad C=\begin{pmatrix}1&0\\0&0\end{pmatrix} A = ( 1 0 0 1 1 1 ) , B = 1 1 0 1 0 1 , C = ( 1 0 0 0 )
先算三个秩。A A A 的两行不成比例,秩 2 2 2 ;B B B 的两列 ( 1 , 1 , 0 ) (1,1,0) ( 1 , 1 , 0 ) 与 ( 1 , 0 , 1 ) (1,0,1) ( 1 , 0 , 1 ) 不成比例,秩 2 2 2 ;C C C 是「只保第一个坐标」的投影,秩 1 1 1 。
再算乘积(按读法一逐格算):
A B = ( 1 2 1 1 ) , B C = ( 1 0 1 0 0 0 ) , A B C = ( 1 0 1 0 ) AB=\begin{pmatrix}1&2\\1&1\end{pmatrix},\qquad BC=\begin{pmatrix}1&0\\1&0\\0&0\end{pmatrix},\qquad ABC=\begin{pmatrix}1&0\\1&0\end{pmatrix} A B = ( 1 1 2 1 ) , B C = 1 1 0 0 0 0 , A B C = ( 1 1 0 0 )
核两处:A B AB A B 第 1 行取 A A A 第 1 行 ( 1 , 0 , 1 ) (1,0,1) ( 1 , 0 , 1 ) ,与 B B B 第 1 列 ( 1 , 1 , 0 ) (1,1,0) ( 1 , 1 , 0 ) 作内积得 1 ⋅ 1 + 0 ⋅ 1 + 1 ⋅ 0 = 1 1\cdot1+0\cdot1+1\cdot0=1 1 ⋅ 1 + 0 ⋅ 1 + 1 ⋅ 0 = 1 ,与 B B B 第 2 列 ( 1 , 0 , 1 ) (1,0,1) ( 1 , 0 , 1 ) 得 1 ⋅ 1 + 0 ⋅ 0 + 1 ⋅ 1 = 2 1\cdot1+0\cdot0+1\cdot1=2 1 ⋅ 1 + 0 ⋅ 0 + 1 ⋅ 1 = 2 ;第 2 行 ( 0 , 1 , 1 ) (0,1,1) ( 0 , 1 , 1 ) 同样给出 ( 1 , 1 ) (1,1) ( 1 , 1 ) 。det ( A B ) = 1 ⋅ 1 − 2 ⋅ 1 = − 1 ≠ 0 \det(AB)=1\cdot1-2\cdot1=-1\neq0 det ( A B ) = 1 ⋅ 1 − 2 ⋅ 1 = − 1 = 0 ,秩 2 2 2 。B C BC B C 只有第一列非零,秩 1 1 1 。A B C = ( A B ) C ABC=(AB)C A B C = ( A B ) C ,而 C C C 只保第一列,所以 A B C ABC A B C 就是 A B AB A B 的第 1 列,秩 1 1 1 。
查不等式:
不等式
左边
右边
判定
rank ( A B ) ≤ min { rank A , rank B } \operatorname{rank}(AB)\le\min\{\operatorname{rank}A,\operatorname{rank}B\} rank ( A B ) ≤ min { rank A , rank B }
2 2 2
min { 2 , 2 } = 2 \min\{2,2\}=2 min { 2 , 2 } = 2
取等
Sylvester:rank ( A B ) ≥ rank A + rank B − 3 \operatorname{rank}(AB)\ge\operatorname{rank}A+\operatorname{rank}B-3 rank ( A B ) ≥ rank A + rank B − 3
2 2 2
2 + 2 − 3 = 1 2+2-3=1 2 + 2 − 3 = 1
严格
Frobenius:rank ( A B C ) ≥ rank ( A B ) + rank ( B C ) − rank B \operatorname{rank}(ABC)\ge\operatorname{rank}(AB)+\operatorname{rank}(BC)-\operatorname{rank}B rank ( A B C ) ≥ rank ( A B ) + rank ( B C ) − rank B
1 1 1
2 + 1 − 2 = 1 2+1-2=1 2 + 1 − 2 = 1
取等
Sylvester 为什么严格?按 3.12 的判据,只需看 null T A \operatorname{null}T_A null T A 是否落在 range T B \operatorname{range}T_B range T B 里。这里 A A A 是 2 × 3 2\times3 2 × 3 ,null T A \operatorname{null}T_A null T A 是一维的,由 x 1 + x 3 = 0 x_1+x_3=0 x 1 + x 3 = 0 、x 2 + x 3 = 0 x_2+x_3=0 x 2 + x 3 = 0 解出,基是 ( 1 , 1 , − 1 ) (1,1,-1) ( 1 , 1 , − 1 ) 。若它在 range T B \operatorname{range}T_B range T B 里,就存在 a , b a,b a , b 使
a ( 1 1 0 ) + b ( 1 0 1 ) = ( 1 1 − 1 ) a\begin{pmatrix}1\\1\\0\end{pmatrix}+b\begin{pmatrix}1\\0\\1\end{pmatrix}=\begin{pmatrix}1\\1\\-1\end{pmatrix} a 1 1 0 + b 1 0 1 = 1 1 − 1
第三个坐标强迫 b = − 1 b=-1 b = − 1 ,第二个坐标强迫 a = 1 a=1 a = 1 ,但第一个坐标要求 a + b = 1 a+b=1 a + b = 1 ,而 1 + ( − 1 ) = 0 ≠ 1 1+(-1)=0\neq1 1 + ( − 1 ) = 0 = 1 ,矛盾。故 null T A ⊈ range T B \operatorname{null}T_A\not\subseteq\operatorname{range}T_B null T A ⊆ range T B ,Sylvester 严格——判据对上了。
最后补两次核对,把「上界可以很松」与「单射可约」也验掉:
取 N = ( 0 1 0 0 ) N=\begin{pmatrix}0&1\\0&0\end{pmatrix} N = ( 0 0 1 0 ) ,rank N = 1 \operatorname{rank}N=1 rank N = 1 ,N 2 = 0 N^2=0 N 2 = 0 ,rank ( N 2 ) = 0 < 1 = min { 1 , 1 } \operatorname{rank}(N^2)=0<1=\min\{1,1\} rank ( N 2 ) = 0 < 1 = min { 1 , 1 } 。3.9(2) 的上界确实可以取不到。
取 L = ( 1 0 1 1 0 1 ) L=\begin{pmatrix}1&0\\1&1\\0&1\end{pmatrix} L = 1 1 0 0 1 1 (3 × 2 3\times2 3 × 2 ,秩 2 2 2 等于列数 ,故单射)。L C = ( 1 0 1 0 0 0 ) LC=\begin{pmatrix}1&0\\1&0\\0&0\end{pmatrix} L C = 1 1 0 0 0 0 ,秩 1 = rank C 1=\operatorname{rank}C 1 = rank C ,3.12 的「单射因子可约掉」成立。
四、几何直观 / 记忆钩子 #
钩子 1:列是「基向量的像」 #
M ( T ) 的第 k 列 = T v k 的坐标 \mathcal{M}(T)\ \text{的第}\ k\ \text{列}=Tv_k\ \text{的坐标} M ( T ) 的第 k 列 = T v k 的坐标
于是「设计」一个矩阵就是「设计基向量的像」,「读懂」一个矩阵就是「读懂每一列把哪个基向量送到了哪里」。标准基下这句话最直白:A A A 的第 k k k 列 = = = A A A 作用在第 k k k 个标准基向量上的结果 。
钩子 2:乘法从右往左做,映射也从右往左读 #
M ( S T ) = M ( S ) M ( T ) \mathcal{M}(ST)=\mathcal{M}(S)\mathcal{M}(T) M ( S T ) = M ( S ) M ( T )
读法:等号右边先出现的 M ( S ) \mathcal{M}(S) M ( S ) 管最后做的事 。因为 S T ST S T 的意思是「先 T T T 后 S S S 」,而这个「先」对应乘积里靠右的那一个。
两边其实是同一套约定:复合与乘法都是从右往左作用 。 只要坚持「离输入近的写右边」,等式两边就永远一致,不会颠倒。
钩子 3:尺寸链条 #
( m × n ) ⋅ ( n × p ) = ( m × p ) (m\times n)\cdot(n\times p)=(m\times p) ( m × n ) ⋅ ( n × p ) = ( m × p )
中间的 n n n 必须一致且会被吃掉;剩下的两头留下——左边提供行数,右边提供列数。
钩子 4:A b Ab A b 就是「拿 b b b 里的数当配方,把 A A A 的列调出来混合」 #
A b = b 1 A ⋅ , 1 + ⋯ + b n A ⋅ , n Ab=b_1A_{\cdot,1}+\cdots+b_nA_{\cdot,n} A b = b 1 A ⋅ , 1 + ⋯ + b n A ⋅ , n
所有「矩阵乘向量」的题都通用。它也是后面讨论「方程组 A x = b Ax=b A x = b 有没有解」的出发点:有解,就是说 b b b 能写成 A A A 各列的组合。
钩子 5:单位矩阵 = 「什么都不做」 #
在 F n \mathbb{F}^n F n 上取标准基,把每个向量映到自己的映射(恒等映射)的矩阵是
I n = ( 1 0 ⋱ 0 1 ) I_n=\begin{pmatrix}1&&0\\&\ddots&\\0&&1\end{pmatrix} I n = 1 0 ⋱ 0 1
对角线全是 1 1 1 。只要大小配得上,就有 I m A = A I_mA=A I m A = A 与 A I n = A AI_n=A A I n = A :恒等映射复合谁都不改变谁。能把自己「取消掉」的矩阵(可逆矩阵)就是从这里长出来的,那是 10 讲的主题。
五、常见误区 #
背下来只能应付标准基下的计算题。题目一换基(或出现非标准基),不知道「列是什么」就摆不对矩阵。先记住 M ( T ) \mathcal{M}(T) M ( T ) 的定义,再记行乘列的算法 :前者能推出后者,反之不能。
正确写法:M ( S T ) = M ( S ) M ( T ) \mathcal{M}(ST)=\mathcal{M}(S)\mathcal{M}(T) M ( S T ) = M ( S ) M ( T ) 。 常见错法:写成 M ( T ) M ( S ) \mathcal{M}(T)\mathcal{M}(S) M ( T ) M ( S ) ,或把 B A BA B A 当 A B AB A B 。 自检两条:① S T ST S T 表示「先 T T T 后 S S S 」,所以 T T T 的矩阵写在右边; ② 数一遍行列,m × n m\times n m × n 与 n × p n\times p n × p 的顺序错了,多数情况当场就乘不起来。
误区 3:以为 A B = 0 AB=0 A B = 0 能推出 A = 0 A=0 A = 0 或 B = 0 B=0 B = 0 数有「乘积为零必有一因子为零」,矩阵没有这条 。反例:
A = ( 1 0 1 0 ) , B = ( 0 0 0 1 ) , A B = ( 0 0 0 0 ) A=\begin{pmatrix}1&0\\1&0\end{pmatrix},\qquad B=\begin{pmatrix}0&0\\0&1\end{pmatrix},\qquad AB=\begin{pmatrix}0&0\\0&0\end{pmatrix} A = ( 1 1 0 0 ) , B = ( 0 0 0 1 ) , A B = ( 0 0 0 0 )
A ≠ 0 A\neq0 A = 0 、B ≠ 0 B\neq0 B = 0 ,乘积却是零矩阵。根源还是映射:先投影到 x x x 轴、再投影到 y y y 轴,两步都是非零映射,合起来把一切都压成 0 0 0 。 推论:矩阵没有消去律 ,看到 A B = A C AB=AC A B = A C 不能约掉 A A A 。
( A B ) j , k (AB)_{j,k} ( A B ) j , k 不是 A j , k B j , k A_{j,k}B_{j,k} A j , k B j , k 。拿 3.4 的例子一眼否掉: 结果的第 1 行第 1 列是 10 10 10 ,而「对应元素相乘」会给出 1 ⋅ 6 = 6 1\cdot 6=6 1 ⋅ 6 = 6 。逐元素相乘记录不了复合映射 ,这正是它被弃用的原因。
误区 5:以为 M ( T ) \mathcal{M}(T) M ( T ) 只由 T T T 决定 它由三样东西共同决定:T T T 、V V V 的基、W W W 的基。换基,同一个 T T T 的矩阵就变。 例如恒等映射 I : F 2 → F 2 I:\mathbb{F}^2\to\mathbb{F}^2 I : F 2 → F 2 ,若定义域取基 v 1 = ( 1 , 1 ) v_1=(1,1) v 1 = ( 1 , 1 ) 、v 2 = ( 1 , − 1 ) v_2=(1,-1) v 2 = ( 1 , − 1 ) ,到达空间取标准基 e 1 , e 2 e_1,e_2 e 1 , e 2 ,则
I v 1 = ( 1 , 1 ) = 1 e 1 + 1 e 2 , I v 2 = ( 1 , − 1 ) = 1 e 1 − 1 e 2 Iv_1=(1,1)=1e_1+1e_2,\qquad Iv_2=(1,-1)=1e_1-1e_2 I v 1 = ( 1 , 1 ) = 1 e 1 + 1 e 2 , I v 2 = ( 1 , − 1 ) = 1 e 1 − 1 e 2
于是 M ( I ) = ( 1 1 1 − 1 ) \mathcal{M}(I)=\begin{pmatrix}1&1\\1&-1\end{pmatrix} M ( I ) = ( 1 1 1 − 1 ) ;而两组基都取标准基时,M ( I ) = I 2 \mathcal{M}(I)=I_2 M ( I ) = I 2 。同一个映射,两个完全不同的矩阵。 所以:矩阵不是映射本身,而是「映射 + + + 两组基」的坐标记录。
m × n m\times n m × n 与 n × m n\times m n × m 是两个不同的集合,A + B A+B A + B 只在大小相同 时才有定义。 而 A B AB A B 与 B A BA B A 即使都有定义,也通常大小不同 (一个 m × m m\times m m × m 、一个 n × n n\times n n × n ),比较之前先看大小。 只有当 A , B A,B A , B 同为 n n n 阶方阵时,A B AB A B 与 B A BA B A 才都落在 F n , n \mathbb{F}^{n,n} F n , n 里,谈相不相等才有意义。
误区 7:把 1 × 1 1\times 1 1 × 1 矩阵与数完全等同 在「行乘列」的语境里把 ( 26 ) \begin{pmatrix}26\end{pmatrix} ( 26 ) 写成 26 26 26 很方便,这是通行约定。 但它是省略 ,不是恒等式:1 × 1 1\times 1 1 × 1 矩阵仍有它的矩阵身份。 平时按约定省,讨论「大小」「能不能乘」时记得写回来。
六、拓展(可跳过) #
6.1 转置:行列互换 #
把矩阵的行与列互换,得到转置 :若 A A A 是 m × n m\times n m × n ,则 A T A^{\mathsf{T}} A T 是 n × m n\times m n × m ,元素满足
( A T ) k , j = A j , k \big(A^{\mathsf{T}}\big)_{k,j}=A_{j,k} ( A T ) k , j = A j , k
它有两条与加法、标量乘法相容的性质,以及一条最容易记错的:
( A + B ) T = A T + B T , ( λ A ) T = λ A T , ( A C ) T = C T A T (A+B)^{\mathsf{T}}=A^{\mathsf{T}}+B^{\mathsf{T}},\qquad (\lambda A)^{\mathsf{T}}=\lambda A^{\mathsf{T}},\qquad (AC)^{\mathsf{T}}=C^{\mathsf{T}}A^{\mathsf{T}} ( A + B ) T = A T + B T , ( λ A ) T = λ A T , ( A C ) T = C T A T
注意最后一条也「倒了个序」。原因仍是复合:转置把「行乘列」换成了「列乘行」,方向要对调才等得上。
6.2 分块 #
矩阵可以切成几块,乘法按块进行,规则与普通乘法一致(只要各块大小配套)。这既是手算大矩阵的省力办法,也是后面证明行列分解之类结论时的标准工具。
6.3 算一次要花多少力气 #
A A A 是 m × n m\times n m × n 、B B B 是 n × p n\times p n × p 。结果有 m p mp m p 个元素,每个元素要 n n n 次乘法与 n − 1 n-1 n − 1 次加法,所以朴素算法需要 m n p mnp mn p 次乘法、m p ( n − 1 ) mp(n-1) m p ( n − 1 ) 次加法。
这个数字解释了工程上为何如此在意矩阵乘法的实现:把大矩阵分块、利用缓存、交给专用硬件(BLAS、GPU),争的就是这个 m n p mnp mn p 。
6.4 关于秩的三点补注 #
3.8–3.14 已经把秩的不等式讲完了,这里补三个它没提的旁注,都可跳过。
(1)Frobenius 的另一条证法。 若 B = B 1 B 2 B=B_1B_2 B = B 1 B 2 ,其中 B 1 B_1 B 1 列满秩、B 2 B_2 B 2 行满秩(秩分解,见 12 讲),则
A B C = ( A B 1 ) ( B 2 C ) , ABC=(AB_1)(B_2C), A B C = ( A B 1 ) ( B 2 C ) ,
而 B 1 B_1 B 1 列满秩保证 rank ( A B 1 ) = rank ( A B ) \operatorname{rank}(AB_1)=\operatorname{rank}(AB) rank ( A B 1 ) = rank ( A B ) 、B 2 B_2 B 2 行满秩保证 rank ( B 2 C ) = rank ( B C ) \operatorname{rank}(B_2C)=\operatorname{rank}(BC) rank ( B 2 C ) = rank ( B C ) 。对这一对 矩阵 ( A B 1 ) (AB_1) ( A B 1 ) 与 ( B 2 C ) (B_2C) ( B 2 C ) 用一次 Sylvester(内维恰为 r = rank B r=\operatorname{rank}B r = rank B ):
rank ( A B C ) ≥ rank ( A B 1 ) + rank ( B 2 C ) − r = rank ( A B ) + rank ( B C ) − rank B . \operatorname{rank}(ABC)\ \ge\ \operatorname{rank}(AB_1)+\operatorname{rank}(B_2C)-r=\operatorname{rank}(AB)+\operatorname{rank}(BC)-\operatorname{rank}B . rank ( A B C ) ≥ rank ( A B 1 ) + rank ( B 2 C ) − r = rank ( A B ) + rank ( B C ) − rank B .
不要写成「对 A , B 1 A,B_1 A , B 1 用一次、对 B 2 , C B_2,C B 2 , C 用一次,两个结果拼起来」—— 那两次用的内维分别是 n n n 与 p p p ,得到的只是 rank ( A B ) \operatorname{rank}(AB) rank ( A B ) 与 rank ( B C ) \operatorname{rank}(BC) rank ( B C ) 各自的下界,合起来推不出 rank ( A B C ) \operatorname{rank}(ABC) rank ( A B C ) 的任何界 。 正确的做法是把乘积重新结合 成两项,再对这两项用一次。
(2)稳定秩的谱解释。 3.13 证明了 rank ( A k ) \operatorname{rank}(A^k) rank ( A k ) 一旦相等就永远相等,但没说那个稳定值等于几。答案在 31 讲与 33 讲:它等于 A A A 的可对角化部分 的秩,即非零特征值对应的广义特征空间维数之和。幂零部分对稳定值的贡献是零——它迟早把自己抹干净。
(3)别名与另一副坐标。 「rank A = rank [ A ∣ B ] \operatorname{rank}A=\operatorname{rank}[A\mid B] rank A = rank [ A ∣ B ] 则有解」这条,在方程组语境里叫 Kronecker–Capelli 定理 ;写成 rank A = rank ( A ∣ b ) \operatorname{rank}A=\operatorname{rank}(A\mid b) rank A = rank ( A ∣ b ) 就是 A1 讲那条判据。另外,秩也等于非零奇异值的个数 (见 29 讲)——那是同一条维数公式在另一副坐标下的读数。
七、自测(先做,再看答案) #
1. 设 T ∈ L ( F 2 , F 3 ) T\in\mathcal{L}(\mathbb{F}^2,\mathbb{F}^3) T ∈ L ( F 2 , F 3 ) 满足 T ( x , y ) = ( 2 x − y , x + 4 y , 3 x ) T(x,y)=(2x-y,\ x+4y,\ 3x) T ( x , y ) = ( 2 x − y , x + 4 y , 3 x ) 。写出 T T T 关于标准基的矩阵,并用「列的线性组合」求出 T ( 3 , − 1 ) T(3,-1) T ( 3 , − 1 ) 。
2. 设 A = ( 1 2 3 4 ) A=\begin{pmatrix}1&2\\3&4\end{pmatrix} A = ( 1 3 2 4 ) 、B = ( 0 1 1 0 ) B=\begin{pmatrix}0&1\\1&0\end{pmatrix} B = ( 0 1 1 0 ) 。求 A B AB A B 与 B A BA B A ,说明它们是否相等,并给出「为什么会这样」的一句话理由。
3. 给出两个非零的 2 × 2 2\times 2 2 × 2 矩阵 A , B A,B A , B 使 A B = 0 AB=0 A B = 0 。这说明矩阵缺少了什么性质?
4. 用「矩阵记录映射复合」这一条证明结合律 ( A B ) C = A ( B C ) (AB)C=A(BC) ( A B ) C = A ( B C ) ——不要逐元素展开,说清每一步用的是什么。
5. 设 I : F 2 → F 2 I:\mathbb{F}^2\to\mathbb{F}^2 I : F 2 → F 2 是恒等映射。定义域取基 v 1 = ( 1 , 1 ) v_1=(1,1) v 1 = ( 1 , 1 ) 、v 2 = ( 1 , − 1 ) v_2=(1,-1) v 2 = ( 1 , − 1 ) ,到达空间取标准基 e 1 , e 2 e_1,e_2 e 1 , e 2 ,求 M ( I ) \mathcal{M}(I) M ( I ) ;再把到达空间的基也换成 v 1 , v 2 v_1,v_2 v 1 , v 2 (定义域基不变),重求一次,并说明两次结果不同说明了什么。
6. 设 A A A 是 3 × 5 3\times5 3 × 5 、B B B 是 5 × 3 5\times3 5 × 3 ,且 A B = I 3 AB=I_3 A B = I 3 。求 rank B \operatorname{rank}B rank B ,并说明为什么 B A ≠ I 5 BA\neq I_5 B A = I 5 。(提示:乘法不等式的上界用两次,注意 B A BA B A 是几阶方阵。)
7. 设 A = ( 1 2 2 4 ) A=\begin{pmatrix}1&2\\2&4\end{pmatrix} A = ( 1 2 2 4 ) 、B = ( 2 − 2 − 1 1 ) B=\begin{pmatrix}2&-2\\-1&1\end{pmatrix} B = ( 2 − 1 − 2 1 ) 。算 rank A \operatorname{rank}A rank A 、rank B \operatorname{rank}B rank B 、rank ( A + B ) \operatorname{rank}(A+B) rank ( A + B ) ,并判断加法不等式的取等条件是否满足。
答案(点开) 1. T ( 1 , 0 ) = ( 2 , 1 , 3 ) T(1,0)=(2,1,3) T ( 1 , 0 ) = ( 2 , 1 , 3 ) 、T ( 0 , 1 ) = ( − 1 , 4 , 0 ) T(0,1)=(-1,4,0) T ( 0 , 1 ) = ( − 1 , 4 , 0 ) ,所以
M ( T ) = ( 2 − 1 1 4 3 0 ) \mathcal{M}(T)=\begin{pmatrix}2&-1\\1&4\\3&0\end{pmatrix} M ( T ) = 2 1 3 − 1 4 0
又 ( 3 , − 1 ) = 3 ( 1 , 0 ) + ( − 1 ) ( 0 , 1 ) (3,-1)=3(1,0)+(-1)(0,1) ( 3 , − 1 ) = 3 ( 1 , 0 ) + ( − 1 ) ( 0 , 1 ) ,故 T ( 3 , − 1 ) = 3 ( 2 , 1 , 3 ) − ( − 1 , 4 , 0 ) = ( 6 , 3 , 9 ) − ( − 1 , 4 , 0 ) = ( 7 , − 1 , 9 ) T(3,-1)=3(2,1,3)-(-1,4,0)=(6,3,9)-(-1,4,0)=(7,-1,9) T ( 3 , − 1 ) = 3 ( 2 , 1 , 3 ) − ( − 1 , 4 , 0 ) = ( 6 , 3 , 9 ) − ( − 1 , 4 , 0 ) = ( 7 , − 1 , 9 ) 。 直接代原式核对:( 2 ⋅ 3 − ( − 1 ) , 3 + 4 ⋅ ( − 1 ) , 9 ) = ( 7 , − 1 , 9 ) (2\cdot3-(-1),\ 3+4\cdot(-1),\ 9)=(7,-1,9) ( 2 ⋅ 3 − ( − 1 ) , 3 + 4 ⋅ ( − 1 ) , 9 ) = ( 7 , − 1 , 9 ) ✓。
2. A B = ( 2 1 4 3 ) AB=\begin{pmatrix}2&1\\4&3\end{pmatrix} A B = ( 2 4 1 3 ) ,B A = ( 3 4 1 2 ) BA=\begin{pmatrix}3&4\\1&2\end{pmatrix} B A = ( 3 1 4 2 ) ,两者不等。 一句话理由:B B B 交换两个坐标、A A A 是另一个变换,复合映射不交换 ,所以两个乘积不相等。 (另外注意:这次 A B AB A B 与 B A BA B A 大小相同,才有「比较」这回事。)
3. 取 A = ( 1 0 1 0 ) A=\begin{pmatrix}1&0\\1&0\end{pmatrix} A = ( 1 1 0 0 ) 、B = ( 0 0 0 1 ) B=\begin{pmatrix}0&0\\0&1\end{pmatrix} B = ( 0 0 0 1 ) ,则 A B = ( 0 0 0 0 ) AB=\begin{pmatrix}0&0\\0&0\end{pmatrix} A B = ( 0 0 0 0 ) ,而 A , B A,B A , B 都不是零矩阵。 这说明矩阵没有「乘积为零必有一因子为零」这条性质 ,也就没有消去律。
4. 设 R : U → V R:U\to V R : U → V 、T : V → W T:V\to W T : V → W 、S : W → X S:W\to X S : W → X ,取相配的基,记 A = M ( S ) A=\mathcal{M}(S) A = M ( S ) 、B = M ( T ) B=\mathcal{M}(T) B = M ( T ) 、C = M ( R ) C=\mathcal{M}(R) C = M ( R ) 。 由「乘积矩阵记录复合映射」得 M ( S ) M ( T ) = M ( S T ) \mathcal{M}(S)\mathcal{M}(T)=\mathcal{M}(ST) M ( S ) M ( T ) = M ( S T ) 与 M ( T ) M ( R ) = M ( T R ) \mathcal{M}(T)\mathcal{M}(R)=\mathcal{M}(TR) M ( T ) M ( R ) = M ( T R ) 。于是
( A B ) C = M ( S T ) M ( R ) = M ( ( S T ) R ) , A ( B C ) = M ( S ) M ( T R ) = M ( S ( T R ) ) (AB)C=\mathcal{M}(ST)\mathcal{M}(R)=\mathcal{M}\big((ST)R\big),\qquad A(BC)=\mathcal{M}(S)\mathcal{M}(TR)=\mathcal{M}\big(S(TR)\big) ( A B ) C = M ( S T ) M ( R ) = M ( ( S T ) R ) , A ( B C ) = M ( S ) M ( T R ) = M ( S ( T R ) )
而对任意 u ∈ U u\in U u ∈ U ,( ( S T ) R ) u = S ( T ( R u ) ) = ( S ( T R ) ) u \big((ST)R\big)u=S\big(T(Ru)\big)=\big(S(TR)\big)u ( ( S T ) R ) u = S ( T ( R u ) ) = ( S ( T R ) ) u ,故两个映射相等,矩阵相等。 需要注意的只有大小:三段映射首尾相接,保证所有乘积都有定义。
5. 第一问:I v 1 = v 1 = 1 e 1 + 1 e 2 Iv_1=v_1=1e_1+1e_2 I v 1 = v 1 = 1 e 1 + 1 e 2 ,I v 2 = v 2 = 1 e 1 − 1 e 2 Iv_2=v_2=1e_1-1e_2 I v 2 = v 2 = 1 e 1 − 1 e 2 ,所以
M ( I ) = ( 1 1 1 − 1 ) \mathcal{M}(I)=\begin{pmatrix}1&1\\1&-1\end{pmatrix} M ( I ) = ( 1 1 1 − 1 )
第二问:I v 1 = 1 ⋅ v 1 + 0 ⋅ v 2 Iv_1=1\cdot v_1+0\cdot v_2 I v 1 = 1 ⋅ v 1 + 0 ⋅ v 2 ,I v 2 = 0 ⋅ v 1 + 1 ⋅ v 2 Iv_2=0\cdot v_1+1\cdot v_2 I v 2 = 0 ⋅ v 1 + 1 ⋅ v 2 ,所以 M ( I ) = ( 1 0 0 1 ) = I 2 \mathcal{M}(I)=\begin{pmatrix}1&0\\0&1\end{pmatrix}=I_2 M ( I ) = ( 1 0 0 1 ) = I 2 。 两次结果不同,说明矩阵依赖基的选取 :同一个映射在两组基下给出不同的矩阵。
6. 由 A B = I 3 AB=I_3 A B = I 3 与 rank ( A B ) ≤ min { rank A , rank B } \operatorname{rank}(AB)\le\min\{\operatorname{rank}A,\operatorname{rank}B\} rank ( A B ) ≤ min { rank A , rank B } 得 rank A ≥ 3 \operatorname{rank}A\ge3 rank A ≥ 3 、rank B ≥ 3 \operatorname{rank}B\ge3 rank B ≥ 3 ;而 A A A 只有 3 3 3 行、B B B 只有 3 3 3 列,故 rank A ≤ 3 \operatorname{rank}A\le3 rank A ≤ 3 、rank B ≤ 3 \operatorname{rank}B\le3 rank B ≤ 3 。于是两者都恰好等于 3 3 3 (都满秩)。 但 B A BA B A 是 5 5 5 阶方阵,而 rank ( B A ) ≤ min { rank B , rank A } = 3 < 5 \operatorname{rank}(BA)\le\min\{\operatorname{rank}B,\operatorname{rank}A\}=3<5 rank ( B A ) ≤ min { rank B , rank A } = 3 < 5 ,永不可逆,所以 B A ≠ I 5 BA\neq I_5 B A = I 5 。一句话 :A B = I AB=I A B = I 只保证 A A A 行满秩、B B B 列满秩,两个方向的「逆」在方阵阶数不同时根本不可能同时存在。
7. A A A 的两行成比例(第 2 行 = 2 × =2\times = 2 × 第 1 行),rank A = 1 \operatorname{rank}A=1 rank A = 1 ;B B B 的两列 ( 2 , − 1 ) (2,-1) ( 2 , − 1 ) 与 ( − 2 , 1 ) (-2,1) ( − 2 , 1 ) 互为相反数,rank B = 1 \operatorname{rank}B=1 rank B = 1 。而
A + B = ( 3 0 1 5 ) , det ( A + B ) = 15 ≠ 0 A+B=\begin{pmatrix}3&0\\1&5\end{pmatrix},\qquad \det(A+B)=15\neq0 A + B = ( 3 1 0 5 ) , det ( A + B ) = 15 = 0
所以 rank ( A + B ) = 2 = rank A + rank B \operatorname{rank}(A+B)=2=\operatorname{rank}A+\operatorname{rank}B rank ( A + B ) = 2 = rank A + rank B ,等号取到 。 按 3.9 的判据验一遍:range T A = span { ( 1 , 2 ) } \operatorname{range}T_A=\operatorname{span}\{(1,2)\} range T A = span {( 1 , 2 )} ,range T B = span { ( 2 , − 1 ) } \operatorname{range}T_B=\operatorname{span}\{(2,-1)\} range T B = span {( 2 , − 1 )} ,两者交集只有零,且和是整个 R 2 \mathbb{R}^2 R 2 (两个方向不共线),正是直和 range T A + B = range T A ⊕ range T B \operatorname{range}T_{A+B}=\operatorname{range}T_A\oplus\operatorname{range}T_B range T A + B = range T A ⊕ range T B 。 对照 3.9 那个「交集为零但不等号严格」的反例,可以看到交集为零只是必要条件,不是充分条件 。
八、复习卡 #
项
内容
矩阵
F \mathbb{F} F 中元素排成的 m m m 行 n n n 列矩形阵列
A j , k A_{j,k} A j , k
第 j j j 行第 k k k 列的元素;先下标记行
M ( T ) \mathcal{M}(T) M ( T ) 的定义
T v k = A 1 , k w 1 + ⋯ + A m , k w m Tv_k=A_{1,k}w_1+\cdots+A_{m,k}w_m T v k = A 1 , k w 1 + ⋯ + A m , k w m
第 k k k 列是什么
T v k Tv_k T v k 关于 W W W 的基的坐标
尺寸
T : V → W T:V\to W T : V → W ,dim V = n \dim V=n dim V = n 、dim W = m \dim W=m dim W = m ,则 M ( T ) \mathcal{M}(T) M ( T ) 是 m × n m\times n m × n
依赖三样东西
T T T 、V V V 的基、W W W 的基
矩阵加法
同大小逐元素相加;M ( S + T ) = M ( S ) + M ( T ) \mathcal{M}(S+T)=\mathcal{M}(S)+\mathcal{M}(T) M ( S + T ) = M ( S ) + M ( T )
标量乘法
每个元素乘 λ \lambda λ ;M ( λ T ) = λ M ( T ) \mathcal{M}(\lambda T)=\lambda\mathcal{M}(T) M ( λ T ) = λ M ( T )
F m , n \mathbb{F}^{m,n} F m , n
全部 m × n m\times n m × n 矩阵,构成向量空间,dim F m , n = m n \dim\mathbb{F}^{m,n}=mn dim F m , n = mn
零元
零矩阵(元素全为 0 0 0 )
矩阵乘法
( A B ) j , k = ∑ r = 1 n A j , r B r , k (AB)_{j,k}=\sum_{r=1}^{n}A_{j,r}B_{r,k} ( A B ) j , k = ∑ r = 1 n A j , r B r , k ;A A A 为 m × n m\times n m × n 、B B B 为 n × p n\times p n × p
使用条件
A A A 的列数 = = = B B B 的行数
为什么这样定义
唯一能让 M ( S T ) = M ( S ) M ( T ) \mathcal{M}(ST)=\mathcal{M}(S)\mathcal{M}(T) M ( S T ) = M ( S ) M ( T ) 成立的定义
读法一(行乘列)
( A B ) j , k = A j , ⋅ B ⋅ , k (AB)_{j,k}=A_{j,\cdot}B_{\cdot,k} ( A B ) j , k = A j , ⋅ B ⋅ , k
读法二(列)
( A B ) ⋅ , k = A B ⋅ , k (AB)_{\cdot,k}=AB_{\cdot,k} ( A B ) ⋅ , k = A B ⋅ , k
读法三(列组合)
A b = b 1 A ⋅ , 1 + ⋯ + b n A ⋅ , n Ab=b_1A_{\cdot,1}+\cdots+b_nA_{\cdot,n} A b = b 1 A ⋅ , 1 + ⋯ + b n A ⋅ , n
读法四(行组合)
A B AB A B 的第 j j j 行是 B B B 各行的组合,系数来自 A A A 的第 j j j 行
结合律
成立;原因是映射复合的结合律
交换律
不成立;原因是映射复合不交换
分配律
A ( B + C ) = A B + A C A(B+C)=AB+AC A ( B + C ) = A B + A C 、( D + E ) F = D F + E F (D+E)F=DF+EF ( D + E ) F = D F + E F
单位矩阵
I n I_n I n (对角线为 1 1 1 );I m A = A I_mA=A I m A = A 、A I n = A AI_n=A A I n = A
零因子
A B = 0 AB=0 A B = 0 推不出 A = 0 A=0 A = 0 或 B = 0 B=0 B = 0 ;无消去律
秩
rank A = dim range T A \operatorname{rank}A=\dim\operatorname{range}T_A rank A = dim range T A (= 列秩 = 行秩)
秩–零化度
列数 = rank A + dim null T A =\operatorname{rank}A+\dim\operatorname{null}T_A = rank A + dim null T A (08 讲基本定理的矩阵版)
秩的上界
rank A ≤ min { m , n } \operatorname{rank}A\le\min\{m,n\} rank A ≤ min { m , n } ;rank A = 0 ⟺ A = 0 \operatorname{rank}A=0\iff A=0 rank A = 0 ⟺ A = 0
加法
rank ( A + B ) ≤ rank A + rank B \operatorname{rank}(A+B)\le\operatorname{rank}A+\operatorname{rank}B rank ( A + B ) ≤ rank A + rank B
乘法(上界)
rank ( A B ) ≤ min { rank A , rank B } \operatorname{rank}(AB)\le\min\{\operatorname{rank}A,\operatorname{rank}B\} rank ( A B ) ≤ min { rank A , rank B }
Sylvester
rank ( A B ) ≥ rank A + rank B − n \operatorname{rank}(AB)\ge\operatorname{rank}A+\operatorname{rank}B-n rank ( A B ) ≥ rank A + rank B − n (A A A 的列数 = n =n = n )
Frobenius
rank ( A B C ) ≥ rank ( A B ) + rank ( B C ) − rank B \operatorname{rank}(ABC)\ge\operatorname{rank}(AB)+\operatorname{rank}(BC)-\operatorname{rank}B rank ( A B C ) ≥ rank ( A B ) + rank ( B C ) − rank B
零积
A B = 0 ⇒ rank A + rank B ≤ n AB=0\Rightarrow\operatorname{rank}A+\operatorname{rank}B\le n A B = 0 ⇒ rank A + rank B ≤ n
单射可约
A A A 列满秩 ⇒ rank ( A B ) = rank B \Rightarrow\operatorname{rank}(AB)=\operatorname{rank}B ⇒ rank ( A B ) = rank B ;B B B 行满秩 ⇒ rank ( A B ) = rank A \Rightarrow\operatorname{rank}(AB)=\operatorname{rank}A ⇒ rank ( A B ) = rank A
A X = B AX=B A X = B 有解
rank A = rank [ A B ] \operatorname{rank}A=\operatorname{rank}[A\ B] rank A = rank [ A B ] (Kronecker–Capelli)
A k A^k A k 的秩
单调不增;一旦 rank ( A k + 1 ) = rank ( A k ) \operatorname{rank}(A^{k+1})=\operatorname{rank}(A^k) rank ( A k + 1 ) = rank ( A k ) ,后面全相等
九、出处与延伸(可选,不影响阅读) #
本讲对应 :《线性代数应该这样学》(第四版,Sheldon Axler 著,吴俊达、何阳 译)第 3 章 3C 节「矩阵」,PDF 页码 p72–82。其中:定义 3.29(矩阵、A j , k A_{j,k} A j , k )、例 3.30、定义 3.31(线性映射的矩阵 M ( T ) \mathcal{M}(T) M ( T ) )、例 3.32(F 2 → F 3 \mathbb{F}^2\to\mathbb{F}^3 F 2 → F 3 )、例 3.33(微分映射)、定义 3.34(矩阵加法)、3.35(和的矩阵)、定义 3.36(矩阵的标量乘法)、例 3.37、3.38(标量积的矩阵)、记号 3.39(F m , n \mathbb{F}^{m,n} F m , n )、3.40(dim F m , n = m n \dim\mathbb{F}^{m,n}=mn dim F m , n = mn )、定义 3.41(矩阵乘法)、例 3.42、3.43(M ( S T ) = M ( S ) M ( T ) \mathcal{M}(ST)=\mathcal{M}(S)\mathcal{M}(T) M ( S T ) = M ( S ) M ( T ) )、记号 3.44(A j , ⋅ A_{j,\cdot} A j , ⋅ 、A ⋅ , k A_{\cdot,k} A ⋅ , k )、例 3.45、3.46(积的元素等于行乘以列)、3.48(积的列)、例 3.49、3.50(列的线性组合)、3.51(将矩阵乘法视为列或行的线性组合)。
同节后半、本讲未展开的内容 :3.52(列秩、行秩)、例 3.53、定义 3.54(转置 A t A^{t} A t )、例 3.55、3.56(行列分解)、3.57(列秩等于行秩)、定义 3.58(秩)。它们在原文里与本节相连,但在本课被排到后面的讲次(转置、秩、矩阵分解相关各讲)。
自测题对照 :第 1、5 题为本讲自编(第 5 题的换基对照用来检验「矩阵依赖基」这一条);第 2 题对应习题 10(举出 A B ≠ B A AB\neq BA A B = B A 的例子);第 3 题是常见的零因子反例,原文未列为习题;第 4 题对应习题 12(证明结合律,其注中引了 Emil Artin 关于「抛开矩阵可把证明缩短一半」的说法)。
同节习题里还值得自己做一遍的 :习题 3(验证 M ( S + T ) \mathcal{M}(S+T) M ( S + T ) 与 M ( λ T ) \mathcal{M}(\lambda T) M ( λ T ) )、习题 8–9(乘积的行版本与列版本,即本文读法四与读法三的行形式)、习题 13(A 3 A^3 A 3 的元素公式)、习题 14–15(转置的线性性与 ( A C ) t = C t A t (AC)^{t}=C^{t}A^{t} ( A C ) t = C t A t )、习题 16(秩为 1 1 1 的矩阵可写成 A j , k = c j d k A_{j,k}=c_jd_k A j , k = c j d k )、习题 17(T T T 是单射与 M ( T ) \mathcal{M}(T) M ( T ) 的列线性无关等价)。
3.8–3.14(秩的不等式)的出处 :这一块不属于 3C,主源是两本。**《行列式入门》**附录 C.41「线性方程组与秩」(印刷页码 p409–417 / PDF p425–433):秩的定义是「最大非零子式的阶」(定义 C.165,印刷 p413);定理 C.166「rank [ A , A C ] = rank A \operatorname{rank}[A,AC]=\operatorname{rank}A rank [ A , A C ] = rank A 」(印刷 p414);C.167「rank ( A ) = rank ( A T ) \operatorname{rank}(A)=\operatorname{rank}(A^{\mathsf T}) rank ( A ) = rank ( A T ) 」(印刷 p414);C.168「rank ( A C ) ≤ rank A \operatorname{rank}(AC)\le\operatorname{rank}A rank ( A C ) ≤ rank A 」(印刷 p414);C.169「rank ( A C ) ≤ rank A \operatorname{rank}(AC)\le\operatorname{rank}A rank ( A C ) ≤ rank A 且 ≤ rank C \le\operatorname{rank}C ≤ rank C 」(印刷 p415)——这正是 3.9(2) 的两半,原文第二个不等式的证法是转置加第一个不等式,本文改用了零空间路线。可逆因子保持秩(C.170,印刷 p415)。方程组有解判据在 C.188(印刷 p432)。
一处没有找到的(重要) :《行列式入门》里没有 Sylvester 秩不等式,也没有 Frobenius 秩不等式。全书出现的「Sylvester」都是指 Sylvester 阵与结式 (C.43 节,印刷 p455 起 / PDF p471 起),与秩的不等式无关——按关键词搜「Sylvester」会被这个词误导到那一节去。3.10、3.11 的表述参照 GTM135 中译《高等线性代数》 的习题:rank ( τ + σ ) ≤ rank τ + rank σ \operatorname{rank}(\tau+\sigma)\le\operatorname{rank}\tau+\operatorname{rank}\sigma rank ( τ + σ ) ≤ rank τ + rank σ 、rank ( σ τ ) ≤ min { rank τ , rank σ } \operatorname{rank}(\sigma\tau)\le\min\{\operatorname{rank}\tau,\operatorname{rank}\sigma\} rank ( σ τ ) ≤ min { rank τ , rank σ } 、可逆因子不改变秩,见该书第 2 章习题 2.9–2.13(印刷 p71–72,页码据 extract 页脚核实);秩加零化度定理见印刷 p53–54。Sylvester 与 Frobenius 本身是标准结论,本文的零空间证法按 08 讲的基本定理写全,未依赖某一种特定表述。
秩的定性结论(列秩 = 行秩) :见 12 讲 3.11,那里的证明用对偶映射走了一遍;本文 3.8 只引用结论不重复证明。行列式的路子在 37 讲。
一条易混的别名 :「秩加零化度定理」= rank–nullity theorem,08 讲叫「线性映射基本定理」,两者是同一条。Sylvester 秩不等式不要与「Sylvester 惯性律」(二次型,35 讲)混为一谈,后者是另一个 Sylvester。
术语别名 :「矩阵」= matrix;元素也常写作 a j k a_{jk} a j k 、A j k A_{jk} A j k ;M ( T ) \mathcal{M}(T) M ( T ) 在其他教材里常写作 [ T ] [T] [ T ] 、[ T ] B C [T]_{\mathcal{B}}^{\mathcal{C}} [ T ] B C (把两组基写进上标/下标);「矩阵乘法」= matrix multiplication;转置 = transpose(原文记号 A t A^{t} A t ,本课统一记 A T A^{\mathsf{T}} A T );线性映射也常叫「线性变换」。
一处记号差异 :多数教材都约定「矩阵的列对应定义域的基向量」,但上标/下标里哪一组基写在前面各家不同。读到别处的 [ T ] B C [T]_{\mathcal{B}}^{\mathcal{C}} [ T ] B C 时,先确认它把哪组基对应到列,再动手算。
计算量 :m × n m\times n m × n 与 n × p n\times p n × p 相乘,朴素算法需要 m n p mnp mn p 次乘法与 m p ( n − 1 ) mp(n-1) m p ( n − 1 ) 次加法。这是数值线性代数与硬件优化长期关注的运算。
计算视角的对照 :把矩阵当纯计算对象处理的入门读物(例如《行列式入门》里讲「阵」的部分),可以与本讲的映射视角互补:一个回答「手怎么动」,一个回答「它到底是什么、为什么要这样算」。
权威查证 :Bronstein《数学手册》俄文第 10 版(1962)与英文第 6 版(2015)均收录矩阵运算的相关条目,可检索 "matrix multiplication / Matrizenmultiplikation / умножение матриц" 复核定义与性质。
「矩阵」与「线性映射」在固定基下一一对应,但不是同一个东西 :同一个映射换一组基就换一个矩阵。 把这句话记住,下一讲讨论可逆与同构时会顺很多。
关于 Sylvester 与 Frobenius 两条不等式的出处(如实说明) 这两条在本地资料里没有成条出现 :《行列式入门》全书 21 处「Sylvester」命中全部落在 附录 C.43「Sylvester 阵与结式」(那是多项式结式,与秩无关,搜关键词容易误入); GTM135 中译的秩结论集中在第 2 章习题 2.9–2.13,也没有这两条的名字。 所以 3.10、3.11 的陈述与证明是按标准证法自行写出 的,不是照抄某本书。
为核对陈述无误,另外查了两处公开文献(数学上是标准结果):
Sylvester:rank ( A B ) ≥ rank A + rank B − n \operatorname{rank}(AB)\ge\operatorname{rank}A+\operatorname{rank}B-n rank ( A B ) ≥ rank A + rank B − n ,取等 ⟺ N ( A ) ⊆ R ( B ) \iff N(A)\subseteq R(B) ⟺ N ( A ) ⊆ R ( B )
Frobenius:rank ( A B C ) + rank B ≥ rank ( A B ) + rank ( B C ) \operatorname{rank}(ABC)+\operatorname{rank}B\ge\operatorname{rank}(AB)+\operatorname{rank}(BC) rank ( A B C ) + rank B ≥ rank ( A B ) + rank ( B C ) , 取等 ⟺ \iff ⟺ 存在 X , Y X,Y X , Y 使 B = B C X + Y A B B=BCX+YAB B = B C X + Y A B (Tian–Styan 条件)
两条都与本讲 3.12 给出的取等判据一致。