矩阵乘法是第一个真正把“行”与“列”结合起来的矩阵运算。它也是矩阵之所以
能表达复合、线性方程组与逆矩阵的核心原因。所以这条规则不能只靠死记;你
要明白每一步的大小条件到底在做什么。
动机
矩阵加法与数乘都是逐项进行。矩阵乘法则不同:输出中的一个元素,是由左边
矩阵的一整行与右边矩阵的一整列共同决定。
这个大小条件也有结构上的原因。一个 n × p n \times p n × p 矩阵把具有 p p p 个元素的
向量送到具有 n n n 个元素的向量,而一个 m × n m \times n m × n 矩阵恰好可以接收这个
结果,再把它送到具有 m m m 个元素的向量。因此先做 B B B 、再做 A A A 的复合作用
大小为 m × p m \times p m × p ,正好就是 A B AB A B 的大小。相同的内侧维数表示两个作用能够
衔接,外侧维数则记录复合作用的输入与输出。
定义
矩阵乘积何时有定义 若 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 矩阵。
若 A A A 的列数不等于 B B B 的行数,则 A B AB A B 未定义。
内侧大小必须配对;外侧大小则给出结果矩阵的大小。
行乘列规则
定义
矩阵乘法 设 A = [ a i j ] A = [a_{ij}] A = [ a ij ] 是 m × n m \times n m × n 矩阵,B = [ b j k ] B = [b_{jk}] B = [ b jk ] 是 n × p n \times p n × p
矩阵。
则 A B AB A B 的 ( i , k ) (i,k) ( i , k ) 元素为
( A B ) i k = a i 1 b 1 k + a i 2 b 2 k + ⋯ + a i n b n k . (AB)_{ik} = a_{i1}b_{1k} + a_{i2}b_{2k} + \cdots + a_{in}b_{nk}. ( A B ) ik = a i 1 b 1 k + a i 2 b 2 k + ⋯ + a in b nk . 也就是说,输出中的一个元素,是 A A A 的第 i i i 行与 B B B 的第 k k k 列按位相
乘后再相加。
这个定义同时说明三件事:
矩阵乘法不是逐项相乘;
内侧大小必须吻合;
一个输出元素会用到整行与整列中所有对应位置。
例题
细算一个矩阵乘积 令
A = [ 1 2 3 − 1 ] , B = [ 4 0 5 1 ] . A =
\begin{bmatrix}
1 & 2 \\
3 & -1
\end{bmatrix},
\qquad
B =
\begin{bmatrix}
4 & 0 \\
5 & 1
\end{bmatrix}. A = [ 1 3 2 − 1 ] , B = [ 4 5 0 1 ] . 由于两者都是 2 × 2 2 \times 2 2 × 2 ,所以 A B AB A B 有定义。其元素为
( A B ) 11 = 1 ⋅ 4 + 2 ⋅ 5 = 14 , (AB)_{11} = 1 \cdot 4 + 2 \cdot 5 = 14, ( A B ) 11 = 1 ⋅ 4 + 2 ⋅ 5 = 14 , ( A B ) 12 = 1 ⋅ 0 + 2 ⋅ 1 = 2 , (AB)_{12} = 1 \cdot 0 + 2 \cdot 1 = 2, ( A B ) 12 = 1 ⋅ 0 + 2 ⋅ 1 = 2 , ( A B ) 21 = 3 ⋅ 4 + ( − 1 ) ⋅ 5 = 7 , (AB)_{21} = 3 \cdot 4 + (-1) \cdot 5 = 7, ( A B ) 21 = 3 ⋅ 4 + ( − 1 ) ⋅ 5 = 7 , ( A B ) 22 = 3 ⋅ 0 + ( − 1 ) ⋅ 1 = − 1. (AB)_{22} = 3 \cdot 0 + (-1) \cdot 1 = -1. ( A B ) 22 = 3 ⋅ 0 + ( − 1 ) ⋅ 1 = − 1. 因此
A B = [ 14 2 7 − 1 ] . AB =
\begin{bmatrix}
14 & 2 \\
7 & -1
\end{bmatrix}. A B = [ 14 7 2 − 1 ] .
矩阵乘向量就是方程组语言
若 x x x 是列向量,那么 A x Ax A x 只是矩阵乘法的特例,但它刚好把线性方程组的左
边全部打包起来。
对
A = [ 1 2 − 1 3 − 1 5 ] , x = [ x 1 x 2 x 3 ] , A =
\begin{bmatrix}
1 & 2 & -1 \\
3 & -1 & 5
\end{bmatrix},
\qquad
x =
\begin{bmatrix}
x_1 \\ x_2 \\ x_3
\end{bmatrix}, A = [ 1 3 2 − 1 − 1 5 ] , x = x 1 x 2 x 3 ,
有
A x = [ x 1 + 2 x 2 − x 3 3 x 1 − x 2 + 5 x 3 ] . Ax =
\begin{bmatrix}
x_1 + 2x_2 - x_3 \\
3x_1 - x_2 + 5x_3
\end{bmatrix}. A x = [ x 1 + 2 x 2 − x 3 3 x 1 − x 2 + 5 x 3 ] .
所以 A x = b Ax = b A x = b 并不是纯粹缩写,而是把整个方程组写成一个矩阵乘积。
逐行读出 Ax 对应的方程
下面的图解保留同一个符号化的 2 × 3 2 \times 3 2 × 3 乘 3 × 1 3 \times 1 3 × 1 乘积,同时把 A A A
的每一行读成 A x = b Ax = b A x = b 里的方程。它的角色是连接上面的公式和本页稍后的可编辑乘法工具。
把矩阵乘积读成方程 观看行乘列乘法如何把 Ax = b 变成完整方程组:每一行读出一条方程。
先检查大小
2 x 3 矩阵可以乘 3 x 1 向量,因为 A 的每一行刚好有三个元素与 x 配对。
读第 1 行
第一个输出元素是 A 的第 1 行与 x 配对:a11*x1 + a12*x2 + a13*x3。
设成 b1
当 Ax = b,这个第一输出元素就成为方程组的第一条方程。
读第 2 行
第 2 行给出第二条方程:a21*x1 + a22*x2 + a23*x3 = b2。
叠成方程组
Ax = b 就是把所有按行读出的方程上下叠起,再用一条矩阵方程写出。
推广到 AB
若 B = [u v],则 AB = [Au Av]。一般矩阵乘积就是多个 Ax 式乘积并排。
行乘列规则解释了为什么一条紧凑的 Ax = b 可以保存整个线性方程组。A 的每一行提供一条方程;完整乘积 AB 则对 B 的每一列重复同一想法。
单位矩阵是刻意“什么也不改变”的矩阵
定义
单位矩阵 对每个正整数 n n n ,I n I_n I n 表示 n × n n \times n n × n 单位矩阵:主对角线上全是 1 1 1 ,
其余位置全是 0 0 0 。
例如
I 2 = [ 1 0 0 1 ] , I 3 = [ 1 0 0 0 1 0 0 0 1 ] . I_2 =
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix},
\qquad
I_3 =
\begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{bmatrix}. I 2 = [ 1 0 0 1 ] , I 3 = 1 0 0 0 1 0 0 0 1 .
单位矩阵之所以重要,是因为它对任何大小相容的矩阵都不起改变作用:
A I n = A , I m A = A . AI_n = A, \qquad I_m A = A. A I n = A , I m A = A .
例题
为什么乘上单位矩阵不会改变矩阵 若
A = [ 2 − 1 4 3 ] , A =
\begin{bmatrix}
2 & -1 \\
4 & 3
\end{bmatrix}, A = [ 2 4 − 1 3 ] , 则
A I 2 = [ 2 − 1 4 3 ] [ 1 0 0 1 ] = [ 2 − 1 4 3 ] . AI_2 =
\begin{bmatrix}
2 & -1 \\
4 & 3
\end{bmatrix}
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
=
\begin{bmatrix}
2 & -1 \\
4 & 3
\end{bmatrix}. A I 2 = [ 2 4 − 1 3 ] [ 1 0 0 1 ] = [ 2 4 − 1 3 ] . 因为 I 2 I_2 I 2 的第一列会抽出 A A A 的第一列,第二列会抽出 A A A 的第二列。
这正是往后定义逆矩阵的原因:若 A − 1 A^{-1} A − 1 存在,就要求 A A − 1 = I AA^{-1} = I A A − 1 = I 。
看行乘列规则与单位矩阵的作用
下面的图解分别展示本节最重要的两个机制:A B AB A B 的一个元素由一行与一列计算出来,而乘上单位矩阵会保留相容的行或列。比较这些情况后,再用下面的互动工具自己选择不同输出位置。
矩阵乘积与单位矩阵 观看一个矩阵乘积元素如何由行列求和形成,再看单位矩阵为什么会保留原本的行与列。
大小入口
2 x 3 矩阵可以乘 3 x 2 矩阵,因为内侧大小匹配。外侧大小决定 AB 是 2 x 2 矩阵。
一个元素
左上角输出元素使用 A 的第 1 行与 B 的第 1 列:c11 = 1*4 + 2*5 + (-1)*6 = 8。
整个乘积
对每个输出格重复行乘列规则。乘积不是把对应位置逐格相乘而成。
右边单位矩阵
在 A I_n = A 中,I_n 的列会选出 A 的各列,所以右乘单位矩阵保持 A 不变。
左边单位矩阵
在 I_m A = A 中,I_m 的行会选出 A 的各行,所以左乘单位矩阵也保持 A 不变。
次序提醒
单位矩阵是特殊情形。一般而言,AB 与 BA 回答的是不同的行列问题,不必相等。
矩阵乘积由相容的内侧大小决定是否有定义。每个输出元素都是行列求和,而单位矩阵会保持相容矩阵不变,因为它的行和列会选回原本的行与列。
乘法一般不交换
线性代数最早令学生不习惯的地方之一,就是
A B ≠ B A AB \ne BA A B = B A
一般而言就是如此。
有时两个乘积都定义,但结果不同;有时其中一个有定义,另一个根本未定义。
所以次序同时影响“能不能做”与“做出来是什么”。
反例模式
大小相容并不保证交换 “任意两个同样大小的方阵都满足 A B = B A AB=BA A B = B A ”是错误命题,即使两种次序的乘积都有定义且大小相同。取
A = [ 1 2 3 4 ] , B = [ 0 0 0 1 ] . A=\begin{bmatrix}1&2\\3&4\end{bmatrix},\qquad
B=\begin{bmatrix}0&0\\0&1\end{bmatrix}. A = [ 1 3 2 4 ] , B = [ 0 0 0 1 ] . 两者都是 2 × 2 2\times2 2 × 2 实矩阵,满足所提命题的假设。直接按行乘列计算,得到
A B = [ 0 2 0 4 ] , B A = [ 0 0 3 4 ] . AB=\begin{bmatrix}0&2\\0&4\end{bmatrix},\qquad
BA=\begin{bmatrix}0&0\\3&4\end{bmatrix}. A B = [ 0 0 2 4 ] , B A = [ 0 3 0 4 ] . 例如,( A B ) 12 = 1 ⋅ 0 + 2 ⋅ 1 = 2 (AB)_{12}=1\cdot0+2\cdot1=2 ( A B ) 12 = 1 ⋅ 0 + 2 ⋅ 1 = 2 ,但 ( B A ) 12 = 0 ⋅ 2 + 0 ⋅ 4 = 0 (BA)_{12}=0\cdot2+0\cdot4=0 ( B A ) 12 = 0 ⋅ 2 + 0 ⋅ 4 = 0 。只要一对对应元素不同,就足以证明 A B ≠ B A AB\ne BA A B = B A 。失败的结构原因是:右乘这个 B B B 会保留第二列、把第一列归零;左乘它则保留第二行、把第一行归零。
一个正确的修订是:方阵与同样大小的单位矩阵的任意标量倍都可交换。事实上,若 B = c I B=cI B = c I ,则 A B = A ( c I ) = c A = ( c I ) A = B A AB=A(cI)=cA=(cI)A=BA A B = A ( c I ) = c A = ( c I ) A = B A 。对于任意方阵,交换性需要另行论证;大小相容只保证乘法有定义,并不保证因子可以调换。
下面的图可以帮你直接看到:一个输出元素,是如何由一行与一列构成的。
边读边试
跟着看一格矩阵乘法 互动工具会在你改变 A 与 B 的元素时,即时更新 AB 的每一格。
结果
c11 c12 c21 c22
8 = 1×2 + 2×3
用列的观点去读乘积
除了逐格计算之外,矩阵乘法还有另一种非常重要的读法。
如果把 B B B 的列写成
B = [ b 1 b 2 ⋯ b p ] , B = [b_1\ b_2\ \cdots\ b_p], B = [ b 1 b 2 ⋯ b p ] ,
那么就有
A B = [ A b 1 A b 2 ⋯ A b p ] . AB = [Ab_1\ Ab_2\ \cdots\ Ab_p]. A B = [ A b 1 A b 2 ⋯ A b p ] .
也就是说,乘积的每一列,都可以理解成 A A A 乘上 B B B 的对应列向量。
例题
逐列读取同一个乘积 令
A = [ 1 2 3 − 1 ] , B = [ 4 0 5 1 ] . A =
\begin{bmatrix}
1 & 2 \\
3 & -1
\end{bmatrix},
\qquad
B =
\begin{bmatrix}
4 & 0 \\
5 & 1
\end{bmatrix}. A = [ 1 3 2 − 1 ] , B = [ 4 5 0 1 ] . 把 B B B 的两列记为
b 1 = [ 4 5 ] , b 2 = [ 0 1 ] . b_1 =
\begin{bmatrix}
4 \\ 5
\end{bmatrix},
\qquad
b_2 =
\begin{bmatrix}
0 \\ 1
\end{bmatrix}. b 1 = [ 4 5 ] , b 2 = [ 0 1 ] . 那么
A b 1 = [ 14 7 ] , A b 2 = [ 2 − 1 ] . Ab_1 =
\begin{bmatrix}
14 \\ 7
\end{bmatrix},
\qquad
Ab_2 =
\begin{bmatrix}
2 \\ -1
\end{bmatrix}. A b 1 = [ 14 7 ] , A b 2 = [ 2 − 1 ] . 因此
A B = [ 14 2 7 − 1 ] . AB =
\begin{bmatrix}
14 & 2 \\
7 & -1
\end{bmatrix}. A B = [ 14 7 2 − 1 ] . 这与逐项使用行乘列规则所得的答案相同。列的观点强调的是:一个矩阵乘积把
多个矩阵乘向量的运算并列地组合在一起。
矩阵乘法其实表示复合
矩阵乘法不是随手规定出来的公式,而是用来表达线性映射复合的规则。
如果向量 x x x 先被送到 B x Bx B x ,再将结果送到 A ( B x ) A(Bx) A ( B x ) ,那么整体作用就是
( A B ) x . (AB)x. ( A B ) x .
所以内侧大小一定要匹配,因为第一个变换的输出,必须是第二个变换可以接收
的输入。
定理
结合律对应重复复合 只要相关乘积有定义,就有
A ( B C ) = ( A B ) C . A(BC) = (AB)C. A ( BC ) = ( A B ) C . 所以一串矩阵乘积可以改变分组方式,而不改变最后的线性变换。
这并不表示可以改变因子的次序。结合律只允许改变括号,而不允许重新排列因子。
例题
可以改变括号,但不能改变次序 设 A A A 是 2 × 3 2 \times 3 2 × 3 矩阵,B B B 是 3 × 4 3 \times 4 3 × 4 矩阵,C C C 是
4 × 2 4 \times 2 4 × 2 矩阵。
此时 A B AB A B 与 B C BC BC 都有定义,所以 ( A B ) C (AB)C ( A B ) C 与 A ( B C ) A(BC) A ( BC ) 都有意义;结合律说明
它们相等。更具体地说,A B AB A B 的大小是 2 × 4 2 \times 4 2 × 4 ,所以 ( A B ) C (AB)C ( A B ) C 的大小是
2 × 2 2 \times 2 2 × 2 ;B C BC BC 的大小是 3 × 2 3 \times 2 3 × 2 ,所以 A ( B C ) A(BC) A ( BC ) 也是
2 × 2 2 \times 2 2 × 2 。
但是 B A BA B A 根本没有定义,因为它的两个内侧维数 4 4 4 与 2 2 2 不相等。因此矩阵
乘法具有结合律,却一般不具有交换律。
标准基向量解释为什么列的观点这么自然
在 R n \mathbb{R}^n R n 中,e k e_k e k 是第 k k k 个位置等于 1 1 1 、其余位置都为 0 0 0 的向量。
如果 A A A 是 m × n m \times n m × n 矩阵,那么 A e k Ae_k A e k 就恰好是 A A A 的第 k k k 列。
因此单位矩阵一点都不神秘。I n I_n I n 的各列就是 e 1 , e 2 , … , e n e_1, e_2, \ldots, e_n e 1 , e 2 , … , e n ,所以
右乘 I n I_n I n ,其实就是逐列把 A A A 自己原封不动地重建出来。
同样的基本检验也适用于零矩阵。如果右边矩阵每一列都是零向量,那么乘积
的每一列也都会变成零向量,所以任何大小相容的 A 0 A0 A 0 都一定是零矩阵。
定理
矩阵由它对向量的作用唯一确定 设 A A A 与 B B B 都是 m × n m \times n m × n 矩阵。若
A x = B x 对每个 x ∈ R n , Ax=Bx \qquad \text{对每个 } x\in\mathbb{R}^n, A x = B x 对每个 x ∈ R n , 则 A = B A=B A = B 。
证明
利用标准基证明 对每个 k = 1 , … , n k=1,\ldots,n k = 1 , … , n ,把标准基向量 e k e_k e k 代入假设,得到 A e k = B e k Ae_k=Be_k A e k = B e k 。
其中 A e k Ae_k A e k 是 A A A 的第 k k k 列,而 B e k Be_k B e k 是 B B B 的第 k k k 列。因此两个
矩阵的第 k k k 列对每个 k k k 都相同。它们的所有列、因而所有元素都相同,故
A = B A=B A = B 。
“对每个 x x x ”是不可缺少的条件。两个不同矩阵可以在某一个向量上作用相同;
例如,两者都会把零向量送到零向量。上面的证明还给出更强的检验方法:无须
逐一检查所有向量,只要检查 n n n 个标准基向量,就能逐列确定整个矩阵。
最先要记住的代数法则
当乘法有定义之后,下一步就要问:它和你已经熟悉的其他矩阵运算如何配合。
只要大小相容,矩阵乘法满足
A ( B + C ) = A B + A C , ( A + B ) C = A C + B C , A(B + C) = AB + AC,
\qquad
(A + B)C = AC + BC, A ( B + C ) = A B + A C , ( A + B ) C = A C + BC ,
而纯量也可以移进移出:
( c A ) B = c ( A B ) = A ( c B ) . (cA)B = c(AB) = A(cB). ( c A ) B = c ( A B ) = A ( c B ) .
零矩阵提供最直接的基本检验。若 0 0 0 是大小相容的零矩阵,就有
A 0 = 0 , 0 A = 0. A0 = 0,
\qquad
0A = 0. A 0 = 0 , 0 A = 0.
原因是:行乘列时只要其中一边全是零,所有输出元素都只能是零。
这些法则虽然基础,但后面谈逆矩阵、分块矩阵计算和更长乘积推理时都会默认使
用。如果不把它们明确掌握,后面的长计算会很难核对。
未知元素与因子的次序
含有未知元素的乘积把三个要点连在一起:相容的大小、决定每个输出元素的
行与列,以及因子的次序。先用这些结构信息建立关系,再求解所得的标量方程。
例题
由部分已知乘积反推出未知数 令
A = [ 1 2 1 3 1 0 2 1 ] , B = [ a b 1 1 b a 1 2 ] . A =
\begin{bmatrix}
1 & 2 & 1 & 3 \\
1 & 0 & 2 & 1
\end{bmatrix},
\qquad
B =
\begin{bmatrix}
a & b \\
1 & 1 \\
b & a \\
1 & 2
\end{bmatrix}. A = [ 1 1 2 0 1 2 3 1 ] , B = a 1 b 1 b 1 a 2 . 假设
A B = [ 1 c 3 d ] . AB =
\begin{bmatrix}
1 & c \\
3 & d
\end{bmatrix}. A B = [ 1 3 c d ] . 乘积有定义,因为 A A A 是 2 × 4 2 \times 4 2 × 4 ,B B B 是 4 × 2 4 \times 2 4 × 2 ,所以 A B AB A B
必定是 2 × 2 2 \times 2 2 × 2 。只计算需要比较的元素,可得
A B = [ a + b + 5 a + b + 8 a + 2 b + 1 2 a + b + 2 ] . AB =
\begin{bmatrix}
a+b+5 & a+b+8 \\
a+2b+1 & 2a+b+2
\end{bmatrix}. A B = [ a + b + 5 a + 2 b + 1 a + b + 8 2 a + b + 2 ] . 把第一列与已知矩阵比较,得到
a + b + 5 = 1 , a + 2 b + 1 = 3. a+b+5=1,
\qquad
a+2b+1=3. a + b + 5 = 1 , a + 2 b + 1 = 3. 因此
a + b = − 4 , a + 2 b = 2. a+b=-4,
\qquad
a+2b=2. a + b = − 4 , a + 2 b = 2. 第二条减第一条得到 b = 6 b=6 b = 6 ,再代入得到 a = − 10 a=-10 a = − 10 。余下元素是
c = a + b + 8 = 4 , d = 2 a + b + 2 = − 12. c=a+b+8=4,
\qquad
d=2a+b+2=-12. c = a + b + 8 = 4 , d = 2 a + b + 2 = − 12.
这类题目的重点,不是把所有元素都盲目乘出来,而是抽出已知乘积元素所强制
的少数方程。
例题
展开乘积时不要假设矩阵可交换 令 A A A 与 B B B 是同大小方阵。则
( 5 A − B ) ( 2 A + 3 B ) = 5 A ( 2 A + 3 B ) − B ( 2 A + 3 B ) . (5A-B)(2A+3B)
= 5A(2A+3B)-B(2A+3B). ( 5 A − B ) ( 2 A + 3 B ) = 5 A ( 2 A + 3 B ) − B ( 2 A + 3 B ) . 继续分配右边因子:
5 A ( 2 A + 3 B ) − B ( 2 A + 3 B ) = 10 A 2 + 15 A B − 2 B A − 3 B 2 . 5A(2A+3B)-B(2A+3B)
=10A^2+15AB-2BA-3B^2. 5 A ( 2 A + 3 B ) − B ( 2 A + 3 B ) = 10 A 2 + 15 A B − 2 B A − 3 B 2 . 中间两项是 15 A B 15AB 15 A B 与 − 2 B A -2BA − 2 B A 。除非已知 A B = B A AB=BA A B = B A ,否则不能把它们合并成
13 A B 13AB 13 A B 。
同一个警告也解释了常见错误:
( A + B ) ( A − B ) = A 2 − A B + B A − B 2 . (A+B)(A-B)
=A^2-AB+BA-B^2. ( A + B ) ( A − B ) = A 2 − A B + B A − B 2 .
只有在额外知道 A B = B A AB=BA A B = B A 时,这才等于 A 2 − B 2 A^2-B^2 A 2 − B 2 。实数代数会遮住这个问题,
因为实数乘法可交换;矩阵代数不会。
例题
零乘积不代表其中一个因子必定为零 令
A = [ 1 − 1 ] , B = [ 1 1 ] . A =
\begin{bmatrix}
1 & -1
\end{bmatrix},
\qquad
B =
\begin{bmatrix}
1 \\
1
\end{bmatrix}. A = [ 1 − 1 ] , B = [ 1 1 ] . 两个矩阵都不是零矩阵,但
A B = [ 1 ⋅ 1 + ( − 1 ) ⋅ 1 ] = [ 0 ] . AB =
\begin{bmatrix}
1 \cdot 1 + (-1) \cdot 1
\end{bmatrix}
=
\begin{bmatrix}
0
\end{bmatrix}. A B = [ 1 ⋅ 1 + ( − 1 ) ⋅ 1 ] = [ 0 ] . 所以矩阵乘法与实数乘法不同:A B = 0 AB = 0 A B = 0 并不推出 A = 0 A = 0 A = 0 或 B = 0 B = 0 B = 0 。
定理
单位矩阵是唯一的 如果 E E E 是一个 n × n n \times n n × n 矩阵,而且对每个相容的 n × n n \times n n × n 矩阵 A A A
都满足
E A = A and A E = A , EA = A \qquad \text{and} \qquad AE = A, E A = A and A E = A , 那么就一定有 E = I n E = I_n E = I n 。
证明
为什么不可能存在第二个单位矩阵 取 A = I n A = I_n A = I n 。由 E E E 的性质得到 E I n = I n EI_n = I_n E I n = I n 。但任何矩阵右乘 I n I_n I n 都保
持不变,所以 E I n = E EI_n = E E I n = E 。因此 E = I n E = I_n E = I n 。
常见错误
常见错误
矩阵乘法不是逐项相乘 ( A B ) i k (AB)_{ik} ( A B ) ik 不是 a i k b i k a_{ik}b_{ik} a ik b ik 。它来自 A A A 的第 i i i 行与 B B B 的第 k k k
列。
常见错误
一个方向可乘,不代表反方向也可乘 若 A A A 是 2 × 3 2 \times 3 2 × 3 、B B B 是 3 × 4 3 \times 4 3 × 4 ,则 A B AB A B 有定义,但 B A BA B A
没有。不要自动把顺序反过来。
常见错误
列的观点是看右边因子的列 如果 B = [ b 1 b 2 ] B=[b_1\ b_2] B = [ b 1 b 2 ] ,则 A B = [ A b 1 A b 2 ] AB=[Ab_1\ Ab_2] A B = [ A b 1 A b 2 ] 。乘积的各列是 A A A 的列的线性
组合,而权重来自 B B B 的对应列。不要写成 A B = [ a 1 b 1 a 2 b 2 ] AB=[a_1b_1\ a_2b_2] A B = [ a 1 b 1 a 2 b 2 ] ;这并不
符合矩阵乘法的定义。
常见错误
二项式公式需要可交换假设 公式 ( A + B ) 2 = A 2 + 2 A B + B 2 (A+B)^2=A^2+2AB+B^2 ( A + B ) 2 = A 2 + 2 A B + B 2 对矩阵不是自动成立。真正展开是
( A + B ) 2 = A 2 + A B + B A + B 2 . (A+B)^2=A^2+AB+BA+B^2. ( A + B ) 2 = A 2 + A B + B A + B 2 . 只有在 A B = B A AB=BA A B = B A 时,才可以把中间两项合并。
总结
若 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 ;内侧维数不相等时,乘积没有定义。每个元素由 A A A 的一行
与 B B B 的一列计算,而列公式 A B = [ A b 1 ⋯ A b p ] AB=[Ab_1\ \cdots\ Ab_p] A B = [ A b 1 ⋯ A b p ] 则把同一运算理解为
多个矩阵乘向量的运算。因此,A x = b Ax=b A x = b 正好能把一个线性方程组写成一个对象。
单位矩阵不会改变大小相容的矩阵。矩阵乘法满足结合律与分配律,但结合律只允许
改变括号,并不允许调换因子;一般而言,A B ≠ B A AB\ne BA A B = B A 。最后,等式
A e k = col k ( A ) Ae_k=\operatorname{col}_k(A) A e k = col k ( A ) 表明矩阵对标准基的作用会逐列确定这个矩阵。
所以若对每个 x ∈ R n x\in\mathbb{R}^n x ∈ R n 都有 A x = B x Ax=Bx A x = B x ,则必有 A = B A=B A = B 。
快速检查
思考检查
若 A A A 是 2 × 3 2 \times 3 2 × 3 、B B B 是 3 × 5 3 \times 5 3 × 5 ,那么 A B AB A B 的大小是什么?
解答 · 答案 A B AB A B 有定义,而且大小是 2 × 5 2 \times 5 2 × 5 。
思考检查
把一个大小相容的矩阵乘上 I n I_n I n ,会发生什么?
解答 · 答案
思考检查
如果 B B B 的列向量是 b 1 b_1 b 1 和 b 2 b_2 b 2 ,怎样读 A B AB A B 的各列?
解答 · 答案 A B AB A B 的各列分别是 A b 1 Ab_1 A b 1 和 A b 2 Ab_2 A b 2 。
思考检查
展开 ( 5 A − B ) ( 2 A + 3 B ) (5A-B)(2A+3B) ( 5 A − B ) ( 2 A + 3 B ) 时,B A BA B A 的系数是多少? 请把 A B AB A B 与 B A BA B A 当作不同项处理。
解答 · 答案 B A BA B A 的系数是 − 2 -2 − 2 ,因为该项来自 − B ( 2 A ) -B(2A) − B ( 2 A ) 。
练习
思考检查
为什么 A x = b Ax = b A x = b 可以同时代表多条方程?
解答 · 答案 因为 A A A 的每一行与列向量 x x x 配对后都会产生一条方程,所以 A x Ax A x 会把整个方程组一起打包。
思考检查
为什么 A x = 0 Ax = 0 A x = 0 不论 A A A 是什么,都至少有一个解?
解答 · 引导解答 取零向量 x = 0 x = 0 x = 0 。由于 A 0 A0 A 0 的每个元素都是把 0 0 0 的元素做线性组合,所
以全部都是 0 0 0 。因此 A 0 = 0 A0 = 0 A 0 = 0 ,齐次系统永远至少有平凡解。
思考检查
为什么有时 A B AB A B 有定义,但 B A BA B A 却没有定义?
解答 · 引导解答 A B AB A B 有定义,要求 A A A 的列数等于 B B B 的行数;而 B A BA B A 有定义,要求
B B B 的列数等于 A A A 的行数。这两个条件不同,所以一个方向可以做,反方向
未必可以做。
思考检查
令 A A A 、B B B 为上面含未知数例题中的矩阵。若 A B AB A B 的第一列是 [ 1 , 3 ] T [1,3]^T [ 1 , 3 ] T ,求 a a a 和 b b b 。
解答 · 引导解答 A B AB A B 的第一列给出
a + b + 5 = 1 , a + 2 b + 1 = 3. a+b+5=1,
\qquad
a+2b+1=3. a + b + 5 = 1 , a + 2 b + 1 = 3. 所以
a + b = − 4 , a + 2 b = 2. a+b=-4,
\qquad
a+2b=2. a + b = − 4 , a + 2 b = 2. 相减得 b = 6 b=6 b = 6 ,再代入 a + b = − 4 a+b=-4 a + b = − 4 得 a = − 10 a=-10 a = − 10 。
思考检查
如果 A A A 的第一行是 ( 4 , − 1 , 2 ) (4, -1, 2) ( 4 , − 1 , 2 ) ,而 x = ( x 1 , x 2 , x 3 ) T x = (x_1, x_2, x_3)^T x = ( x 1 , x 2 , x 3 ) T ,那么 A x Ax A x 的第一个元素是什么?
解答 · 引导解答 第一个元素是 4 x 1 − x 2 + 2 x 3 4x_1 - x_2 + 2x_3 4 x 1 − x 2 + 2 x 3 。
相关笔记
本节建立在
2.1 矩阵基础 之上。
下一节可读
3.3 转置、对称矩阵与反对称矩阵 ,
或直接跳到
5.1 可逆矩阵 。