本节目标:按行乘列算出矩阵乘积,说清乘法为什么这样定义、以及哪几条运算律在矩阵里不再成立。

方程组写成 Ax=bAx=b

上一课把矩阵的加法与数乘定完了,也立起了一个式子:线性方程组的常数项列向量恰好是各系数列向量的线性组合时,方程组才有解。这一课补上最后一块拼图——乘法。有了它,一整页的方程组可以压成四个字符。

先看一个方程含多个未知量的情形,如 2x1+x2+3x3=52x_1+x_2+3x_3=5。把它和一元一次方程 ax=bax=b 摆在一起对比:右边都是常数,左边都是「系数乘未知量再相加」。要让左边也长成「一个对象乘另一个对象」的样子,就得先回答一个技术问题:一行数怎么乘一列数。

教材的答案是把乘积规定为「对应位置相乘再相加」:令

A=[213],x=[x1x2x3],Ax=[213][x1x2x3]=2x1+x2+3x3A=\begin{bmatrix}2 & 1 & 3\end{bmatrix},\qquad x=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix},\qquad Ax=\begin{bmatrix}2 & 1 & 3\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=2x_1+x_2+3x_3

这样 2x1+x2+3x3=52x_1+x_2+3x_3=5 就写成 Ax=5Ax=5,与 ax=bax=b 的形状一致。行向量与列向量按这种方式相乘,结果是一个数,称为数量积(内积)。

把这一步推广到 mm 个方程。定义 m×nm\times n 矩阵 A=(aij)A=(a_{ij}) 与 nn 维列向量 xx 的乘积 AxAx 为一个 mm 维列向量,它的第 ii 个分量等于 AA 的第 ii 个行向量与 xx 的数量积:

Ax=[a11x1+a12x2+⋯+a1nxna21x1+a22x2+⋯+a2nxn⋮am1x1+am2x2+⋯+amnxn]Ax= \begin{bmatrix} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n\\ \vdots\\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n \end{bmatrix}

于是线性方程组(2.1.1)就成了一行矩阵方程

Ax=bAx=b

把 AA 按列拆开、记第 jj 列为 AjA_j,AxAx 还有另一种读法,这一读法上一课已经用过:

Ax=x1A1+x2A2+⋯+xnAnAx=x_1A_1+x_2A_2+\cdots+x_nA_n

左端是矩阵乘列向量,右端是 AA 的各列向量的一个线性组合,组合的系数正是未知量。两种读法算的是同一件事,第一种适合手算,第二种把「方程组有解」翻译成「bb 能由系数列向量线性表出」,第 4 章要用的就是后一种。

AA 能与 xx 相乘的条件是 AA 的列数等于 xx 的行数,乘积 AxAx 是 mm 维列向量——行数跟着左矩阵走。

行乘列:一个元素怎么算

第二个因子从一列推广到多列,就得到一般的矩阵乘法:若 AA 与 BB 的每个列向量都能相乘,则顺次以这些乘积为列的矩阵称为 AA 与 BB 的乘积,记为 ABAB。写成元素层面的规则:

  • ABAB 有意义的条件是 AA 的列数等于 BB 的行数;
  • 若 AA 是 m×km\times k 矩阵、BB 是 k×nk\times n 矩阵,则 D=ABD=AB 是 m×nm\times n 矩阵——行数取自左矩阵,列数取自右矩阵;
  • DD 的第 ii 行第 jj 列元素等于 AA 的第 ii 个行向量与 BB 的第 jj 个列向量的对应分量乘积之和:

dij=ai1b1j+ai2b2j+⋯+aikbkjd_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots+a_{ik}b_{kj}

这条规则一次只算出一个数:左矩阵取第 ii 行、右矩阵取第 jj 列,算出的数就填在乘积的第 ii 行第 jj 列。位置由「取的是哪一行、哪一列」定,不必另外记口诀。

(本节配图:乘积中的一个元素由左矩阵一行与右矩阵一列确定)

算例:设

A=[102−130],B=[120131]A=\begin{bmatrix}1 & 0 & 2\\-1 & 3 & 0\end{bmatrix},\qquad B=\begin{bmatrix}1 & 2\\0 & 1\\3 & 1\end{bmatrix}

AA 是 2×32\times 3 矩阵、BB 是 3×23\times 2 矩阵,AA 的列数 33 等于 BB 的行数 33,乘积有意义,且 ABAB 是 2×22\times 2 矩阵。四个元素逐个算:

AB=[1⋅1+0⋅0+2⋅31⋅2+0⋅1+2⋅1(−1)⋅1+3⋅0+0⋅3(−1)⋅2+3⋅1+0⋅1]=[74−11]AB= \begin{bmatrix} 1\cdot 1+0\cdot 0+2\cdot 3 & 1\cdot 2+0\cdot 1+2\cdot 1\\ (-1)\cdot 1+3\cdot 0+0\cdot 3 & (-1)\cdot 2+3\cdot 1+0\cdot 1 \end{bmatrix} =\begin{bmatrix}7 & 4\\-1 & 1\end{bmatrix}

对照行乘列的规则看这一步:77 是第一行乘第一列,44 是第一行乘第二列,−1-1 是第二行乘第一列,11 是第二行乘第二列。

若把 BB 的两列看成 b1,b2b_1,b_2,ABAB 的两列正好是 Ab1Ab_1 与 Ab2Ab_2:

Ab1=[102−130][103]=[7−1],Ab2=[102−130][211]=[41]Ab_1=\begin{bmatrix}1 & 0 & 2\\-1 & 3 & 0\end{bmatrix}\begin{bmatrix}1\\0\\3\end{bmatrix}=\begin{bmatrix}7\\-1\end{bmatrix},\qquad Ab_2=\begin{bmatrix}1 & 0 & 2\\-1 & 3 & 0\end{bmatrix}\begin{bmatrix}2\\1\\1\end{bmatrix}=\begin{bmatrix}4\\1\end{bmatrix}

所以 AB=A(b1,b2)=(Ab1,Ab2)AB=A(b_1,b_2)=(Ab_1,Ab_2):右矩阵拆成几列,乘积就是左矩阵分别乘这几列再拼回去。手算时按这个办法一列一列地做,比逐个元素瞄位置更不容易错位。

(本节配图:把乘法写成元素层面的等式,逐项对着算)

(本节配图:矩阵乘列向量时每一行各得一个分量)

练习(L1)

1. 教材把 AxAx 的第 ii 个分量规定为 AA 的第 ii 行与 xx 的对应分量乘积之和。
这样规定最直接的好处是什么?
A. 让 Ax=bAx=b 与原方程组完全等价
B. 让两个矩阵的对应元素能逐个相乘相加
C. 让任意两个矩阵不用看维度就能相乘
D. 让乘法的结果与两个矩阵的先后顺序无关

参考答案

答案:A 定义成行乘列,是为了让 $Ax$ 的第 $i$ 个分量正好还原出第 $i$ 个方程的左边。对应元素逐个相乘(Hadamard 积)做不到这一点,形状也常常对不上。

2. 设 AA 是 2×32\times 3 矩阵、BB 是 3×33\times 3 矩阵。下面哪个说法对?
A. ABAB 是 2×32\times3;BABA 是 3×33\times3
B. ABAB 是 2×32\times3;BABA 写不出来,维度不合
C. ABAB 是 3×33\times3;BABA 是 2×22\times2
D. ABAB 写不出来,维度不合;BABA 是 3×33\times3

参考答案

答案:B 相乘条件是左矩阵的列数等于右矩阵的行数:$A$ 的列数 $3$ 等于 $B$ 的行数 $3$,所以 $AB$ 是 $2\times3$ 矩阵;$B$ 的列数 $3$ 不等于 $A$ 的行数 $2$,所以 $BA$ 写不出来。

::: warn 最容易顺手的错法
把两个矩阵的对应元素逐个相乘。对上面这一对 A,BA,B 硬算会得出一张 2×32\times 3 的结果表,而 ABAB 是 2×22\times 2 矩阵——连形状都不对。对应元素相乘是另一种运算(Hadamard 积),与矩阵乘法无关。
:::

三条不成立的运算律

定义完就要检查:实数里那些顺手的法则哪些还活着。先看不满足交换律。取

A=[1234],B=[0110]A=\begin{bmatrix}1 & 2\\3 & 4\end{bmatrix},\qquad B=\begin{bmatrix}0 & 1\\1 & 0\end{bmatrix}

两个乘法都有意义,都是 2×22\times 2 矩阵,算出来却不同:

AB=[1234][0110]=[2143],BA=[0110][1234]=[3412]AB=\begin{bmatrix}1 & 2\\3 & 4\end{bmatrix}\begin{bmatrix}0 & 1\\1 & 0\end{bmatrix}=\begin{bmatrix}2 & 1\\4 & 3\end{bmatrix},\qquad BA=\begin{bmatrix}0 & 1\\1 & 0\end{bmatrix}\begin{bmatrix}1 & 2\\3 & 4\end{bmatrix}=\begin{bmatrix}3 & 4\\1 & 2\end{bmatrix}

换顺序以后结果不一样,这就是矩阵乘法不满足交换律的原样:AB=BAAB=BA 对一般的方阵并不成立,写乘积时必须分清左右。

交换顺序的后果还不止「结果不同」。回到上一节那一对矩阵 A=[102−130]A=\begin{bmatrix}1&0&2\\-1&3&0\end{bmatrix}、B=[120131]B=\begin{bmatrix}1&2\\0&1\\3&1\end{bmatrix}:ABAB 是 2×22\times 2 矩阵,而 BABA 的相乘条件是 BB 的列数 22 等于 AA 的行数 22,成立,BABA 是 3×33\times 3 矩阵。两个乘积不同型,比较大小或是否相等都无从谈起。若把 AA 换成 3×33\times 3 方阵,则 ABAB 有意义而 BABA 无意义——连第二个乘积都写不出来。

第二件要检查的是消去律。取

A=[1111],B=[1−11−1],C=[−11−11]A=\begin{bmatrix}1 & 1\\1 & 1\end{bmatrix},\qquad B=\begin{bmatrix}1 & -1\\1 & -1\end{bmatrix},\qquad C=\begin{bmatrix}-1 & 1\\-1 & 1\end{bmatrix}

算三个乘积:

AB=[2−22−2],AC=[−22−22],BC=[−22−22]AB=\begin{bmatrix}2 & -2\\2 & -2\end{bmatrix},\qquad AC=\begin{bmatrix}-2 & 2\\-2 & 2\end{bmatrix},\qquad BC=\begin{bmatrix}-2 & 2\\-2 & 2\end{bmatrix}

AB≠ACAB\neq AC 说明 B≠CB\neq C 与 AB=ACAB=AC 并不冲突;再看 BCBC,两个非零矩阵相乘得到了零矩阵。于是有两条反例,都要背下来:

  • 若 AB=OAB=O,推不出 A=OA=O 或 B=OB=O;
  • 由 AB=ACAB=AC 且 A≠OA\neq O,推不出 B=CB=C。

这两条之所以值得单独记,是因为它们正好卡住「两边同时除以 AA」这种顺手动作:矩阵没有除法,第 9 课讲的逆矩阵也只对可逆矩阵才允许消去。

练习(L3)

1. 设 A=(2103)A=\begin{pmatrix}2 & 1\\0 & 3\end{pmatrix},B=(1024)B=\begin{pmatrix}1 & 0\\2 & 4\end{pmatrix}。
某同学的解答有两处错误:
① 他把两个矩阵对应位置的元素逐个相乘,
得到 (20012)\begin{pmatrix}2 & 0\\0 & 12\end{pmatrix},说这就是 ABAB;
② 他又说因为 AB=BAAB=BA,所以 BABA 也是这张表。

指出两处错误的根因,写出 ABAB 与 BABA 的正确结果,
再各给一句以后算的时候怎么避开。

参考答案

根因一:把矩阵乘法当成了「对应元素逐个相乘」——那是 Hadamard 积。
$AB$ 的第 $i$ 行第 $j$ 列必须是 $A$ 的第 $i$ 行与 $B$ 的第 $j$ 列
对应相乘再相加;$B$ 有两列,就要做两次行乘列、算出两列数。
正确结果:
$AB=\begin{pmatrix}4 & 4\\6 & 12\end{pmatrix}$,
$BA=\begin{pmatrix}2 & 1\\4 & 14\end{pmatrix}$。
根因二:乘法不满足交换律,$AB=BA$ 对一般的方阵不成立。
这里 $BA$ 的两列是由 $B$ 的两列参与算出的,与 $AB$ 不同,
不能凭一句话把 $AB$ 的结果抄给 $BA$。
怎么避开:算之前先把两边的维度写在纸角核对
(这里 $2=2$,两个乘积都合法,正因如此更容易顺手写错);
每算一个元素都重新「左取一行、右取一列」,两个乘积各算一遍。

判分要点:必须同时做到三点才算通过: ① 点出根因是把乘法当成了对应元素逐个相乘(只说算错了不算); ② $AB=\begin{pmatrix}4 & 4\\6 & 12\end{pmatrix}$ 四个元素全对; ③ 指出 $AB=BA$ 不成立,并给出 $BA=\begin{pmatrix}2 & 1\\4 & 14\end{pmatrix}$。

部分通过:结论对但说不出根因,或 BABA 是照 ABAB 抄的。
不通过:ABAB 仍按对应元素逐个相乘来算。

结合律与分配律仍然成立

不成立的只有上面那几条,乘法该有的代数法则大部分还在。对使乘法有意义的矩阵,有

  • 结合律 (AB)C=A(BC)(AB)C=A(BC);
  • 分配律 A(B+C)=AB+ACA(B+C)=AB+AC,(A+B)C=AC+BC(A+B)C=AC+BC;
  • 数与乘积的结合 λ(AB)=(λA)B=A(λB)\lambda(AB)=(\lambda A)B=A(\lambda B)。

分配律与第三条的验证方式与上一课的性质一样,逐个元素对一遍即可;结合律值得单独算一遍。取

A=[12],B=[1001],C=[34]A=\begin{bmatrix}1 & 2\end{bmatrix},\qquad B=\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix},\qquad C=\begin{bmatrix}3\\4\end{bmatrix}

先算左边:AB=[12][1001]=[12]AB=\begin{bmatrix}1 & 2\end{bmatrix}\begin{bmatrix}1&0\\0&1\end{bmatrix}=\begin{bmatrix}1 & 2\end{bmatrix},故 (AB)C=1⋅3+2⋅4=11(AB)C=1\cdot 3+2\cdot 4=11;再算右边:BC=[34]BC=\begin{bmatrix}3\\4\end{bmatrix},故 A(BC)=[12][34]=11A(BC)=\begin{bmatrix}1 & 2\end{bmatrix}\begin{bmatrix}3\\4\end{bmatrix}=11。两侧相等。

结合律让连乘积可以省掉括号写成 ABCABC,也让「先把右边两个乘起来」这种算法合法。矩阵乘法的实际来历正落在这条上:设 yy 是 xx 的线性函数、zz 又是 yy 的线性函数,写成矩阵式就是 y=Bxy=Bx、z=Ayz=Ay,代入得

z=A(Bx)=(AB)xz=A(Bx)=(AB)x

先把两个系数矩阵乘出来,再由一次乘法直接给出 zz 与 xx 的关系。教材在乘法之后专门用这个例子说明结合律的用法。

单位矩阵、方幂与多项式

方阵是乘法里最重要的情形,因为只有方阵才能自己乘自己。

主对角线上元素全为 11、其余元素全为 00 的 nn 阶方阵称为 nn 阶单位矩阵,记为 EE:

E=[1001]E=\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix}

它扮演实数乘法里 11 的角色:对任意 nn 阶矩阵 AA,都有 EA=AE=AEA=AE=A,左乘右乘都成立。例如 E=[1001]E=\begin{bmatrix}1&0\\0&1\end{bmatrix} 与 A=[123456]A=\begin{bmatrix}1&2&3\\4&5&6\end{bmatrix} 相乘(注意 AA 是 2×32\times 3,EE 是 22 阶)可得 EA=AEA=A。

设 AA 是 nn 阶矩阵,kk 个 AA 相乘有意义,称为 AA 的 kk 次幂,记为 AkA^k,并约定 A0=EA^0=E。因为乘法不满足交换律,指数法则只在同一个矩阵的幂之间成立:AmAk=Am+kA^mA^k=A^{m+k};对两个不同的方阵则有

(AB)^k\neq A^kB^k\quad(A,B\ \text{皆为方阵})

形如

f(A)=Am+a1Am−1+⋯+am−1A+amEf(A)=A^m+a_1A^{m-1}+\cdots+a_{m-1}A+a_mE

的式子称为矩阵 AA 的多项式,就是把普通多项式 f(λ)f(\lambda) 中 λ\lambda 换成 AA、常数项换成 amEa_mE。多项式的加、乘与因式分解都能照常做,这是整理关系式和算幂时最常用的一步。设

A=[2111]A=\begin{bmatrix}2 & 1\\1 & 1\end{bmatrix}

乘两次得 A2=[5332]A^2=\begin{bmatrix}5 & 3\\3 & 2\end{bmatrix},于是

A^2-3A+E=O,\qquad\text{即}\qquad A^2=3A-E

有了这个等式,算 A3A^3 就不必再乘两次:

A3=A⋅A2=A(3A−E)=3A2−A=3(3A−E)−A=8A−3E=[13885]A^3=A\cdot A^2=A(3A-E)=3A^2-A=3(3A-E)-A=8A-3E=\begin{bmatrix}13 & 8\\8 & 5\end{bmatrix}

反过来,把 A2−3A+E=OA^2-3A+E=O 移项整理成

(A−E)(A−2E)=E(A-E)(A-2E)=E

就直接读出一个结论:EE 能写成 A−EA-E 与 A−2EA-2E 的乘积。第 9 课专门处理「一个矩阵乘另一个矩阵得 EE」这件事,这里先用关系式把幂降下来。

练习(L2)

1. 设 A=(3211)A=\begin{pmatrix}3 & 2\\1 & 1\end{pmatrix},EE 是二阶单位矩阵。
① 算出 A2A^2,整理成 A2=pA+qEA^2=pA+qE,写出 pp 与 qq。
② 不连乘三次,用 ① 的关系式把 A3A^3 写成 sA+tEsA+tE,
写出 ss 与 tt。
③ 把 ① 的关系式移项,整理成「AA 乘某个矩阵等于 EE」
的形式,写出那个矩阵并乘开验证。

参考答案

① $A^2=\begin{pmatrix}11 & 8\\4 & 3\end{pmatrix}$。
对照 $pA+qE=\begin{pmatrix}3p+q & 2p\\p & p+q\end{pmatrix}$:
由 $2p=8$ 得 $p=4$,再由 $p+q=3$ 得 $q=-1$。
所以 $A^2=4A-E$,也就是 $A^2-4A+E=O$。
② 拿关系式降幂:
$A^3=A\cdot A^2=A(4A-E)=4A^2-A$
$=4(4A-E)-A=15A-4E$,
所以 $s=15$、$t=-4$,且 $A^3=\begin{pmatrix}41 & 30\\15 & 11\end{pmatrix}$。
③ 移项得 $A^2-4A=-E$,即 $A(4E-A)=E$,
那个矩阵是 $4E-A=\begin{pmatrix}1 & -2\\-1 & 3\end{pmatrix}$。
乘开验证:$A(4E-A)=4A-A^2=4A-(4A-E)=E$。

判分要点:三小问各判一条: ① $A^2$ 四个元素全对,且 $p=4$、$q=-1$; ② 用到了 ① 的关系式(先写成 $A\cdot A^2$ 再代入), 结果 $s=15$、$t=-4$; ③ 写成 $A(4E-A)=E$ 并乘开验证过。 写成 $(4E-A)A=E$ 同样算对($A$ 与 $A^2$ 可交换)。

部分通过:结果都对,但 ② 是硬乘三次得来的(没用关系式)。
不通过:把 A3A^3 当成逐个元素求三次方。

教材里的两个应用

教材在乘法之后给了两类完整计算,都属于把「同一套运算要对很多组数据做」的表格整理成一次乘法。

经济学中的一次乘法:某地区三个公司各生产四种产品,把各公司的日产量排成矩阵 AA、把四种产品的单价与单位利润并排成矩阵 BB,则各公司的总收入与总利润恰好是乘积 ABAB 的各个元素——BB 的每一列对应一项要算的合计,ABAB 的每一列对应这项合计的结果。教材用表 2.1–2.3 把三张表算成一个乘积,得到三家公司的总收入与总利润。

莱斯利矩阵:把种群按生命阶段分成几组,各阶段的一年存活率与年产卵量排成方阵 LL,若用列向量 xkx_k 记第 kk 年各阶段的种群数量,则

x_{k+1}=Lx_k,\qquad\text{从而}\qquad x_k=L^kx_0

这种形式的矩阵叫莱斯利矩阵,相应的模型叫莱斯利种群模型。教材用它预测海龟种群:初始各阶段数量为 200000,300000,500,1500200000,300000,500,1500,一年后即 Lx0Lx_0,十年、二十五年、五十年的数量由 Lkx0L^kx_0 依次算出。

练习(L4)

1. 甲、乙两厂各生产 P1,P2,P3P_1,P_2,P_3 三种产品。
日产量矩阵 A=(213141)A=\begin{pmatrix}2 & 1 & 3\\1 & 4 & 1\end{pmatrix},
第 1 行是甲厂、第 2 行是乙厂,列依次对应三种产品。
单价与单位利润排成 B=(102205101)B=\begin{pmatrix}10 & 2\\20 & 5\\10 & 1\end{pmatrix},
第 1 列是单价(元)、第 2 列是单位利润(元)。

① 乘积 ABAB 一次算出了什么?写出它的形状,
再说 BABA 算出来是不是同一件事。
② 写出 ABAB,并指出哪两个元素分别是乙厂的
总收入与总利润。

参考答案

① $A$ 是 $2\times3$、$B$ 是 $3\times2$,左的列数等于右的行数,
所以 $AB$ 是 $2\times2$ 矩阵:第 1 行甲厂、第 2 行乙厂,
第 1 列总收入、第 2 列总利润——
一次乘法把两家厂的两项合计都算出来了。
$BA$ 也写得出来($B$ 的列数 $2$ 等于 $A$ 的行数 $2$),
但它是 $3\times3$ 矩阵,行与列都按产品编号走,
得到的不是「每家厂的总收入与总利润」,不是同一件事。
② 第 2 行第 1 列 $=1\cdot10+4\cdot20+1\cdot10=100$,
第 2 行第 2 列 $=1\cdot2+4\cdot5+1\cdot1=23$;
同样算第 1 行,得 $AB=\begin{pmatrix}70 & 12\\100 & 23\end{pmatrix}$。
乙厂是第 2 行:$100$ 是乙厂的总收入(元),
$23$ 是乙厂的总利润(元)。

判分要点:三档判据: ① 说出 $AB$ 是 $2\times2$,每行一家厂、两列分别是总收入与总利润, 并指出 $BA$ 是 $3\times3$、行与列都按产品编号走,不是同一件事。 ② $AB=\begin{pmatrix}70 & 12\\100 & 23\end{pmatrix}$ 四个元素全对。 ③ 指认乙厂那一行:$100$ 是总收入、$23$ 是总利润。

部分通过:元素算对但把两项合计说反(把 100100 当成利润)。
不通过:把 ABAB 的形状说成 3×33\times3,或认为 BABA 是同一件事。

::: practice 上手做 | 第 1 步 · 三次乘法各手算一遍

取 A=[1230]A=\begin{bmatrix}1 & 2\\3 & 0\end{bmatrix}、B=[011−1]B=\begin{bmatrix}0 & 1\\1 & -1\end{bmatrix}、X=[12]X=\begin{bmatrix}1\\2\end{bmatrix},在同一张纸上依次完成五步:

  1. 算 AXAX,写出结果;再把 AXAX 按「AA 的列向量的线性组合」重新写一遍,核对两种算法得到同一个列向量。
  2. 算 ABAB。
  3. 算 BABA,与第 2 步的结果比较,写出 AB−BAAB-BA。
  4. 取 Y=BXY=BX,再算 AYAY;然后算 (AB)X(AB)X,核对 AYAY 与 (AB)X(AB)X 相同。
  5. 取 C=[1−11−1]C=\begin{bmatrix}1 & -1\\1 & -1\end{bmatrix}、D=[1111]D=\begin{bmatrix}1 & 1\\1 & 1\end{bmatrix},算 CDCD,用这个结果解释「AB=OAB=O 为什么推不出 A=OA=O 或 B=OB=O」。

五步做完,把最容易出错的三个位置在纸上标出来:相乘条件的维度有没有先确认、乘积的每个元素有没有对齐行列位置、交换 AA 与 BB 的顺序以后有没有重新算一遍。

:::

本课的动手任务在 矩阵乘法任务单:五个手算任务,期望答案与自查清单分开放。

::: note 用 Python 验算
手算完可以把结果对着 numpy 核一遍,把这一段当验算器用,手算仍然要自己走一遍:

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np

A = np.array([[1, 2], [3, 0]])
B = np.array([[0, 1], [1, -1]])
X = np.array([[1], [2]])
C = np.array([[1, -1], [1, -1]])
D = np.array([[1, 1], [1, 1]])

print(A @ X) # A 乘列向量 X 的结果
print(A @ B, B @ A) # 两个乘积,比较是否相等
print(A @ (B @ X)) # 结合律:应等于 (A @ B) @ X
print(C @ D) # 两个非零矩阵相乘得零矩阵

:::

这一课要记住的

  • 乘法按「左取一行、右取一列,对应相乘再相加」定义,条件是左矩阵的列数等于右矩阵的行数;乘积的行数取自左矩阵、列数取自右矩阵。
  • 这样定义的目的就是让线性方程组写成 Ax=bAx=b,而 AxAx 也等于 AA 的列向量的线性组合。
  • 交换律与消去律都不成立:AB≠BAAB\neq BA 是常态,AB=OAB=O 时两个因子都可以非零,AB=ACAB=AC 且 A≠OA\neq O 推不出 B=CB=C。
  • 结合律、分配律、数乘的结合律成立;方阵有单位矩阵 EE、方幂与矩阵多项式,(AB)k≠AkBk(AB)^k\neq A^kB^k。

::: warn 期末最容易丢分的三处

  • 把矩阵乘法当成对应元素逐个相乘:先看形状对不对,再看数值对不对。
  • 不看维度就相乘:写 ABAB 之前先确认左矩阵的列数等于右矩阵的行数。
  • 在没写清前提的地方消去 AA:下一步要用消去律,就先确认 AA 能否消去。
    :::

练习(L1)

1. 设 A,B,CA,B,C 都是同阶方阵,题中出现的乘积都有意义。
下面哪个说法对?
A. (AB)C=A(BC)(AB)C=A(BC) 恒成立,AB=BAAB=BA 不一定
B. AB=BAAB=BA 恒成立,(AB)C=A(BC)(AB)C=A(BC) 不一定
C. 只要 AB=OAB=O,就一定 A=OA=O 或 B=OB=O
D. 由 AB=ACAB=AC 且 A≠OA\ne O 就能推出 B=CB=C

参考答案

答案:A $(AB)C=A(BC)$ 是结合律,对使乘法有意义的矩阵都成立。$AB=BA$ 一般不成立;$AB=O$ 推不出谁为零;$AB=AC$ 也不能两边消去 $A$——这三条的反例都在本节正文里。要用消去律之前,先确认 $A$ 消得掉。

::: related

::: resources