小结
- 阶梯形(或简化阶梯形)矩阵的定义
- 主元位置的定义
- 行化简算法的定义
- 应用行化简算法解线性方程组
行化简与阶梯形矩阵
矩阵中非零行或列指矩阵中至少包含一个非零元素的行或列。非零行的先导元素是指该行中最左边的非零元素。
一个矩阵称为阶梯形(或行阶梯形)矩阵,若它有一下三个性质:
- 每一非零行都在每一零行之上。
- 某一行的先导元素所在的列位于前一先导元素的右边。
- 某一先导元素所在列下方元素都是零。
若一个阶梯形矩阵还满足一下性质,则称它为简化阶梯形(或简化行阶梯形)矩阵。
- 每一非零行的先导元素是1.
- 每一先导元素1是该元素所在列的唯一非零元素。
阶梯形矩阵对应的方程组就是三角形形式。
任何非零矩阵都可以行化简(即用初等行变换)变为阶梯形矩阵,但用不同的方法可化为不同的阶梯形矩阵。然而,一个矩阵只能化为唯一的简化阶梯形矩阵。
每个矩阵行等价于唯一的简化阶梯形矩阵。
若矩阵 A \boldsymbol{A} A行等价于阶梯形矩阵 U \boldsymbol{U} U,则称 U \boldsymbol{U} U为 A \boldsymbol{A} A的阶梯形矩阵;若 U \boldsymbol{U} U是简化阶梯形矩阵,则称 U \boldsymbol{U} U为 A \boldsymbol{A} A的简化阶梯形矩阵。
主元位置
矩阵中的主元位置是矩阵 A \boldsymbol{A} A中对应于它的简化阶梯形中先导元素1的位置。主元列是矩阵 A \boldsymbol{A} A的含有主元位置的列。
把矩阵 [ 0 − 3 − 6 4 9 − 1 − 2 − 1 3 1 − 2 − 3 0 3 − 1 1 4 5 − 9 − 7 ] \left[\begin{matrix} 0 & -3 & -6 & 4 & 9 \\ -1 & -2 & -1 & 3 & 1 \\ -2 & -3 & 0 & 3 & -1 \\ 1 & 4 & 5 & -9 & -7 \\ \end{matrix}\right] ⎣⎢⎢⎡0−1−21−3−2−34−6−105433−991−1−7⎦⎥⎥⎤化为阶梯形矩阵,并确定主元列。
解:使用用初等行变换进行转化。记号“~“表示它前面和后面的两个矩阵是行等价的。
- 将第一行于第四行对换(对换变换)
[ 0 − 3 − 6 4 9 − 1 − 2 − 1 3 1 − 2 − 3 0 3 − 1 1 4 5 − 9 − 7 ] \left[\begin{matrix} 0 & -3 & -6 & 4 & 9 \\ -1 & -2 & -1 & 3 & 1 \\ -2 & -3 & 0 & 3 & -1 \\ 1 & 4 & 5 & -9 & -7 \\ \end{matrix}\right] ⎣⎢⎢⎡0−1−21−3−2−34−6−105433−991−1−7⎦⎥⎥⎤~ [ 1 4 5 − 9 − 7 − 1 − 2 − 1 3 1 − 2 − 3 0 3 − 1 0 − 3 − 6 4 9 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ -1 & -2 & -1 & 3 & 1 \\ -2 & -3 & 0 & 3 & -1 \\ 0 & -3 & -6 & 4 & 9 \\ \end{matrix}\right] ⎣⎢⎢⎡1−1−204−2−3−35−10−6−9334−71−19⎦⎥⎥⎤
- 将第一行的倍数加到其他各行,以使第一个主元位置下面各元素变成0。(倍乘变换和倍加变换)
[ 1 4 5 − 9 − 7 − 1 − 2 − 1 3 1 − 2 − 3 0 3 − 1 0 − 3 − 6 4 9 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ -1 & -2 & -1 & 3 & 1 \\ -2 & -3 & 0 & 3 & -1 \\ 0 & -3 & -6 & 4 & 9 \\ \end{matrix}\right] ⎣⎢⎢⎡1−1−204−2−3−35−10−6−9334−71−19⎦⎥⎥⎤~ [ 1 4 5 − 9 − 7 0 2 4 − 6 − 6 0 5 10 − 15 − 15 0 − 3 − 6 4 9 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ 0 & 2 & 4 & -6 & -6 \\ 0 & 5 & 10 & -15 & -15 \\ 0 & -3 & -6 & 4 & 9 \\ \end{matrix}\right] ⎣⎢⎢⎡1000425−35410−6−9−6−154−7−6−159⎦⎥⎥⎤
- 将第一行的倍数加到其他各行,以使第一个主元位置下面各元素变成0。(倍乘变换和倍加变换)
[ 1 4 5 − 9 − 7 0 2 4 − 6 − 6 0 5 10 − 15 − 15 0 − 3 − 6 4 9 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ 0 & 2 & 4 & -6 & -6 \\ 0 & 5 & 10 & -15 & -15 \\ 0 & -3 & -6 & 4 & 9 \\ \end{matrix}\right] ⎣⎢⎢⎡1000425−35410−6−9−6−154−7−6−159⎦⎥⎥⎤~ [ 1 4 5 − 9 − 7 0 2 4 − 6 − 6 0 0 0 0 0 0 0 0 − 5 0 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ 0 & 2 & 4 & -6 & -6 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -5 & 0 \\ \end{matrix}\right] ⎣⎢⎢⎡100042005400−9−60−5−7−600⎦⎥⎥⎤
- 将第三行于第四行对换(对换变换)
[ 1 4 5 − 9 − 7 0 2 4 − 6 − 6 0 0 0 0 0 0 0 0 − 5 0 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ 0 & 2 & 4 & -6 & -6 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -5 & 0 \\ \end{matrix}\right] ⎣⎢⎢⎡100042005400−9−60−5−7−600⎦⎥⎥⎤~ [ 1 4 5 − 9 − 7 0 2 4 − 6 − 6 0 0 0 − 5 0 0 0 0 0 0 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ 0 & 2 & 4 & -6 & -6 \\ 0 & 0 & 0 & -5 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ \end{matrix}\right] ⎣⎢⎢⎡100042005400−9−6−50−7−600⎦⎥⎥⎤
- 矩阵 [ 1 4 5 − 9 − 7 0 2 4 − 6 − 6 0 0 0 − 5 0 0 0 0 0 0 ] \left[\begin{matrix} 1 & 4 & 5 & -9 & -7 \\ 0 & 2 & 4 & -6 & -6 \\ 0 & 0 & 0 & -5 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ \end{matrix}\right] ⎣⎢⎢⎡100042005400−9−6−50−7−600⎦⎥⎥⎤是所求阶梯形矩阵。第1、2、4列是主元列。
主元是在主元位置上的非零元素。在矩阵转换过程中,通过初等行变换用主元将下面的元素化为0。上述转换过程中,我们使用的主元是1,2,5。
行简化算法
用初等行变换把矩阵 [ 0 3 − 6 6 4 − 5 3 − 7 8 − 5 8 9 3 − 9 12 − 9 6 15 ] \left[\begin{matrix} 0 & 3 & -6 & 6 & 4 & -5 \\ 3 & -7 & 8 & -5 & 8 & 9 \\ 3 & -9 & 12 & -9 & 6 & 15 \\ \end{matrix}\right] ⎣⎡0333−7−9−68126−5−9486−5915⎦⎤先化为阶梯形矩阵,再化为简化阶梯形矩阵。
解:
- 确定主元列
由最左的非零列 [ 0 3 3 ] \left[\begin{matrix} 0 \\ 3 \\ 3 \\ \end{matrix}\right] ⎣⎡033⎦⎤开始。这是一个主元列。主元位置(0所在位置)在该列顶端。
- 选取主元
在主元列中选取一个非零元素作为主元。若有必要的话,对换两行使这个元素移动主元位置上。
[ 0 3 − 6 6 4 − 5 3 − 7 8 − 5 8 9 3 − 9 12 − 9 6 15 ] \left[\begin{matrix} 0 & 3 & -6 & 6 & 4 & -5 \\ 3 & -7 & 8 & -5 & 8 & 9 \\ 3 & -9 & 12 & -9 & 6 & 15 \\ \end{matrix}\right] ⎣⎡0333−7−9−68126−5−9486−5915⎦⎤~ [ 3 − 9 12 − 9 6 15 3 − 7 8 − 5 8 9 0 3 − 6 6 4 − 5 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 3 & -7 & 8 & -5 & 8 & 9 \\ 0 & 3 & -6 & 6 & 4 & -5 \\ \end{matrix}\right] ⎣⎡330−9−73128−6−9−56684159−5⎦⎤
- 主元下面元素化0
用初等行变换将主元下面的元素变成0。
[ 3 − 9 12 − 9 6 15 3 − 7 8 − 5 8 9 0 3 − 6 6 4 − 5 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 3 & -7 & 8 & -5 & 8 & 9 \\ 0 & 3 & -6 & 6 & 4 & -5 \\ \end{matrix}\right] ⎣⎡330−9−73128−6−9−56684159−5⎦⎤~ [ 3 − 9 12 − 9 6 15 0 2 − 4 4 2 − 6 0 3 − 6 6 4 − 5 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 0 & 2 & -4 & 4 & 2 & -6 \\ 0 & 3 & -6 & 6 & 4 & -5 \\ \end{matrix}\right] ⎣⎡300−92312−4−6−94662415−6−5⎦⎤
- 迭代处理子矩阵
除去主元位置所在的行以及它上面的各行,对剩下的子矩阵使用上述的三个步骤,直到子矩阵无非零列。
[ 3 − 9 12 − 9 6 15 0 2 − 4 4 2 − 6 0 3 − 6 6 4 − 5 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 0 & 2 & -4 & 4 & 2 & -6 \\ 0 & 3 & -6 & 6 & 4 & -5 \\ \end{matrix}\right] ⎣⎡300−92312−4−6−94662415−6−5⎦⎤~ [ 3 − 9 12 − 9 6 15 0 2 − 4 4 2 − 6 0 0 0 0 1 4 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 0 & 2 & -4 & 4 & 2 & -6 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300−92012−40−94062115−64⎦⎤
此矩阵即为所求阶梯形矩阵。
- 所有主元上面元素化0,主元化1
由最右边的主元开始,把每个主元上面的各元素变成0。若某个主元不是1,先用倍乘变换变成1。
[ 3 − 9 12 − 9 6 15 0 2 − 4 4 2 − 6 0 0 0 0 1 4 ] \quad \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 0 & 2 & -4 & 4 & 2 & -6 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300−92012−40−94062115−64⎦⎤~ [ 3 − 9 12 − 9 0 − 9 0 2 − 4 4 0 − 14 0 0 0 0 1 4 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 0 & -9 \\ 0 & 2 & -4 & 4 & 0 & -14 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300−92012−40−940001−9−144⎦⎤
~ [ 3 − 9 12 − 9 0 − 9 0 1 − 2 2 0 − 7 0 0 0 0 1 4 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 0 & -9 \\ 0 & 1 & -2 & 2 & 0 & -7 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300−91012−20−920001−9−74⎦⎤~ [ 3 0 − 6 9 0 − 72 0 1 − 2 2 0 − 7 0 0 0 0 1 4 ] \left[\begin{matrix} 3 & 0 & -6 & 9 & 0 & -72 \\ 0 & 1 & -2 & 2 & 0 & -7 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300010−6−20920001−72−74⎦⎤
~ [ 3 0 − 6 9 0 − 72 0 1 − 2 2 0 − 7 0 0 0 0 1 4 ] \left[\begin{matrix} 3 & 0 & -6 & 9 & 0 & -72 \\ 0 & 1 & -2 & 2 & 0 & -7 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300010−6−20920001−72−74⎦⎤ ~ [ 1 0 − 2 3 0 − 24 0 1 − 2 2 0 − 7 0 0 0 0 1 4 ] \left[\begin{matrix} 1 & 0 & -2 & 3 & 0 & -24 \\ 0 & 1 & -2 & 2 & 0 & -7 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡100010−2−20320001−24−74⎦⎤
此矩阵即为所求简化阶梯形矩阵。
第一至四步称为行化简算法的向前步骤,产生唯一的简化阶梯形矩阵的第五步称为向后步骤。
行化简算法通常称为高斯消去法。在第二步选取主元时,计算机程序通常选择一列中绝对值最大的元素作为主元。这种方法通常称为部分主元法,可以减少计算中的舍入误差。
线性方程组的解
行化简算法应用于方程组的增广矩阵时,可以得出线性方程组解集的一种显示表示法。
设某个线性方程组的增广矩阵已化为行等价的简化阶梯形矩阵 [ 1 0 − 5 1 0 1 1 4 0 0 0 0 ] \left[\begin{matrix} 1 & 0 & -5 & 1 \\ 0 & 1 & 1 & 4 \\ 0 & 0 & 0 & 0 \\ \end{matrix}\right] ⎣⎡100010−510140⎦⎤。因为增广矩阵有4列,所有有3个变量。对应的线性方程组是 { x 1 − 5 x 3 = 1 x 2 + x 3 = 4 0 = 0 \begin{cases} x_1 - 5x_3 = 1 \\ x_2 + x_3 = 4 \\ 0 = 0 \\ \end{cases} ⎩⎪⎨⎪⎧x1−5x3=1x2+x3=40=0。对应于主元列的变量 x 1 x_1 x1和 x 2 x_2 x2称为基本变量。其它变量 x 3 x_3 x3称为自由变量。
只要一个线性方程组是相容的,其解集就可以显式表示。(若有自由变量,用自由变量表示基本变量。)简化阶梯形矩阵使每个基本变量仅包含在一个方程中,容易解出简化阶梯形矩阵 [ 1 0 − 5 1 0 1 1 4 0 0 0 0 ] \left[\begin{matrix} 1 & 0 & -5 & 1 \\ 0 & 1 & 1 & 4 \\ 0 & 0 & 0 & 0 \\ \end{matrix}\right] ⎣⎡100010−510140⎦⎤的解集的表示式: { x 1 = 1 + 5 x 3 x 2 = 4 − x 3 x 3 为 自 由 变 量 \begin{cases} x_1 = 1 + 5x_3 \\ x_2 = 4 - x_3 \\ x_3为自由变量 \\ \end{cases} ⎩⎪⎨⎪⎧x1=1+5x3x2=4−x3x3为自由变量。
表示式给出的解称为方程组的通解。(因为它给出了所有解的显示表达。)这种解集的表示式称为解集的参数表示。解方程组就是要求出解集的这种参数表示或确定它无解。
求解线性方程组的通解,该方程组相容且其增广矩阵已经化为 [ 1 6 2 − 5 − 2 − 4 0 0 2 − 8 − 1 3 0 0 0 0 1 7 ] \left[\begin{matrix} 1 & 6 & 2 & -5 & -2 & -4 \\ 0 & 0 & 2 & -8 & -1 & 3 \\ 0 & 0 & 0 & 0 & 1 & 7 \\ \end{matrix}\right] ⎣⎡100600220−5−80−2−11−437⎦⎤ 。
解:该矩阵已是阶梯形矩阵。使用行化简算法将其化为简化阶梯形矩阵。
[ 1 6 2 − 5 − 2 − 4 0 0 2 − 8 − 1 3 0 0 0 0 1 7 ] \quad \left[\begin{matrix} 1 & 6 & 2 & -5 & -2 & -4 \\ 0 & 0 & 2 & -8 & -1 & 3 \\ 0 & 0 & 0 & 0 & 1 & 7 \\ \end{matrix}\right] ⎣⎡100600220−5−80−2−11−437⎦⎤~ [ 1 6 2 − 5 0 10 0 0 2 − 8 0 10 0 0 0 0 1 7 ] \left[\begin{matrix} 1 & 6 & 2 & -5 & 0 & 10 \\ 0 & 0 & 2 & -8 & 0 & 10 \\ 0 & 0 & 0 & 0 & 1 & 7 \\ \end{matrix}\right] ⎣⎡100600220−5−8000110107⎦⎤
~ [ 1 6 2 − 5 0 10 0 0 1 − 4 0 5 0 0 0 0 1 7 ] \left[\begin{matrix} 1 & 6 & 2 & -5 & 0 & 10 \\ 0 & 0 & 1 & -4 & 0 & 5 \\ 0 & 0 & 0 & 0 & 1 & 7 \\ \end{matrix}\right] ⎣⎡100600210−5−400011057⎦⎤~ [ 1 6 0 3 0 0 0 0 1 − 4 0 5 0 0 0 0 1 7 ] \left[\begin{matrix} 1 & 6 & 0 & 3 & 0 & 0 \\ 0 & 0 & 1 & -4 & 0 & 5 \\ 0 & 0 & 0 & 0 & 1 & 7 \\ \end{matrix}\right] ⎣⎡1006000103−40001057⎦⎤
增广矩阵有6列,所以原方程组有5个变量,对应的方程组为 { x 1 + 6 x 2 + 3 x 4 = 0 x 3 − 4 x 4 = 5 x 5 = 7 \begin{cases} x_1 + 6x_2 + 3x_4 = 0 \\ x_3 - 4x_4 = 5 \\ x_5 = 7 \\ \end{cases} ⎩⎪⎨⎪⎧x1+6x2+3x4=0x3−4x4=5x5=7
矩阵的主元列是第1、3、5列,所以基本变量为 x 1 x_1 x1, x 3 x_3 x3, x 5 x_5 x5,剩下的变量 x 2 x_2 x2和 x 4 x_4 x4为自由变量。我们得到通解为 { x 1 = − 6 x 2 − 3 x 4 x 2 为 自 由 变 量 x 3 = 5 + 4 x 4 x 4 为 自 由 变 量 x 5 = 7 \begin{cases} x_1 = -6x_2 - 3x_4 \\ x_2为自由变量 \\ x_3 = 5 + 4x_4 \\ x_4为自由变量 \\ x_5 = 7 \\ \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧x1=−6x2−3x4x2为自由变量x3=5+4x4x4为自由变量x5=7
当一个方程组是相容的且具有自由变量时,它的解集具有多种参数表示。例如线性方程组 { x 1 − 5 x 3 = 1 x 2 + x 3 = 4 0 = 0 \begin{cases} x_1 - 5x_3 = 1 \\ x_2 + x_3 = 4 \\ 0 = 0 \\ \end{cases} ⎩⎪⎨⎪⎧x1−5x3=1x2+x3=40=0的解集的另一种参数表示 { x 1 = 21 − 5 x 2 x 2 = 4 − x 3 x 3 为 自 由 变 量 \begin{cases} x_1 = 21 - 5x_2 \\ x_2 = 4 - x_3 \\ x_3为自由变量 \end{cases} ⎩⎪⎨⎪⎧x1=21−5x2x2=4−x3x3为自由变量。不过,我们总是约定使用自由变量作为参数来表示解集。
当方程组步相容时,解集是空集。无论方程组是否有自由变量,解集无参数表示。
存在与唯一性问题
确定线性方程组 { 3 x 2 − 6 x 3 + 6 x 4 + 4 x 5 = − 5 3 x 1 − 7 x 2 + 8 x 3 − 5 x 4 + 8 x 5 = 9 3 x 1 − 9 x 2 + 12 x 3 − 9 x 4 + 6 x 5 = 15 \begin{cases} 3x_2 - 6x_3 + 6x_4 + 4x_5 = -5 \\ 3x_1 - 7x_2 + 8x_3 - 5x_4 +8x_5 = 9 \\ 3x_1 - 9x_2 + 12x_3 -9x_4 + 6x_5 = 15 \\ \end{cases} ⎩⎪⎨⎪⎧3x2−6x3+6x4+4x5=−53x1−7x2+8x3−5x4+8x5=93x1−9x2+12x3−9x4+6x5=15的解是否存在且唯一
解:上面案例中已化出其阶梯形矩阵
[ 3 − 9 12 − 9 6 15 0 2 − 4 4 2 − 6 0 0 0 0 1 4 ] \left[\begin{matrix} 3 & -9 & 12 & -9 & 6 & 15 \\ 0 & 2 & -4 & 4 & 2 & -6 \\ 0 & 0 & 0 & 0 & 1 & 4 \\ \end{matrix}\right] ⎣⎡300−92012−40−94062115−64⎦⎤
主元列是第1、2、5列,所以基本变量是 x 1 x_1 x1, x 2 x_2 x2和 x 5 x_5 x5,自由变量是 x 4 x_4 x4和 x 5 x_5 x5。
当一个方程组的增广矩阵化为阶梯形矩阵,且主元列不包含最右列(对应方程形如 0 = b 0 = b 0=b)时,每个非零方程包含一个基本变量,它的系数非零。或者这些基本变量已完全确认(此时无自由变量),或者至少有一个基本变量可用一个或多个自由变量表示。对于前一种情形,有唯一的解;对后一种情形,有无穷多个解(对应于自由变量的每一个选择都有一个解。)
故方程组的解存在,且有无穷多个解。
线性方程组相容的充要条件是增广矩阵的最右列不是主元列。也就是说,增广矩阵的阶梯形没有形如 [ 0 ⋯ 0 b ] , b ≠ 0 \left[\begin{matrix} 0 & \cdots & 0 & b \end{matrix}\right], b\neq0 [0⋯0b],b̸=0的行。若线性方程组相容,则它的解集可能有两种情形:
- 当没有自由变量时,有唯一解;
- 若至少有一个自由变量,则有无穷多解。
应用行化简算法解线性方程组的步骤
- 写出方程组的增广矩阵。
- 应用行化简算法把增广矩阵化为阶梯形矩阵。确定方程组是否相容。如果不相容,则方程组无解并停止;否则进行下一步。
- 继续行化简算法得到它的简化阶梯形矩阵。
- 写出由第3步所得矩阵对应的方程组。
- 写出解集的参数表示。