主要内容

高等代数: 多项式与线性代数

2.6 简化阶梯形与线性方程组的解

子节 2.6.1 简化阶梯型矩阵

定理 2.4.9告诉我们每一个矩阵都可以经过初等行变换变成阶梯型矩阵。利用初等行变换,阶梯型矩阵还可以进一步化简。

定义 2.6.1.

\(A\)是一个\(m \times n\)阶矩阵,若\(A\)满足下面3个条件:
  1. \(A\)是阶梯型矩阵;
  2. \(A\)的主元都是1;
  3. \(A\)的任意一个主元所在的列除了主元1外,其余元素都是0;
则称矩阵\(A\)是一个简化阶梯型
我们有下面的结论。
来看一个具体的例子。

2.6.3.

简化阶梯型在英文中称为 reduced row echelon form,所以sage中求简化阶梯型的命令为rref。

子节 2.6.2 利用简化阶梯型求解线性方程组

下面利用简化阶梯型来理解线性方程组的解集。把线性方程组的增广矩阵化成简化阶梯矩阵后再具体求解的方法也称为Gauss-Jordan消去法
\(A_{m\times n}x=\beta\)是一个一般的线性方程组,记
\begin{equation*} \tilde{A} =(A,\beta) \end{equation*}
是此线性方程组的增广矩阵。对增广矩阵\(\tilde{A}\)作行的初等变换先化为阶梯形矩阵,为了记号的简单,不妨设(请思考为什么可以这样不妨设)
\begin{equation*} \tilde{A}\longrightarrow\left(\begin{array}{cccccccc} a_{11}'&a_{12}'&\cdots&a_{1r}'&a_{1,r+1}'&\cdots&a_{1n}'&b_{1}'\\ 0&a_{22}'&\cdots&a_{2r}'&a_{2,r+1}'&\cdots&a_{2n}'&b_{2}'\\ \vdots&\vdots& &\vdots&\vdots& &\vdots&\vdots\\ 0&0&\cdots&a_{rr}'&a_{r,r+1}'&\cdots&a_{rn}'&b_{r}'\\ 0&0&\cdots&0&0&\cdots&0&b_{r+1}'\\ 0&0&\cdots&0&0&\cdots&0&0\\ \vdots&\vdots& &\vdots&\vdots& &\vdots&\vdots\\ 0&0&\cdots&0&0&\cdots&0&0 \end{array}\right), \end{equation*}
其中\(a_{11}',\dots a_{rr}'\)都不等于0,也就是说它们都是主元。
现在对\(b'_{r+1}\)是否等于0来做讨论。若\(b'_{r+1}\ne 0\),将这个增广矩阵还原为线性方程组,\(b'_{r+1}\)所在的第\(r+1\)行所对应的方程为
\begin{equation*} 0x_1+\cdots+0x_n =b'_{r+1}, \end{equation*}
此时,无论\(x_1,\dots,x_n\)取何值,由于前面的系数都是0,所以等式左边为0;而等式右端\(b'_{r+1}\ne 0\),所以方程不可能被满足,即方程组无解。由于原方程组\(Ax=\beta\)与新方程组同解,所以原方程组也无解。
下面讨论方程组有解的情况,即\(b'_{r+1}= 0\)的情况。此时,对增广矩阵继续做作初等行变换,将之变成简化阶梯型,记为
\begin{equation*} \tilde{A}\longrightarrow {\left(\begin{array}{cccccccc} 1&0&\cdots&0&c_{1,r+1}&\cdots&c_{1n}&d_{1}\\ 0&1&\cdots&0&c_{2,r+1}&\cdots&c_{2n}&d_{2}\\ \vdots&\vdots& &\vdots&\vdots& &\vdots&\vdots\\ 0&0&\cdots&1&c_{r,r+1}&\cdots&c_{rn}&d_{r}\\ 0&0&\cdots&0&0&\cdots&0&0\\ 0&0&\cdots&0&0&\cdots&0&0\\ \vdots&\vdots& &\vdots&\vdots& &\vdots&\vdots\\ 0&0&\cdots&0&0&\cdots&0&0 \end{array}\right)} \end{equation*}
接下来对简化阶梯型中非0行行数\(r\)做进一步地分类讨论。
极端情况为\(r=n\)。此时\(\tilde{A}\)的简化阶梯型为
\begin{equation*} \tilde{A}\longrightarrow\begin{pmatrix} 1 & 0 & \cdots & 0 & d_1\\ 0 & 1 & \ddots & \vdots & \vdots\\ \vdots & \ddots &\ddots & 0 & d_{n-1}\\ 0 & \cdots & 0 & 1 & d_n\\ 0 & \cdots & 0 & 0 & 0\\ \vdots & \vdots &\vdots &\vdots & \vdots\\ 0 & \cdots & 0 & 0 & 0\\ \end{pmatrix}. \end{equation*}
(容易发现此种情形下\(m\ge n\)。)此矩阵对应的方程组(忽略全0方程后)为
\begin{equation*} \left\{ {\begin{array}{*{20}{c}} {{x_1}}&{}&{}&{}&{ = {d_1}}\\ {}&{{x_2}}&{}&{}&{ = {d_2}}\\ {}&{}& \ddots &{}&{}\\ {}&{}&{}&{{x_n}}&{ = {d_n}} \end{array}} \right. \end{equation*}
此时,线性方程组有唯一解
\begin{equation*} \left\{ {\begin{array}{*{20}{c}} {{x_1} = {d_1}}\\ {{x_2} = {d_2}}\\ \vdots \\ {{x_n} = {d_n}} \end{array}} \right.. \end{equation*}
最后,还需要讨论的情况是\(r < n\)。保留主元列对应的项在方程左边,将非主元列对应的项移到方程右边,方程组可转化为
\begin{equation} \left\{ {\begin{array}{*{20}{c}} {{x_1}}&{}&{}&{}&{ = {d_1} - {c_{1,r + 1}}{x_{r + 1}} - \cdots - {c_{1,n}}{x_n}}\\ {}&{{x_2}}&{}&{}&{ = {d_2} - {c_{2,r + 1}}{x_{r + 1}} - \cdots - {c_{2,n}}{x_n}}\\ {}&{}& \ddots &{}&{}\\ {}&{}&{}&{{x_r}}&{ = {d_r} - {c_{r,r + 1}}{x_{r + 1}} - \cdots - {c_{r,n}}{x_n}} \end{array}} \right.\tag{2.6.1} \end{equation}
此时,\(x_{r+1},\dots ,x_n\)可以选择任意的值;当\(x_{r+1},\dots ,x_n\)选定后,\(x_1,\dots, x_r\)可以由(2.6.1)唯一确定。
注意到从\(Ax=\beta\)(2.6.1),我们所做的操作都是同解变形,因此所有满足(2.6.1)\(x = (x_1,\dots,x_n)^T\)都是\(Ax=\beta\)的解,\(Ax=\beta\)的解也都满足(2.6.1)
(2.6.1)已经足够简单,我们把\(x_1,\dots ,x_r\)通过\(x_{r+1},\dots ,x_n\)表示出来的这样一组解的表达式称为该方程组的一般解
在上述一般解的表达式中,因为\(x_{r+1},\dots ,x_n\)可以自由取值,所以也称为自由变量\(x_1,\dots ,x_r\)称为主变量,因为与它们相乘的元素都在主元所在的列。
需要注意的是:上述公式是在我们做了一个简化性的假设,即阶梯型的主元都在对角元的前提下给出的,一般情况下不能直接带入公式(2.6.1)。虽然不能直接带入,但上述整个推导过程都可以平行推广到一般情形,这一部分请各位同学在具体计算和问题分析中要注意。

2.6.4. 主元列不在前\(r\)列的例子.

子节 2.6.3 简化阶梯型的唯一性

对于一个矩阵\(A\),与其行等价的阶梯型矩阵并不唯一,但我们接下来会证明:与\(A\)行等价的简化阶梯型必定唯一。先来证明一个引理。

证明.

\(B=C\)时,\(Bx=0\)\(Cx=0\)同解是显然的,即充分性成立。下面证明必要性。
\(B=(b_{ij})_{m\times n}\)的非0行数为\(r\)
\begin{equation*} 1\le j_1 < j_2 < \cdots < j_r \le n \end{equation*}
其中\(j_i (i=1,\dots,r)\)\(B\)\(i\)行主元的列指标。则\(x_{j_1},\dots,x_{j_r}\)\(Bx=0\)一般解中的所有主变量,其余变量为自由变量。
根据(2.6.1)的推导过程,对每一\(i(i=1,\dots,r)\)\(x_{j_i}\)都是关于自由变量的一次式。在此一次式中,自由变量\(x_k\)前的系数是\(-b_{ik}\)。于是,每一个主变量都可以\(x_{j_i}\)都可以看成是其后的分量\(x_{j_i+1},\dots ,x_n\)的一次(多元)多项式,系数就是矩阵第\(i\)行中主元后的对应元素。
为了区别,用\(y =(y_1,\dots,y_n)^T\)代表\(Cx=0\)的一般解。相应地,\(y\)中的每一个主变量\(y_j\)也都是其后的所有分量\(y_{j+1},\dots,y_n\)的一次多项式。
现在我们从后向前依次讨论\(x\)\(y\)的分量。
\(x_n\)\(x\)中的自由变量,由于\(Bx=0\)\(Cx=0\)同解,则\(y_n\)也是\(y\)中的自由变量。同理,当\(x_n\)\(x\)中的主变量时,\(y_n\)也是\(y\)中的主变量。
接下来不妨假设\(x_n=y_n\),然后讨论\(x_{n-1}\)\(y_{n-1}\)。同上面的讨论可知:\(x_{n-1}\)\(y_{n-1}\)或者同时为自由变量,或者同时为主变量。以此类推,对任意的\(j=1,\dots,n\)\(x_j\)\(x\)中的自由变量当且仅当\(y_j\)\(y\)中的自由变量;也就是说\(j_1,\dots,j_r\)也是\(C\)中所有的主元列指标,即\(B\)\(C\)有完全相同的主元列。
对每一个\(j_i (i=1,\dots,r)\),由于两个方程组同解,所以\(x_{j_i}\)作为\(x_{j_i+1},\dots,x_n\)的线性组合表达式与\(y_{j_i}\)作为\(y_{j_i+1},\dots,y_n\)的线性组合表达式,这两个线性组合的系数应该完全相同,而这些元素恰好是第\(i\)行主元后的元素。注意到一行中主元前到元素都是0,所以\(B\)\(C\)的非0行均相同,进而可知\(B=C\)
称右端项为0的线性方程组——即形如\(Ax=0\)的线性方程组——为齐次线性方程组。这一类方程组在线性方程组解的理论中有特别的地位,我们会在后面的内容中逐步体会到。
注意到对齐次方程组增广矩阵\((A,0)\)作初等行变换的过程中,最后一列始终为全0,不会发生变化。因此求解齐次方程组时,只需要对系数矩阵\(A\)做初等行变换即可。

证明.

\({\rm rref}(A)\)的存在性可由定理 2.6.2保证。下证唯一性。
考虑线性方程组\(Ax=0\)。设\(B\)\(C\)都是与\(A\)行等价的简化阶梯型矩阵,根据行等价的定义\(Bx=0\)\(Cx=0\)这两个线性方程组均与\(Ax=0\)同解,于是\(Bx=0\)\(Cx=0\)也同解。再根据 引理 2.6.5,可知\(B=C\),即唯一性成立。

子节 2.6.4 矩阵的秩

在讨论线性方程组解的不同情况过程中,可以看到系数矩阵化简为(简化)阶梯型矩阵后的非0行行数\(r\)起到了关键性作用。在有了简化阶梯型的唯一性定理(定理 2.6.6)后,可以引入线性代数中的一个关键性定义。

定义 2.6.7.

\(A\in \F^{m\times n}\)是一个一般的矩阵。称简化阶梯型矩阵\({\rm rref}(A)\)的非0行行数为矩阵\(A\),记作\({\rm rank}(A)\),或简记为\(r(A)\)
秩是矩阵最重要、最常用的参数之一,关于秩的结论需要充分掌握并熟记。
矩阵的秩,即简化阶梯型非0行的行数,可以理解为线性方程组中“有效”方程的个数。这是我们从行的角度来理解矩阵秩的一种方式,后续我们还会从多个不同角度理解矩阵秩这个参数。
回顾子节 2.6.2中的讨论过程,其中的主要结论可以用秩作如下总结。
结合可逆性与初等变换的相关讨论,关于矩阵秩还有下面几个常用结论。