M04 · 第 3 章 · 第二编 方程组与行列式

线性方程组:从消元到解空间与最小二乘

把线性约束写成增广矩阵,用行化简判断相容性并参数化全部解,再由秩、零空间和最小二乘解释精确求解与近似求解的边界。

报告页面错误
预备知识矩阵及其运算向量

本章目标

  1. 用初等行变换把线性方程组化为阶梯形或最简阶梯形,并参数化全部解。
  2. 利用增广矩阵的矛盾行和秩判据区分无解、唯一解与无穷多解。
  3. 从主元列构造行空间、列空间与零空间的基,并证明秩-零化度关系。
  4. 由残差正交性推导最小二乘正规方程,说明存在性、唯一性和数值计算边界。
页面阅读位置0% · 仅保存在此浏览器
章节未开始
本册完成进度0/6 章 · 0%
本页目录

一组方程真正要问什么

线性方程组不只要求“算出几个未知数”。它首先要求判断约束是否彼此兼容;若兼容,还要说明解是一个点、一条直线、一个平面,还是更高维的仿射集合。消元把这些判断集中到主元、自由变量和矛盾行上,秩与零空间则把计算结果提升为不依赖某次手算步骤的结构结论。

mm 条方程、nn 个未知量的系统写成

Ax=b,ARm×n,xRn,bRm.A\mathbf x=\mathbf b, \qquad A\in\mathbb R^{m\times n}, \quad \mathbf x\in\mathbb R^n, \quad \mathbf b\in\mathbb R^m.

A=[a1  an]A=[\mathbf a_1\ \cdots\ \mathbf a_n],同一问题也可读作

x1a1++xnan=b.x_1\mathbf a_1+\cdots+x_n\mathbf a_n=\mathbf b.

因此,相容性等价于 b\mathbf b 是否属于 AA 的列向量张成的空间。行方程描述约束,列组合描述能否生成目标;增广矩阵把两种读法放进同一次行化简。

初等行变换与高斯消元

定义

把系数矩阵与右端项并排得到增广矩阵 [Ab][A\mid\mathbf b]。高斯消元反复使用三类初等行变换:交换两行;把一行乘以非零常数;把一行加上另一行的倍数。把矩阵化为行阶梯形后回代称为高斯消元;继续把每个主元化为一,并清除主元上下的元素,得到最简行阶梯形,称为 Gauss–Jordan 消元。

三类操作都对应对原方程作可逆改写。交换只改变书写次序;非零倍乘可由倒数撤销;加倍行可由减去同一倍数撤销。禁止把一行乘以零,因为那会永久丢失一个约束。实现消元时还要同时操作增广列,单独改变 AA 而不改变 b\mathbf b 会得到另一个问题。

行阶梯形要求每个非零行的首个非零元素比上一行更靠右,零行位于底部。首个非零位置叫主元位置,对应未知量叫主元变量,其余未知量叫自由变量。最简行阶梯形还要求每个主元是所在列唯一的非零数。每个矩阵的最简行阶梯形唯一,虽然到达它的操作路径可以不同;普通阶梯形则不唯一。

行等价保持解集

[Ab][A\mid\mathbf b] 经过有限次初等行变换得到 [Rc][R\mid\mathbf c],则 Ax=bA\mathbf x=\mathbf bRx=cR\mathbf x=\mathbf c 有完全相同的解。

证明

每次行变换都等于在左侧乘一个可逆初等矩阵;记这张矩阵为 EE。若 Ax=bA\mathbf x=\mathbf b,则 EAx=EbEA\mathbf x=E\mathbf b;反过来可左乘 E1E^{-1} 恢复原方程。对有限次操作逐次应用这一双向蕴含,最终解集不变。

最简行阶梯形的唯一性把“选择了哪条消元路径”与“系统本身有什么结构”分开。不同的人可以先交换不同的行、选取不同的非零倍数,最后却必须得到同一个最简形;因此主元位置、秩、自由变量数和相容性都是系统的不变量。这个结论也给核对计算提供了办法:两份最简形只要有一个位置不同,至少一份行变换出了错。若只需要回代,化到普通阶梯形通常更省运算;若需要比较两个系统、读取零空间基或构造标准答案,继续化到最简形更方便。

主元列还要谨慎解释。最简形中的主元列编号指出原矩阵哪些列线性独立,但列空间的基应从原矩阵按这些编号取列,不能直接拿最简形的列;行变换改变了列向量所在的几何位置。相反,最简形的非零行可以作为原矩阵行空间的基,因为初等行变换始终在原行向量的线性组合之间往返。这一不对称常是“列空间基算对了维数,却写错了向量”的根源。

在精确分数运算中,“主元是否为零”是清楚的;浮点数据中却要考虑舍入误差。实际程序常在当前列选择绝对值较大的候选主元并交换到上方,这叫部分选主元,可避免除以极小数后把误差放大。程序还需依据数据尺度设定容差,不能机械地用严格相等判断秩。容差改变时估计秩可能变化,反映的是问题接近降秩,而不是线性代数定理失效。需要高可靠性时,应同时报告容差、残差与条件信息,不把一次浮点消元的输出冒充精确结论。

例题:从消元读出参数解

主元不够时怎样写出全部解

求解

x+2yz=1,2x+4y+z=5,x2y+2z=0.\begin{aligned} x+2y-z&=1,\\ 2x+4y+z&=5,\\ -x-2y+2z&=0. \end{aligned}

增广矩阵先作 R2R22R1R_2\leftarrow R_2-2R_1R3R3+R1R_3\leftarrow R_3+R_1

[121100330011].\left[ \begin{array}{ccc|c} 1&2&-1&1\\ 0&0&3&3\\ 0&0&1&1 \end{array} \right].

以第三行为主元行,令 R2R23R3R_2\leftarrow R_2-3R_3R1R1+R3R_1\leftarrow R_1+R_3,得到

[120200110000].\left[ \begin{array}{ccc|c} 1&2&0&2\\ 0&0&1&1\\ 0&0&0&0 \end{array} \right].

主元列是一、三列,yy 自由。令 y=ty=t,则

(x,y,z)=(22t,t,1)=(2,0,1)+t(2,1,0),tR.(x,y,z)=(2-2t,t,1) =(2,0,1)+t(-2,1,0), \qquad t\in\mathbb R.

把参数式代回三条原方程,左端分别恒为 1,5,01,5,0。这一步同时核对了消元符号与参数方向;只把答案代回化简后的矩阵,不能发现增广列在早先步骤中被误改的错误。

同一解集也可用另一个参数起点书写,但方向向量必须属于零空间。例如令 s=1ts=1-t 会得到不同外观的仿射参数式;两者描述的仍是同一条直线。比较参数解时,应比较特解之差是否属于零空间,而不是要求常数项逐字相同。

相容性、主元与参数数量

最直接的无解信号是阶梯形中出现

[00c],c0,\begin{bmatrix}0&\cdots&0\mid c\end{bmatrix}, \qquad c\ne0,

它代表矛盾式 0=c0=c。若没有矛盾行,系统相容;相容时没有自由变量便有唯一解,有至少一个自由变量便有无穷多解。方程比未知量多不必无解,方程与未知量相等也不保证唯一解,因为真正起作用的是独立约束的数量。

线性方程组的秩判据

AAnn 列,则:

  1. Ax=bA\mathbf x=\mathbf b 相容,当且仅当 rank(A)=rank([Ab])\operatorname{rank}(A)=\operatorname{rank}([A\mid\mathbf b])
  2. 相容系统有唯一解,当且仅当上述共同秩等于 nn
  3. 相容系统若共同秩为 r<nr<n,则有 nrn-r 个自由参数。
证明

对增广矩阵行化简。若增广列产生一个系数部分全零的主元,增广矩阵比系数矩阵多一个主元,同时出现矛盾行;反之若秩相等,就没有这种主元,回代可构造解。相容时,系数列中的 rr 个主元固定 rr 个主元变量,其余 nrn-r 个变量可自由指定。自由变量为零个时解唯一,否则每个自由参数都可连续变化,产生无穷多解。

一个参数怎样改变相容性

考虑

x+y+z=1,2x+2y+2z=λ,xy=0.x+y+z=1, \qquad 2x+2y+2z=\lambda, \qquad x-y=0.

用第二行减第一行的两倍,得到 [0 0 0λ2][0\ 0\ 0\mid\lambda-2]。因此 λ2\lambda\ne2 时无解; λ=2\lambda=2 时第二条方程重复第一条,秩为二而未知量有三个。令 z=tz=t,由 x=yx=yx+y+z=1x+y+z=1

(x,y,z)=(1t2,1t2,t).(x,y,z)= \left(\frac{1-t}{2},\frac{1-t}{2},t\right).

这里参数 λ\lambda 改变的是右端项是否落在列空间中,不改变 AA 本身的秩。

行空间、列空间、零空间与秩

定义

矩阵 ARm×nA\in\mathbb R^{m\times n} 的列空间 Col(A)Rm\operatorname{Col}(A)\subseteq\mathbb R^m 是原矩阵各列的张成空间;行空间 Row(A)Rn\operatorname{Row}(A)\subseteq\mathbb R^n 是各行的张成空间。行秩与列秩相等,这个共同维数称为矩阵的秩,记作 rank(A)\operatorname{rank}(A);它等于任一阶梯形中的主元数。

定义

矩阵 AA 的零空间是齐次方程全部解组成的子空间

N(A)={xRn:Ax=0}.\mathcal N(A)=\{\mathbf x\in\mathbb R^n:A\mathbf x=\mathbf0\}.

其维数称为零化度,记作 nullity(A)\operatorname{nullity}(A)。非齐次系统若有一个特解 xp\mathbf x_p,则全部解恰为 xp+N(A)\mathbf x_p+\mathcal N(A)

初等行变换保持行空间和零空间,却通常不保持列空间本身:左乘可逆矩阵会同时变换所有列在 Rm\mathbb R^m 中的位置。阶梯形的主元列位置能告诉我们应从原矩阵选择哪些列作为 Col(A)\operatorname{Col}(A) 的基;不能拿最简阶梯形中的主元列替代原列。另一方面,阶梯形的非零行可以直接作为行空间的一组基。

同一次行化简读取三个子空间

A=[121024021212],rref(A)=[120100110000].A= \begin{bmatrix} 1&2&1&0\\ 2&4&0&2\\ 1&2&-1&2 \end{bmatrix}, \qquad \operatorname{rref}(A)= \begin{bmatrix} 1&2&0&1\\ 0&0&1&-1\\ 0&0&0&0 \end{bmatrix}.

主元在第一、三列,所以秩为二。列空间的一组基必须取自原矩阵:

{[121],[101]}.\left\{ \begin{bmatrix}1\\2\\1\end{bmatrix}, \begin{bmatrix}1\\0\\-1\end{bmatrix} \right\}.

行空间可取最简阶梯形的两个非零行 (1,2,0,1)(1,2,0,1)(0,0,1,1)(0,0,1,-1)。解 Ax=0A\mathbf x=0 时令 x2=sx_2=sx4=tx_4=t,有

x=s[2100]+t[1011].\mathbf x =s\begin{bmatrix}-2\\1\\0\\0\end{bmatrix} +t\begin{bmatrix}-1\\0\\1\\1\end{bmatrix}.

两支方向向量直接代入原矩阵都得到零;秩二加零化度二等于列数四。

秩—零化度揭示自由度守恒

秩—零化度定理

ARm×nA\in\mathbb R^{m\times n}

rank(A)+nullity(A)=n.\operatorname{rank}(A)+\operatorname{nullity}(A)=n.
证明

AA 化为阶梯形。若有 rr 个主元列,就有 rr 个主元变量和 nrn-r 个自由变量。齐次解中,每个自由变量依次取一、其余取零,可构造 nrn-r 支基本解;它们线性无关,并张成全部齐次解,所以零化度为 nrn-r。主元数又等于秩 rr,两者之和为 nn

这一定理说明线性映射的输入自由度不会凭空消失:其中 rr 个方向进入列空间,剩下 nrn-r 个独立方向被压到零向量。对非齐次系统,若相容,特解只负责把零空间整体平移;解集的方向数仍由零化度决定。齐次系统永远相容,因为零向量总是解;它是否只有零解,则取决于零化度是否为零。

非齐次解集是零空间的平移

Ax=bA\mathbf x=\mathbf b 有两个解 x1,x2\mathbf x_1,\mathbf x_2,相减得到 A(x1x2)=0A(\mathbf x_1-\mathbf x_2)=0,所以任意两解之差都属于零空间。反过来,固定一个特解 xp\mathbf x_p 后,对任意 zN(A)\mathbf z\in\mathcal N(A) 都有

A(xp+z)=b+0=b.A(\mathbf x_p+\mathbf z) =\mathbf b+\mathbf 0 =\mathbf b.

因此全部解不多不少正是 xp+N(A)\mathbf x_p+\mathcal N(A)。这解释了为何相容系统只可能有唯一解或无穷多解:零空间若只有零向量,平移后仍是单点;零空间若含一个非零方向,该方向的任意实数倍都会产生新解,不可能只多出有限几个解。

几何维数也随之确定。若 AAnn 列、秩为 rr,相容解集就是 Rn\mathbb R^n 中一个 nrn-r 维仿射集合。它通常不是子空间,因为当 b0\mathbf b\ne0 时零向量不在解集中;只有齐次系统的解集本身是经过原点的子空间。把“仿射直线”直接称作“向量子空间”会丢掉这一差别。

非齐次系统的完整解结构

Ax=bA\mathbf x=\mathbf b 相容,任选一个特解 xp\mathbf x_p,则

{x:Ax=b}=xp+N(A).\{\mathbf x:A\mathbf x=\mathbf b\} =\mathbf x_p+\mathcal N(A).

其仿射维数为 nrank(A)n-\operatorname{rank}(A),且该表示与选择哪个特解无关。

证明

上面的加法说明右侧每个向量都是解;任意解 x\mathbf x 又满足 A(xxp)=0A(\mathbf x-\mathbf x_p)=0,故 xxpN(A)\mathbf x-\mathbf x_p\in\mathcal N(A),两集合相等。若换用另一个特解 xq\mathbf x_q,差 xqxp\mathbf x_q-\mathbf x_p 本就在零空间中,因此两次平移得到同一集合。维数由秩—零化度定理给出。

四个基本子空间怎样互相制约

除行空间、列空间和零空间外,还要考虑左零空间 N(AT)Rm\mathcal N(A^{\mathsf T})\subseteq\mathbb R^m。它由所有满足 ATy=0A^{\mathsf T}\mathbf y=0 的向量组成。四个空间分别位于两个环境空间:行空间与零空间在 Rn\mathbb R^n 中,列空间与左零空间在 Rm\mathbb R^m 中,不能因“都是矩阵的空间”就把其中向量相加。

矩阵乘法逐行读取时,Ax=0A\mathbf x=0 表示 x\mathbf xAA 的每一行正交,所以

N(A)=Row(A).\mathcal N(A)=\operatorname{Row}(A)^{\perp}.

同理, N(AT)=Col(A)\mathcal N(A^{\mathsf T})=\operatorname{Col}(A)^{\perp}。于是 dimRow(A)=dimCol(A)=r\dim\operatorname{Row}(A)=\dim\operatorname{Col}(A)=rdimN(A)=nr\dim\mathcal N(A)=n-rdimN(AT)=mr\dim\mathcal N(A^{\mathsf T})=m-r。这四个维数分别在 Rn\mathbb R^nRm\mathbb R^m 中配对相加。

左零空间还给出无解的证书。若存在 yN(AT)\mathbf y\in\mathcal N(A^{\mathsf T}) 使 yTb0\mathbf y^{\mathsf T}\mathbf b\ne0,则假设 Ax=bA\mathbf x=\mathbf b 会推出

0=(ATy)Tx=yTAx=yTb,0 =(A^{\mathsf T}\mathbf y)^{\mathsf T}\mathbf x =\mathbf y^{\mathsf T}A\mathbf x =\mathbf y^{\mathsf T}\mathbf b,

矛盾。反之,b\mathbf b 与整个左零空间正交就意味着 bCol(A)\mathbf b\in\operatorname{Col}(A),系统相容。增广矩阵里的矛盾行,正是这一正交障碍的坐标化表现。

不相容时改问最近的解

实际数据含噪或方程过多时,b\mathbf b 常常不在 Col(A)\operatorname{Col}(A) 中,精确方程没有解。此时不应从矛盾行中随意删掉一条观测,而应先说明误差度量,再寻找残差最小的近似。

定义

给定 ARm×nA\in\mathbb R^{m\times n}bRm\mathbf b\in\mathbb R^m,最小二乘解是使欧氏残差平方

Axb22\lVert A\mathbf x-\mathbf b\rVert_2^2

达到最小的向量。若有多个最小化向量,它们都是最小二乘解;除非另加最小范数等条件,定义不指定其中一个。

正规方程与残差正交性

x^\widehat{\mathbf x} 是最小二乘解,当且仅当

ATAx^=ATb.A^{\mathsf T}A\widehat{\mathbf x}=A^{\mathsf T}\mathbf b.

等价地,残差 r=Ax^b\mathbf r=A\widehat{\mathbf x}-\mathbf bAA 的每一列正交。最小二乘解至少存在;它唯一,当且仅当 AA 的列线性无关。

证明

f(x)=Axb22f(\mathbf x)=\lVert A\mathbf x-\mathbf b\rVert_2^2。沿任意方向 h\mathbf h 考察 f(x+th)f(\mathbf x+t\mathbf h),在 t=0t=0 的导数为 2hTAT(Axb)2\mathbf h^{\mathsf T}A^{\mathsf T}(A\mathbf x-\mathbf b)。极小点要求它对所有 h\mathbf h 都为零,因此得到正规方程。反过来,若正规方程成立,则

f(x+h)=f(x)+Ah22f(x),f(\mathbf x+\mathbf h) =f(\mathbf x)+\lVert A\mathbf h\rVert_2^2 \ge f(\mathbf x),

所以 x\mathbf x 确为全局最小点。先注意 N(ATA)=N(A)\mathcal N(A^{\mathsf T}A)=\mathcal N(A);这里的等式来自 zTATAz=Az22\mathbf z^{\mathsf T}A^{\mathsf T}A\mathbf z=\lVert A\mathbf z\rVert_2^2。因此 ATAA^{\mathsf T}AAA 同秩。又因为 Col(ATA)Col(AT)\operatorname{Col}(A^{\mathsf T}A)\subseteq\operatorname{Col}(A^{\mathsf T}),而两边维数都等于 rank(A)\operatorname{rank}(A),两列空间相等。于是任意 ATbA^{\mathsf T}\mathbf b 都属于 Col(ATA)\operatorname{Col}(A^{\mathsf T}A),正规方程至少有一个解。

任意两个正规方程解之差属于 N(A)\mathcal N(A);故零空间为零时解唯一,有非零零空间时可沿该方向得到多个同样好的解。

例题:用正规方程拟合直线

三个点的最小二乘直线

y=c+mxy=c+mx 拟合 (0,1)(0,1)(1,2)(1,2)(2,2)(2,2)。设计矩阵与观测向量为

A=[101112],b=[122].A= \begin{bmatrix} 1&0\\ 1&1\\ 1&2 \end{bmatrix}, \qquad \mathbf b= \begin{bmatrix}1\\2\\2\end{bmatrix}.

正规方程是

[3335][cm]=[56].\begin{bmatrix}3&3\\3&5\end{bmatrix} \begin{bmatrix}c\\m\end{bmatrix} = \begin{bmatrix}5\\6\end{bmatrix}.

解得 c=7/6c=7/6m=1/2m=1/2。预测值为 (7/6,5/3,13/6)T(7/6,5/3,13/6)^{\mathsf T},按“预测减观测”定义的残差为

r=[1/61/31/6].\mathbf r= \begin{bmatrix}1/6\\-1/3\\1/6\end{bmatrix}.

核对 1/61/3+1/6=01/6-1/3+1/6=0,以及 0(1/6)+1(1/3)+2(1/6)=00(1/6)+1(-1/3)+2(1/6)=0;残差与常数列和横坐标列都正交。残差平方和为 1/36+1/9+1/36=1/61/36+1/9+1/36=1/6

正规方程适合推导,却不总是合适的数值算法。形成 ATAA^{\mathsf T}A 会使二范数条件数平方:当列近乎相关时,有效数字可能明显损失。实际计算通常优先使用带主元的 QR 分解,秩亏或需要最小范数解时使用 SVD。若观测误差具有不同方差或相关性,还应说明加权内积;普通欧氏最小二乘不是无条件正确的噪声模型。

投影分解说明什么是“最近”

最小二乘解给出的拟合向量 b^=Ax^\widehat{\mathbf b}=A\widehat{\mathbf x} 位于列空间,残差 r=b^b\mathbf r=\widehat{\mathbf b}-\mathbf b 位于左零空间 N(AT)\mathcal N(A^{\mathsf T})。因此

b=b^r,b^r.\mathbf b =\widehat{\mathbf b}-\mathbf r, \qquad \widehat{\mathbf b}\perp\mathbf r.

对任意另一个列空间向量 y=Ax\mathbf y=A\mathbf x,向量 yb^\mathbf y-\widehat{\mathbf b} 仍在列空间,与 r\mathbf r 正交。勾股关系给出

by22=r22+yb^22r22.\lVert\mathbf b-\mathbf y\rVert_2^2 =\lVert\mathbf r\rVert_2^2 +\lVert\mathbf y-\widehat{\mathbf b}\rVert_2^2 \ge\lVert\mathbf r\rVert_2^2.

这不仅重新证明最近性,还说明拟合向量与残差都唯一:欧氏空间中的正交分解唯一。参数 x^\widehat{\mathbf x} 却可能不唯一,因为当 zN(A)\mathbf z\in\mathcal N(A) 时, A(x^+z)=Ax^A(\widehat{\mathbf x}+\mathbf z)=A\widehat{\mathbf x}。因此秩亏模型可以拥有唯一预测和唯一残差,同时拥有无穷多个参数解;报告“解不唯一”时应说明指的是参数,不是拟合数据向量。

如果误差尺度不同,可给正定权重矩阵 WW,最小化 (Axb)TW(Axb)(A\mathbf x-\mathbf b)^{\mathsf T}W(A\mathbf x-\mathbf b)。对应条件变为 ATW(Ax^b)=0A^{\mathsf T}W(A\widehat{\mathbf x}-\mathbf b)=0,正交概念也改成 WW 加权内积。权重必须来自可解释的精度或协方差模型;仅因某些观测“不合心意”而任意调权,会改变问题而非改进同一问题的解法。

一个矩阵对应多个右端项

工程计算常要在同一个 AA 上求解许多右端项。写成 AX=BAX=B 时,BB 的每一列是一组右端项,XX 的对应列是其解。若 AA 为可逆方阵,理论上 X=A1BX=A^{-1}B;实现中通常只分解 AA 一次,再对每列作前代与回代。这样既复用计算,也避免显式形成逆矩阵。

AA 不是方阵或秩不足,各列右端项可能分别相容或不相容。不能因为某一列有精确解,就断言整个矩阵方程都有精确解。最小二乘矩阵问题 minXAXBF2\min_X\lVert AX-B\rVert_F^2 可按列分解为多个普通最小二乘问题;它们共享列空间和分解,但残差与相容性仍需逐列报告。

矩阵逆也可由方程组定义:若方阵 AA 的每一列都有主元,依次解 Axj=ejA\mathbf x_j=\mathbf e_j,把解并列就得到 A1A^{-1}。Gauss–Jordan 方法把 [AI][A\mid I] 化为 [IA1][I\mid A^{-1}] 正是同时处理这 nn 个右端项。若左半边无法化成单位矩阵,算法应报告奇异,而不是输出一张带自由参数的“逆矩阵”。

把计算结果解释成结构

解题时可按固定顺序检查:先写清矩阵形状与变量顺序;再对完整增广矩阵行化简;先找矛盾行判断相容性,再标出主元列和自由变量;若要描述列空间,从原矩阵取主元列;若要描述零空间,把自由变量逐个参数化;只有精确系统不相容且问题允许近似时,才转入最小二乘。

浮点计算还需要主元策略和容差。精确手算中,一个非零数无论多小都可作主元;浮点环境中直接用 value === 0 判断秩会受尺度影响。带部分主元的消元通过选择绝对值较大的候选主元降低舍入放大,但“数值秩”仍必须结合容差、数据尺度或奇异值报告,不能冒充精确代数秩。

常见误区

“有三条方程和三个未知量,就一定有唯一解。”重复方程不会增加独立约束,矛盾方程还会使系统无解。唯一性要求相容且系数矩阵每一列都有主元。

常见误区

“行化简后的主元列就是原列空间的基。”主元位置可以从阶梯形读取,但列空间的基要回到原矩阵选列;行变换通常改变列向量本身。

正规方程有解不表示最小二乘解唯一

A=[1224]A=\begin{bmatrix}1&2\\2&4\end{bmatrix}。两列相关, ATAA^{\mathsf T}A 奇异。正规方程仍有解,但任意两组满足同一线性组合 x1+2x2x_1+2x_2 的参数都会产生相同预测;唯一性失败来自 N(A){0}\mathcal N(A)\ne\{0\}

练习:从精确解到近似解

练习

求解 x+y+z=2x+y+z=22xy+z=12x-y+z=13x+2z=33x+2z=3,写出全部解并说明秩与自由变量个数。

查看提示
先用第三行减去前两行之和,确认它没有新增约束;再任选一个自由变量。
查看解答

第三条方程是前两条之和,所以只有两个独立约束。令 z=tz=t,前两式给 x+y=2tx+y=2-t2xy=1t2x-y=1-t。相加得 x=12t/3x=1-2t/3,继而 y=1t/3y=1-t/3。因此

(x,y,z)=(1,1,0)+t(23,13,1),(x,y,z)= (1,1,0)+t\left(-\frac23,-\frac13,1\right),

系数矩阵秩为二,有一个自由变量。代回第三式得到 3(12t/3)+2t=33(1-2t/3)+2t=3

练习

参数 μ\mu 取何值时,方程组 x+y=1x+y=12x+2y=μ2x+2y=\mu 有解?分别描述有解时的全部解与无解时的矛盾行。

查看提示
第二行减去第一行的两倍;只需观察增广列。
查看解答

消元得到 [0 0μ2][0\ 0\mid\mu-2]。当且仅当 μ=2\mu=2 时相容,此时令 y=ty=t,有 (x,y)=(1t,t)(x,y)=(1-t,t),解有无穷多个;μ2\mu\ne2 时末行表示 0=μ200=\mu-2\ne0,所以无解。

练习

B=[101011112]B=\begin{bmatrix}1&0&1\\0&1&1\\1&1&2\end{bmatrix},求秩、列空间的一组基、零空间的一组基,并核对秩—零化度。

查看提示
第三列等于前两列之和;解齐次方程时令第三个变量为参数。
查看解答

第三行是前两行之和,第三列也是前两列之和;前两列独立,因此秩为二,列空间可取 (1,0,1)T(1,0,1)^{\mathsf T}(0,1,1)T(0,1,1)^{\mathsf T} 为基。齐次方程给 x1+x3=0x_1+x_3=0x2+x3=0x_2+x_3=0,故

N(B)=span{(1,1,1)T}.\mathcal N(B)= \operatorname{span}\{(-1,-1,1)^{\mathsf T}\}.

秩二加零化度一等于列数三。

练习

用直线 y=c+mxy=c+mx 最小二乘拟合 (0,1)(0,1)(1,2)(1,2)(3,2)(3,2)。求 c,mc,m、残差平方和,并核对残差与设计矩阵两列正交。

查看提示
对三点写出常数列与横坐标列,先算 ATAA^{\mathsf T}AATbA^{\mathsf T}b,再用两次内积核对残差。
查看解答

此时

ATA=[34410],ATb=[58].A^{\mathsf T}A= \begin{bmatrix}3&4\\4&10\end{bmatrix}, \qquad A^{\mathsf T}\mathbf b= \begin{bmatrix}5\\8\end{bmatrix}.

解得 c=9/7c=9/7m=2/7m=2/7。预测减观测的残差为 (2/7,3/7,1/7)T(2/7,-3/7,1/7)^{\mathsf T};其分量和为零,与横坐标列的内积为 3/7+3/7=0-3/7+3/7=0。残差平方和为 (4+9+1)/49=2/7(4+9+1)/49=2/7

练习

A=[1224]A=\begin{bmatrix}1&2\\2&4\end{bmatrix}b=(1,0)T\mathbf b=(1,0)^{\mathsf T}。求全部最小二乘解,说明为什么正规方程没有唯一解,并给出最小残差平方。

查看提示
把预测只写成 s=x1+2x2s=x_{1}+2x_{2} 的函数,先对一个变量 s 最小化。
查看解答

s=x1+2x2s=x_1+2x_2,则 Ax=(s,2s)TA\mathbf x=(s,2s)^{\mathsf T},目标函数为

(s1)2+(2s)2=5s22s+1.(s-1)^2+(2s)^2=5s^2-2s+1.

它在 s=1/5s=1/5 处最小,因此全部最小二乘解满足 x1+2x2=1/5x_1+2x_2=1/5。正规方程只给 5x1+10x2=15x_1+10x_2=1,因为两列相关而少一个独立约束。最小残差平方为 (4/5)2+(2/5)2=4/5(-4/5)^2+(2/5)^2=4/5

关系、资源与后续学习

  • 矩阵 把方程系数、未知量和右端项组织成统一乘法。
  • 高斯消元 提供保持解集的可逆行操作。
  • 矩阵的秩 记录独立约束与列空间维数。
  • 零空间 给出齐次自由方向和非齐次解集的方向部分。
  • 最小二乘 把无精确解的系统转为投影问题。
课程 · 2011

MIT 18.06SC Linear Algebra

Gilbert Strang

提供线性代数核心概念的完整课程顺序、例题、习题和考试材料。

打开官方来源

MIT OpenCourseWare 18.06SC 以消元、四个基本子空间、正交投影和最小二乘为主线,适合继续核对本章的主元语言、秩—零化度和正规方程。资源只提供课程入口;本章所有数值例题均已在正文中独立展开并代回核验。

书籍 · 2019

Interactive Linear Algebra

Dan Margalit, Joseph Rabinoff

章节含几何解释、交互图、例题、练习提示和部分解答,可用于交叉核对本册六章的代数与几何主线。

打开官方来源

Georgia Tech 的 Interactive Linear Algebra 逐步覆盖行化简、相容性、秩、零空间、正交投影与最小二乘,提供与 MIT 课程不同的交互图和例题,可用于交叉核验本章的结构结论。

下一章进入 行列式。对方阵,行列式把“每列都有主元、零空间为零、对每个右端项唯一可解”压缩为一个标量判据;它不能替代本章对非方阵、无穷多解和最小二乘的分析。