MIT 18.06 线性代数计算笔记#
Lecture 1–16 选编 | 版本 1.0 | 2026-11-02
Lecture 1:线性方程组的几何解释#
本讲把同一个方程组分别看成平面的交点与列向量的线性组合。先学会转换表示,再判断解的情况。
1.1 从方程组写出矩阵式#
适用 已知线性方程组,需要整理系数、未知量和常数项。
步骤 固定未知量顺序;逐行抄出系数,缺项补零;把常数写成同一顺序的列向量。
例题 把下面方程组写成矩阵式:
⎩⎨⎧x1+x2+x3=2,2x1−x2+x3=−1,x1+2x2−x3=6.
按未知量 x1,x2,x3 的顺序排列:
A=1211−1211−1,x=x1x2x3,b=2−16,Ax=b.
每行对应三维空间中的一个平面。三个平面的公共点为
x=12−1.
验算 Ax=2−16=b,三个方程均成立。
易错 换未知量顺序时必须同时交换矩阵的列;常数项不能混入系数矩阵。
1.2 把矩阵乘向量写成列组合#
适用 想理解 Ax=b 是否能由 A 的列向量拼出 b。
步骤 记 A=[a1 a2 a3];用 xi 乘第 i 列,再逐项相加。
例题
A=102210011,x=2−13.
求 Ax。按列展开:
Ax=2102−210+3011=027.
因此 b 是三列的线性组合,组合系数依次是 2,−1,3。
验算 按行计算得到 Ax=(2−2,−1+3,4+3)T=(0,2,7)T。
易错 系数乘的是整列;不能把 xi 与第 i 行对应。
1.3 区分唯一解、无解和无穷多解#
适用 观察独立约束是否足够,以及方程之间是否相容。此处先看简单结构,系统消元放在下一讲。
步骤 先找能直接求出的未知量;若某行是其他行的和,就比较右端项是否也满足同样关系。
例题 情形一:
A=1000102−13,b=506.
第三行给 x3=2,第二行给 x2=2,第一行给 x1=1,故唯一解为 x=(1,2,2)T。
情形二、三使用同一组系数,比较两个右端项:
B=101112011,c=235,d=236.
第三行是前两行之和。对 Bx=c,第三个常数也是前两个之和,令 x3=t 得
x=−130+t1−11,t∈R.
对 Bx=d,却要求 2+3=6,所以无解。
验算 唯一解代回 Ax=b;无穷多解检查 Bxp=c、Bs=0;无解检查常数项矛盾。
易错 方程多并不保证唯一解;关键在于独立约束和相容性。
Lecture 2:矩阵消元#
消元的目标是逐步减少未知量之间的耦合。每次行变换都必须同时作用于右端项。
2.1 高斯消元与回代#
适用 方程组需要先化为上三角形,再自下而上求解。
步骤 选择非零主元;用“目标行减倍数乘主元行”消元;得到上三角方程组后回代。
例题
A=24−2131−112,b=−312.
先做 R2←R2−2R1、R3←R3+R1,再做 R3←R3−2R2:
[A∣b]⟶200112−131−37−1⟶200110−13−5−37−15.
回代:−5x3=−15,x2+3x3=7,2x1+x2−x3=−3,得到
x=1−23.
验算 Ax=−312=b。
易错 后一步使用的是已经更新的行;不要继续使用消元前的旧数据。
2.2 用消元矩阵表示行变换#
适用 需要把一次行操作写成矩阵乘法,或恢复被消去的行。
步骤 在单位矩阵上实施同样的行变换得到 E;左乘 A;恢复时用 E−1。
例题
A=13225−1−124.
要做 R2←R2−3R1,在 I 上做同样操作:
E=1−30010001,EA=1022−1−1−154.
逆操作为 R2←R2+3R1,因此
E−1=130010001.
验算 E−1(EA)=A,且只有第二行发生变化。
易错 行变换对应左乘;连续先做 E1 再做 E2,总矩阵是 E2E1。
2.3 主元为零时换行#
适用 当前位置主元为零,但同列下方仍有非零元素。
步骤 先交换行,把非零元素移到主元位置;同步交换右端项;继续消元。
例题
A=0122−11120,b=1−15.
交换 R1,R2:
[PA∣Pb]=102−121210−115.
再做 R3←R3−2R1、R3←R3−23R2:
[U∣c]=100−12021−211−11211.
回代得到 x3=−1、x2=1、x1=2。
验算 A(2,1,−1)T=b。
易错 某个主元为零不等于矩阵不可逆;应先检查能否换行。
2.4 从矛盾行判定无解#
适用 消元时系数行变成零,但对应常数不为零。
步骤 先消去线性相关的行;观察是否出现 [0 ⋯ 0∣c] 且 c=0。
例题
A=12024112−1,b=370.
做 R2←R2−2R1:
10020110−1310.
第二行要求 0=1,因此无解,后续未知量无需继续求。
验算 原方程左端第二行是第一行的两倍,但 7=2×3。
易错 零系数行且右端也为零,只表示冗余约束,不是矛盾。
Lecture 3:矩阵乘法与逆矩阵#
先掌握矩阵乘法的四种组织方式,再用行变换求逆。四种乘法使用四组独立数据。
3.1 行乘列:逐元素计算#
适用 需要积矩阵的少数元素,或矩阵没有明显结构。
步骤 若 A 为 m×n、B 为 n×p,则 cij=∑k=1naikbkj;每个元素用一行点乘一列。
例题
A=10223−1−121,B=2100−21132.
例如第一行第三列为 1×1+2×3+(−1)×2=5。逐项计算得
AB=433−5−435131.
验算 另查 c32=2×0+(−1)(−2)+1×1=3,与结果一致。
易错 相乘条件是内侧维数相同;结果的行数来自 A,列数来自 B。
3.2 按列计算矩阵乘积#
适用 右矩阵各列较稀疏,适合把积矩阵逐列求出。
步骤 写 B=[b1 b2 b3],则 AB=[Ab1 Ab2 Ab3];每列再看成 A 的列组合。
例题
A=2100121−13,B=1010122−10.
Ab1=a1+a3=303,Ab2=a2+2a3=2−18,Ab3=2a1−a2=41−2.
把三列按原顺序拼回:
AB=3032−1841−2.
验算 检查第一列第一项 2×1+0×0+1×1=3。
易错 这是按 B 的列分解;列组合的素材取自 A。
3.3 按行计算矩阵乘积#
适用 左矩阵各行较稀疏,适合把积矩阵逐行求出。
步骤 记 B 的行为 r1,r2,r3;AB 的第 i 行为 ai1r1+ai2r2+ai3r3。
例题
A=1020−11210,B=1203−12014.
(AB)1,:=r1+2r3=[178],(AB)2,:=−r2+r3=[−233],(AB)3,:=2r1+r2=[451].
AB=1−24735831.
验算 第一行第二项也可由 1×3+0×(−1)+2×2=7 得到。
易错 行组合的系数来自 A 的行,被组合的是 B 的行。
3.4 列乘行:外积之和#
适用 需要把乘积拆成秩至多为一的简单矩阵,或利用非零列、行对。
步骤 写 A=[a1 a2 a3],记 B 的行为 rk;计算 AB=∑k=13akrk。
例题
A=120013−101,B=2011−10023.
每项取左矩阵的一列乘右矩阵的对应行:
a1r1=240120000,a2r2=0000−1−3026,a3r3=−101000−303.
AB=a1r1+a2r2+a3r3=14111−3−329.
验算 按行乘列检查 (AB)23=2×0+1×2+0×3=2。
易错 外积的结果是矩阵;不要误算成行乘列得到的标量。
3.5 Gauss–Jordan 消元求逆#
适用 A 是方阵,并且能够消元得到单位矩阵。
步骤 把单位矩阵接在右侧;所有行操作同步作用于整个增广矩阵;左侧变为 I 后,右侧就是逆矩阵。
例题
A=101110010.
先做 R3←R3−R1、R3←R3+R2:
[A∣I]⟶10011001110−1011001.
再做 R2←R2−R3、R1←R1−R2:
[I∣A−1]=10001000101−10011−11.
验算 AA−1=A−1A=I。
易错 右侧必须跟着做全部行操作;不能只把 A 化简后再拼一个单位矩阵。
3.6 用消元判断不可逆#
适用 方阵是否有逆尚不确定。
步骤 先消元;若缺少某列主元,或出现零行,秩就小于阶数,矩阵不可逆。
例题
A=101213314.
做 R3←R3−R1−R2,得到零行;继续化简:
R=100010110.
只有两个主元,rank(A)=2<3,所以 A−1 不存在。
验算 A(−1,−1,1)T=0,存在非零零空间向量。
易错 只有方阵才讨论通常意义的双侧逆;满秩的非方阵也不应直接记作 A−1。
3.7 计算矩阵乘积的逆#
适用 乘积中的每个方阵均可逆。
步骤 把乘积的因子顺序反过来,再分别求逆:(AB)−1=B−1A−1。
例题
A=100010101,B=120010001.
A−1=100010−101,B−1=1−20010001.
(AB)−1=B−1A−1=1−20010−121.
验算 直接相乘有 (AB)(B−1A−1)=I;本题 A−1B−1 的 (2,3) 项为 0,而正确结果该项为 2。
易错 一般不能交换矩阵乘法顺序;逆矩阵的顺序必须倒置。
Lecture 4:分解为 A = LU#
把消元过程保存下来,就可以重复求解同一系数矩阵对应的不同方程组。这里的 L 对角线统一为 1。
4.1 从消元倍数构造 LU 分解#
适用 方阵消元时无需换行,并且各步主元非零。
步骤 把消元后的上三角矩阵记作 U;把第 i 行消去第 j 列时的倍数 lij 填入 L 的对应位置。
例题
A=24−2158015.
操作为 R2←R2−2R1、R3←R3+R1、R3←R3−3R2。倍数分别为 2,−1,3,所以
L=12−1013001,U=200130012,A=LU.
验算 相乘 LU=24−2158015=A。
易错 L 中填消元倍数本身;消元矩阵中对应位置才是倍数的相反数。
4.2 前代、回代与多右端项复用#
适用 已经知道 A=LU,需要求一个或多个右端项对应的解。
步骤 先从上向下解 Ly=b;再从下向上解 Ux=y。换右端项时复用同一组 L,U。
例题
A=1−122061−24,L=1−12011001,U=1002201−13.
第一组右端项为 b1=1−54。前代依次得
y1=1−46.
回代:3x3=6,2x2−x3=−4,x1+2x2+x3=1,得到 x(1)=(1,−1,2)T。
第二组右端项为 b2=306,直接复用分解:
Ly2=b2⇒y2=33−3,Ux(2)=y2⇒x(2)=21−1.
验算 Ax(1)=b1、Ax(2)=b2;两个方程组不需要重复分解。
易错 Ly=b 用前代,Ux=y 用回代;不要把两个右端项混用。
4.3 需要换行时计算 PA = LU#
适用 消元前需要交换行。这里示范首步换行的情形。
步骤 把换行记作 P;对 PA 进行普通消元得到 L,U;解方程时同步改用 Pb。
例题
A=012210102,b=330.
交换前两行,再用倍数 2,−1 消去第三行的前两项:
P=010100001,L=10201−1001,U=100120013.
PA=LU,Pb=330.
前代 Ly=Pb 得 y=(3,3,−3)T,回代得 x=(1,2,−1)T。
验算 PA=LU 且 Ax=b。
易错 若消元进行到中途才换行,L 中此前已记录的相应行部分也要同步交换。
Lecture 5:转置、置换与实向量空间#
本讲区分矩阵的行、列操作,并开始检查向量集合是否构成子空间。
5.1 转置与乘积转置#
适用 需要交换行列,或把矩阵乘积整体转置。
步骤 把 (i,j) 元移到 (j,i);乘积转置时反转顺序:(AB)T=BTAT。
例题
A=103−120211,B=0121012−10.
AT=1−12021301,BT=01210−1210.
(AB)T=BTAT=33341−2246.
验算 先求 AB 再交换行列,得到相同结果。
易错 一般 (AB)T=ATBT;转置不是求逆。
5.2 置换矩阵的左乘与右乘#
适用 需要用矩阵表示交换行或交换列。
步骤 对 I 交换两行得到 P;PA 交换 A 的对应行,AP 交换对应列。
例题
A=136258479,P=010100001.
PA=316528749,AP=258136479.
本题左乘交换第 1、2 行,右乘交换第 1、2 列。
验算 PTP=I,交换两次恢复原矩阵:P(PA)=A、(AP)P=A。
易错 一般置换要用 P−1=PT 恢复;本题单次对换才满足 P−1=P。
5.3 计算 A 的转置乘 A 并检查对称性#
适用 要计算列向量之间的内积,或构造一个对称矩阵。
步骤 ATA 的 (i,j) 元是第 i,j 列的内积;先算对角和上三角,再利用对称性补齐。
例题
A=120101012.
例如 g11=12+22+02=5,g12=1×1+2×0+0×1=1,g23=0+0+2=2。
ATA=512122225.
验算 结果与其转置相同;对角线是各列长度的平方,均非负。
易错 ATA 与 AAT 通常不同;对非方阵,两者的阶数也可能不同。
5.4 检验子空间并写成参数形式#
适用 集合由向量约束给出,需要判断是否为子空间。
步骤 检查零向量、加法与数乘封闭性;齐次线性约束可以直接用其线性性质验证;再把受约束变量表示成自由参数。
例题 考虑 S={x∈R3:Ax=0},其中
A=123123123.
三个约束等价于 x1+x2+x3=0。零向量满足约束;若 Au=Av=0,则 A(αu+βv)=0,故 S 是子空间。令 x2=s,x3=t:
x=s−110+t−101,s,t∈R.
对比 T={x:Ax=(1,2,3)T}:零向量不满足,所以 T 不是子空间。
验算 参数式中任意向量都满足三行约束;s=t=0 时得到零向量。
易错 只检查加法不够;只要零向量不在集合内,就可直接否定。
Lecture 6:列空间与零空间#
列空间回答“哪些右端项能够求解”,零空间回答“哪些输入会得到零”。本讲先用直接关系计算,第 7 讲再系统构造特殊解。
6.1 判断向量是否属于列空间#
适用 给定 b,判断它是否可写成 A 的列向量的线性组合。
步骤 解 Ax=b;存在解就属于 C(A)。有明显的行关系时,可以先写出右端项必须满足的条件。
例题
A=101011112,b=235.
第三行是前两行之和,故可解条件为 b3=b1+b2。本题 5=2+3,并且
A230=235.
所以 b∈C(A)。相反,c=(2,3,6)T 不满足该关系,故 c∈/C(A)。
验算 直接求出组合 b=2a1+3a2,不只停留在条件判断。
易错 属于列空间只要求存在一个解,不要求解唯一。
6.2 利用主元列计算列空间的基#
适用 需要从原矩阵的列中选出独立生成向量。
步骤 对 A 行化简;记录主元所在列号;回到原矩阵取对应列。
例题
A=102204011317⟶R=100200010310.
主元在第 1、3 列,因此
BC(A)=⎩⎨⎧102,011⎭⎬⎫,dimC(A)=2.
原矩阵另外两列满足 a2=2a1、a4=3a1+a3,所以两列已能生成全部列。
验算 所选两列线性无关,且每个未选列均可由它们组合得到。
易错 行变换一般改变列空间;R 的主元列只提供列号,不能直接替代 A 的列。
6.3 由阶梯方程直接读出零空间#
适用 矩阵已是简单阶梯形,未知量之间的关系容易回代。
步骤 令无主元列对应变量为参数;由下往上表示主元变量;把参数提取到向量前。
例题
A=100210−130,Ax=0.
第二行给 x2=−3x3,第一行给 x1=−2x2+x3=7x3。令 x3=t:
x=t7−31,N(A)=span⎩⎨⎧7−31⎭⎬⎫.
零空间位于 R3,维数为 1。
验算 A(7,−3,1)T=0。
易错 零空间一定包含零向量;参数取零不能被排除。
Lecture 7:求解 Ax = 0:主元变量与特殊解#
每个自由变量对应一个特殊解。把特殊解放成列,就得到零空间的一组基。
7.1 行最简形与特殊解#
适用 一般齐次方程组,需要系统求出全部解。
步骤 化为 R;找自由变量;每次只令一个自由变量为 1,其余为 0,再求主元变量。
例题
A=121242132011⟶R=100200010−110.
可先做 R2←R2−2R1、R3←R3−R1,再消去重复行和主元上方元素。主元变量为 x1,x3,自由变量为 x2,x4。
令 (x2,x4)=(1,0) 和 (0,1),分别得到
s1=−2100,s2=10−11.
x=c1s1+c2s2,c1,c2∈R.
验算 As1=As2=0,两特殊解的自由分量构成 2×2 单位阵,所以线性无关。
易错 特殊解是齐次解的基向量,不是非齐次方程的特解。
7.2 从标准分块形式直接构造零空间矩阵#
适用 主元列已排在前面,行最简形的非零部分为 [I F]。
步骤 由 xp+Fxf=0 得 xp=−Fxf;因此全部解为 x=Nxf,其中 N=(I−F)。
例题
A=1010112−11−132⟶R=1000102−10−130.
前两列为主元列,后两列为自由列。取 F 为前两行后两列:
F=[2−1−13],N=−21101−301.
x=N[st],s,t∈R.
矩阵 N 的两列就是零空间基。这里出现的 2×2 块只是原矩阵计算中的分块。
验算 AN=0;N 的最后两行是单位阵,保证两个基向量独立。
易错 只有在主元变量和自由变量按对应顺序排列后,才能直接套用这个分块表达式。
7.3 主元列不连续时还原变量顺序#
适用 自由列与主元列交错,或第一列本身就是自由列。
步骤 按原列号标记变量;直接逐个设置自由变量;最终向量仍按 x1,x2,… 排列。若先交换列,最后必须逆置换。
例题
A=000121243364⟶R=000100010110.
主元列为第 2、3 列,自由变量是 x1,x4;方程为 x2+x4=0、x3+x4=0。因此
x=s1000+t0−1−11,s,t∈R.
验算 将两个向量分别代入 A,结果均为零。第一列全零,所以 (1,0,0,0)T 必在零空间中。
易错 不能见到两个主元就默认 x1,x2 为主元变量;应看实际列号。
Lecture 8:求解 Ax = b:行最简形#
非齐次方程先判断是否相容,再求一个特解,最后加上全部齐次解。
8.1 对含参数右端项求相容条件#
适用 系数矩阵固定,右端项含一个或多个参数。
步骤 对系数部分消元;同样操作作用于右端;每个零系数行对应一个必须为零的线性表达式。
例题
A=101112022,b=b1b2b3.
做 R3←R3−R1−R2:
100110020b1b2−b1−b2+b3.
所以相容条件为
b3=b1+b2.
相容时令 x3=t,由第二行得 x2=b2−2t,再由第一行得 x1=b1−b2+2t。
验算 代入第三行得到 x1+2x2+2x3=b1+b2,与相容条件一致。
易错 相容条件来自零系数行的右端,不是要求右端项的每个分量都为零。
8.2 特解加齐次解:写出全部非齐次解#
适用 方程组相容,并存在自由变量。
步骤 对 [A∣b] 化简;先令自由变量为零求 xp;再求 Axn=0 的特殊解;相加。
例题
A=101112123011,b=1−10.
做 R3←R3−R1−R2、R1←R1−R2,得到
[R∣d]=100010−120−1102−10.
自由变量为 x3,x4。令二者为零得 xp=(2,−1,0,0)T;再分别令自由变量为 (1,0)、(0,1),得到
s1=1−210,s2=1−101.
x=2−100+s1−210+t1−101,s,t∈R.
验算 Axp=b、As1=As2=0,所以任意参数都给出同一右端项。
易错 特解只需要找一个;齐次部分必须包含全部自由方向。
8.3 用秩分类解的数量#
适用 已经得到阶梯形,需要快速确定解的类型。
步骤 先比较 r=rank(A) 和 rank([A∣b]);不等则无解,相等则有解。相容时,r=n 为唯一解,r<n 为无穷多解。
例题
A=1020112−13,b=124,c=125.
对 A 做 R3←R3−2R1−R2 得零行。b3=2b1+b2,故两个秩均为 2,有一个自由变量;对 c,相同行操作的右端为 1,故增广矩阵秩为 3,无解。
再看唯一解的例子:
B=101110021,d=302.
做 R3←R3−R1、R3←R3+R2,第三个主元为 3,所以两个秩均为 3,唯一解为
x=3732−31.
验算 对相容系统,自由变量数一律为 n−r;唯一解代回 Bx=d。
易错 未知量数量 n 是列数;不要拿方程数量 m 与秩比较来判断唯一性。
Lecture 9:线性无关、基与维数#
把向量并成矩阵后,主元列决定哪些向量独立;参数表示决定子空间需要多少个独立方向。
9.1 用齐次方程判断线性无关#
适用 给定向量组,需要判断能否非平凡地组合成零。
步骤 将向量作为列组成 A;求 Ac=0。只有零解则独立,有非零解则相关,并可读出关系式。
例题
A=[v1 v2 v3]=110011121⟶R=100010110.
令 c3=t,得到 c1=c2=−t。取 t=1 得
−v1−v2+v3=0.
所以三个向量线性相关,其中 v3=v1+v2。
验算 直接按坐标相加可验证;矩阵只有两个主元。
易错 一个非零向量本身独立,但多个非零向量仍可能线性相关。
9.2 从生成向量中筛选一组基#
适用 已知某子空间由若干向量生成,需要去掉冗余。
步骤 将生成向量并为矩阵;行化简;取原矩阵的主元列;主元数就是维数。
例题
A=111222012123⟶R=100200010110.
主元列为第 1、3 列,所以
B=⎩⎨⎧111,012⎭⎬⎫,dimspan(v1,v2,v3,v4)=2.
剩余列满足 v2=2v1、v4=v1+v3,可以删去。
验算 保留列独立,删去列仍能由保留列生成,两个条件都满足。
易错 基必须既独立又能生成;不能仅凭向量数量判断是否为基。
9.3 从线性约束计算子空间的基和维数#
适用 子空间以满足一组齐次方程的向量集合给出。
步骤 把约束写为 Ax=0;消元识别独立约束;参数化并提取参数向量;参数向量独立时就是基。
例题 求 S={x∈R4:Ax=0} 的基,其中
A=101112011101,R=100010−110100.
约束为 x1−x3+x4=0、x2+x3=0。令 x3=s,x4=t:
x=s1−110+t−1001.
所以这两个参数向量构成 S 的一组基,dimS=4−2=2。
验算 两个向量分别满足原来的三条约束;它们的自由分量独立。
易错 第三条约束若由前两条相加得到,就不能再多减一次维数。
9.4 把独立向量补成整个空间的一组基#
适用 已知几个独立向量,需要补成整个空间的一组基。
步骤 依次尝试加入标准基向量;只保留能增加秩的列;达到所在空间的维数时停止。
例题 已知 v1=(1,1,0)T、v2=(1,0,1)T。尝试加入 e1=(1,0,0)T,构成主体矩阵
B=[v1 v2 e1]=110101100.
做 R2←R2−R1、R3←R3+R2,主元依次为 1,−1,−1。因此 {v1,v2,e1} 是 R3 的一组基。
验算 三个主元说明三列独立;三个独立方向已经生成 R3。
易错 不能任意添加一个向量就认为能补全基;添加后秩必须增加。
9.5 求向量在给定基下的表示系数#
适用 基向量已给定,需要知道某个向量由它们怎样组合。
步骤 按指定顺序将基向量排成列矩阵 B;解 Bc=v;系数列 c 就是该基下的坐标。
例题
B=[v1 v2 v3]=101110012,v=128.
方程为 c1+c2=1、c2+c3=2、c1+2c3=8。用前两式消去 c1,c3,第三式变为 5−3c2=8,因此
[v]B=c=2−13.
验算 2v1−v2+3v3=v。
易错 基向量顺序改变,坐标分量的顺序也会改变;v 的标准坐标通常不同于 [v]B。
Lecture 10:四个基本子空间#
对 m×n 矩阵,列空间与左零空间在实 m 维空间中,行空间与零空间在实 n 维空间中。四种基本计算各用独立例题。
10.1 计算列空间 C(A)#
适用 求输出方向构成的空间及其维数。
步骤 消元记录主元列号;取原矩阵对应列;维数等于秩。
例题
A=101211212133⟶R=100001001100.
第 1、2 列为主元列,所以
BC(A)=⎩⎨⎧1012,1121⎭⎬⎫,dimC(A)=2.
这些基向量有四个分量,因此 C(A)⊆R4;第三列为前两列之和。
验算 两列独立并生成全部三列;r=2。
易错 不要把列数 3 当作列空间所在空间的维数;每列的分量数才决定所在空间。
10.2 计算行空间 C(A 的转置)#
适用 求所有行向量生成的空间。
步骤 对 A 行化简;取行最简形的所有非零行;若统一写列向量,就把这些行转置。
例题
A=101213112011⟶R=100010−110−210.
BC(AT)=⎩⎨⎧10−1−2,0111⎭⎬⎫,dimC(AT)=2.
每个基向量有四个分量,因此行空间在 R4 中。行变换只做可逆行组合,行空间保持不变。
验算 原第一行等于 R 的第一行加两倍第二行;原第二行就是 R 的第二行;第三行是原前两行之和。
易错 行空间可以取 R 的非零行;这条规则不能套用到列空间。
10.3 计算零空间 N(A)#
适用 求所有使 Ax=0 的输入向量。
步骤 求 R;为每个自由变量构造一个特殊解;特殊解组成零空间基,维数为 n−r。
例题
A=101−110213022⟶R=100010310220.
由 x1+3x3+2x4=0、x2+x3+2x4=0 得
BN(A)=⎩⎨⎧−3−110,−2−201⎭⎬⎫,dimN(A)=4−2=2.
零空间在 R4 中,因为输入有四个分量。
验算 两个基向量分别满足 Av=0;自由分量分别是 (1,0) 与 (0,1)。
易错 N(A) 中向量的分量数是列数;不是零行的数量。
10.4 转置后求左零空间 N(A 的转置)#
适用 求所有满足 yTA=0 的行关系,统一把 y 写成列向量。
步骤 先转置;对 ATy=0 构造特殊解;所得基向量位于 Rm,维数为 m−r。
例题
A=1012011−11230,rref(AT)=1000101102−10.
自由变量是 y3,y4。分别取 (1,0)、(0,1):
BN(AT)=⎩⎨⎧−1−110,−2101⎭⎬⎫,dimN(AT)=4−2=2.
第一个基向量表示原矩阵第 3 行等于前两行之和;第二个表示第 4 行等于第 1 行的两倍减第 2 行。
验算 分别计算 ATy=0,等价地验证各行的加权和为零。
易错 左零空间不是 N(A);应先转置,未知量个数随之变为行数。
10.5 累计行变换直接提取左零空间#
适用 已经对 A 消元,希望同时记录零行来自哪些原始行。
步骤 对 [A∣Im] 同步做行变换,得到 [R∣E];R 中每个零行对应的 E 行转置后,就是左零空间基。
例题
A=101113024.
做 R3←R3−R1、R3←R3−2R2,最后做 R1←R1−R2:
[A∣I]⟶[R∣E]=100010−22010−1−11−2001.
第三行左侧为零,取右侧第三行的转置:
y=−1−21,N(AT)=span⎩⎨⎧−1−21⎭⎬⎫.
本题 m=n=3,r=2,四个空间的维数依次为 2,2,1,1。
验算 EA=R,且 yTA=0;右侧来自可逆行操作,取出的零行关系相互独立。
易错 只有把整个行变换同步作用于单位矩阵,右侧才能正确记录系数。
Lecture 11:把矩阵视为向量:矩阵子空间#
本讲仅保留矩阵子空间的基与维数。这里的“向量”是整个矩阵,线性组合仍按对应元素进行。
11.1 参数化矩阵子空间并提取基#
适用 矩阵集合的各元素满足线性约束,或整个矩阵由若干参数描述。
步骤 先用互相独立的参数表示所有元素;对每个参数提取一个系数矩阵;检查系数矩阵独立,数量就是维数。
例题 求以下矩阵空间的基和维数:
S=⎩⎨⎧abcba0c0a:a,b,c∈R⎭⎬⎫.
逐参数拆开:
X=a100010001+b010100000+c001000100.
三块矩阵都属于 S,并生成任意 X。若 αB1+βB2+γB3=0,依次看 (1,1),(1,2),(1,3) 元,得到 α=β=γ=0。因此 {B1,B2,B3} 是基,dimS=3。
一般情况下,也可按固定顺序把每个 3×3 矩阵展开为九维列向量,然后用消元判断这些矩阵是否独立。
验算 将任意参数代入拆分式可恢复原矩阵;三块系数矩阵没有非平凡零组合。
易错 这里求的是矩阵空间的维数,不是某一个 3×3 矩阵的秩;两者不能混同。
Lecture 14:正交向量与正交子空间#
从本讲继续使用 MIT 原讲次编号。正交计算的核心是内积为零;子空间问题只需检查一组生成向量。
14.1 用内积判断向量是否正交#
适用 判断实向量之间是否垂直。
步骤 对应分量相乘再求和;内积为零则正交,长度不必为 1。
例题
u=12−1,v=2−10,w=101.
uTv=1×2+2×(−1)+(−1)×0=0,uTw=1×1+2×0+(−1)×1=0,vTw=2×1+(−1)×0+0×1=2.
所以 u⊥v、u⊥w,但 v,w 不正交。
验算 内积对调次序不变;uTu=6,因此 u 不是单位向量。
易错 与同一个向量正交的两个向量,不一定彼此正交。
14.2 用生成矩阵判断两个子空间正交#
适用 两个子空间各有一组生成向量;这些向量不必本身都是基。
步骤 把生成向量分别排成列矩阵 A,B;计算 ATB;整个乘积为零才表示每对方向都正交。
例题 令 U=C(A),V=C(B),其中
A=101001011111,B=10−10010−111−1−1.
ATB=000000000.
因此 U⊥V。本题两矩阵都秩为 2,且 2+2=4,所以进一步得到 V=U⊥。
验算 任取 u=Aα,v=Bβ,都有 uTv=αTATBβ=0。
易错 只检验一对向量不够;要断言互为正交补,还需维数相加等于环境维数。
14.3 把求正交补转化为求零空间#
适用 已知子空间由若干向量生成,要找与其中所有向量都正交的方向。
步骤 把生成向量放成列矩阵 A;解 ATy=0,即 C(A)⊥=N(AT)。
例题 设 S=C(A),其中
A=1101011−11210.
rref(AT)=100010−1102−10.
令自由变量 y3=s,y4=t,得
y=s1−110+t−2101.
所以两参数向量构成 S⊥ 的基,dimS⊥=4−2=2。
验算 两基向量与 A 的每一列内积均为零;维数之和为 4。
易错 与列空间正交用 AT;若求行空间的正交补,应解 Ax=0。
14.4 验证四个子空间的正交关系并判断可解性#
适用 需要联系行空间、列空间和两个零空间,或检查 Ax=b 是否相容。
步骤 行空间的基与零空间基逐对内积;列空间基与左零空间基逐对内积。可解性要求 b 与整个左零空间正交。
例题
A=101011213.
BC(AT)=⎩⎨⎧102,011⎭⎬⎫,BN(A)=⎩⎨⎧−2−11⎭⎬⎫.
零空间基与两行空间基的内积分别为 −2+2=0、−1+1=0,所以 C(AT)⊥=N(A)。再看
BC(A)=⎩⎨⎧101,011⎭⎬⎫,BN(AT)=⎩⎨⎧−1−11⎭⎬⎫.
左零空间基 y=(−1,−1,1)T 与两个列空间基内积都为零,且两个空间的维数为 2 和 1,因此 C(A)⊥=N(AT)。
对 b=(2,1,3)T,yTb=−2−1+3=0,所以有解,例如 x=(2,1,0)T;对 c=(2,1,4)T,yTc=1=0,所以无解。
验算 两对空间的维数都加起来等于 3;直接检查 Ax=b。
易错 左零空间维数大于 1 时,必须与其所有基向量正交,不能只查一个。
Lecture 15:投影到子空间#
投影寻找子空间中离给定向量最近的点。计算完成后,最重要的检查是误差与目标子空间正交。
15.1 投影到一条直线#
适用 目标直线经过原点,方向向量 a=0。
步骤 先求投影系数 x^=(aTb)/(aTa);再求 p=ax^;最后求误差 e=b−p。
例题
a=122,b=303.
x^=aTaaTb=1+4+43+0+6=1,p=ax^=122,e=b−p=2−21.
系数 x^ 是标量,投影 p 与误差 e 都是三维向量。
验算 aTe=2−4+2=0。任意直线上点 ta 满足 ∥b−ta∥2=∥e∥2+∥p−ta∥2,故 p 最近。
易错 分母是 aTa,不是 ∥a∥;目标直线若不经过原点,应先平移。
15.2 投影到具有正交基的子空间#
适用 已知子空间的一组非零正交基;这些向量未必单位化。
步骤 分别求每个基方向上的投影,再相加:p=∑iui(uiTb)/(uiTui)。
例题 设 S=C(A),其中
A=1101−12202,b=203.
第三列是前两列之和,前两列 u=(1,1,0)T、v=(1,−1,2)T 是一组正交基,因为 uTv=0。分别计算
uTuuTb=22=1,vTvvTb=68=34.
p=u+34v=37−3138,e=b−p=−313131.
验算 uTe=0、vTe=0,所以误差与整个 S 正交。
易错 只能对一组正交基直接分方向相加;不能把生成矩阵中相关的第三列也再投影一次。
15.3 通过正规方程投影到一般列空间#
适用 目标空间由满列秩矩阵 A 的列生成,列向量不必正交。
步骤 令 p=Ax^;由误差正交 AT(b−Ax^)=0 建立正规方程;解系数后回乘 A。
例题
A=100101010011,b=1232.
前面三行已保证三列独立。计算
ATA=211121112,ATb=345.
正规方程为 2x^1+x^2+x^3=3、x^1+2x^2+x^3=4、x^1+x^2+2x^3=5。令 q=x^1+x^2+x^3,有 x^1+q=3、x^2+q=4、x^3+q=5;相加得到 4q=12。于是
x^=012,p=Ax^=0123,e=b−p=111−1.
本例 x^∈R3,而 p,e∈R4,两种对象的维数不同。
验算 ATe=0;误差不为零,说明 b 不在列空间。ATA 可逆来自列满秩。
易错 不要把正规方程写成 AATx^=Ab;实际计算优先解方程,不必显式求逆。
Lecture 16:投影矩阵与最小二乘#
本讲将投影写成矩阵,并用正规方程计算最小二乘解及直线拟合。
16.1 计算向一条直线投影的矩阵#
适用 目标直线是 span{a},其中 a=0。
步骤 先计算外积 aaT 和标量 aTa;求 P=aaT/(aTa);最后用 p=Pb 得到投影。
例题
a=121,b=213.
计算 aTa=6,因此
P=613161313231613161,p=Pb=673767,e=b−p=65−34611.
此处 aaT 是 3×3 矩阵,而 aTa 是标量。
验算 直接相乘有 P2=P、PT=P;且 aTe=0。
易错 不要把外积 aaT 与内积 aTa 混淆;分母要求 a=0。
16.2 计算向列空间投影的矩阵#
适用 A 的列线性无关,需要把 b 投影到 C(A)。
步骤 计算 ATA;求 P=A(ATA)−1AT;计算 p=Pb、e=b−p。
例题
A=100101020010,b=1234.
前 3 行为单位矩阵,因此 A 列满秩。计算
ATA=220250001,(ATA)−1=65−310−31310001.
P=65−31061−313103100106131065.
因为 A 是 4×3,P 是 4×4。再计算
p=Pb=65353625,e=b−p=61310−61.
验算 PT=P、P2=P;代入计算得 ATe=0。
易错 必须先确认列满秩;否则 ATA 不可逆,不能直接套用这个逆矩阵公式。
16.3 计算向正交补的投影#
适用 已知向子空间 S 正交投影的矩阵 P,要求向 S⊥ 的投影。
步骤 计算 Q=I−P;再求 p=Pb、e=Qb;检查 b=p+e。
例题
P=3231−31313231−313132,b=300.
因此
Q=I−P=31−3131−3131−3131−3131,p=Pb=21−1,e=Qb=1−11.
例如取 A=110011121,其列空间恰为 S,而 S⊥=span{(1,−1,1)T}。
验算 p+e=b,Pe=0、Qp=0,且 pTe=0;Q2=Q。
易错 I−P 投影到正交补,不是一般意义上的矩阵逆;投影矩阵通常不可逆。
16.4 求不相容方程组的最小二乘解#
适用 Ax=b 无解,需要使 ∥Ax−b∥2 最小;本题 A 列满秩。
步骤 求 ATA 与 ATb;解正规方程得到 x^;计算 p=Ax^、e=b−p 及 ∥e∥2。
例题
A=1001010−10011,b=2012.
原方程前三行要求 x=(2,0,1)T,但第四行左端为 3=2,所以无解。
ATA=2−11−12−11−12,ATb=4−23.
对增广矩阵 [ATA∣ATb] 做 R2←R2+21R1、R3←R3−21R1,再做 R3←R3+31R2,可自下而上回代得到
x^=474143,p=Ax^=47414349,e=b−p=41−4141−41.
∥e∥2=41.
验算 ATe=0;对任意 x,∥b−Ax∥2=∥e∥2+∥A(x^−x)∥2,所以所得值最小。
易错 x^ 是系数向量,不是投影 p;不要把正规方程的右端写成 b。
16.5 用最小二乘拟合直线#
适用 给定数据 (ti,yi),拟合直线 y=C+Dt,使纵向残差平方和最小。
步骤 把数据写成 A(C,D)T≈b;解 ATA(C,D)T=ATb;计算拟合值和残差。
例题 对数据点 (0,1),(1,2),(2,2),(3,4),有
A=11110123,b=1224,ATA=[46614],ATb=[918].
正规方程是 4C+6D=9、6C+14D=18;消去 C 得 5D=29,回代得到
[CD]=[109109],y^=C+Dt=109+109t.
p=Ax^=109591027518,e=b−p=10151−10752,∥e∥2=107.
每个残差是观测值减对应的拟合值。设计矩阵的两列分别对应截距和斜率。
验算 ∑iei=0、∑itiei=0,即 ATe=0。
易错 这里最小化纵向残差,而不是点到直线的垂直距离;只有模型含截距时才能据此保证残差之和为零。
16.6 从正交条件判断候选最小二乘解#
适用 给定一个候选向量,判断它是否使 ∥Ax−b∥2 最小。
步骤 先算残差 e0=b−Ax0;再算 ATe0。结果为零当且仅当候选解为最小二乘解。
例题
A=101001011001,b=2104,x0=110.
e0=b−Ax0=10−13,ATe0=034=0.
所以 x0 不是最小二乘解。解正规方程得到
x^=−414525,e=b−Ax^=−41−414141.
验算 ATe=0,故 x^ 最优;本题 A 列满秩,所以最优系数唯一。由于 e=0,原方程组无精确解。
易错 最小二乘解的残差未必为零;必须区分 ATe=0 与 e=0。