《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵

1.2 行化简与阶梯形矩阵

本节我们将1.1节中的方法进一步精确化,变成行化简算法(也称行消去法),它可用来解任意线性方程组. 1而应用算法的第一部分,我们可以回答1.1节中提出的基本存在与唯一性问题.
这种算法可用于任意矩阵,不管它是否为某一方程组的增广矩阵. 所以本节的第一部分讨论任意矩阵. 首先我们引入两类重要的矩阵,它们包含1.1节中的“三角”矩阵,在以下的定义中,矩阵中非零行或列指矩阵中至少包含一个非零元素的行或列;非零行的先导元素是指该行中最左边的非零元素.
定义 一个矩阵称为阶梯形(或行阶梯形),若它有以下三个性质:

  1. 每一非零行在每一零行之上.
  2. 某一行的先导元素所在的列位于前一行先导元素的右面.
  3. 某一先导元素所在列下方元素都是零.
    若一个阶梯形矩阵还满足以下性质,称它为简化阶梯形(或简化行阶梯形).
  4. 每一非零行的先导元素是1.
  5. 每一先导元素1是该元素所在列的唯一非零元素.
    若一个矩阵具有阶梯形(简化阶梯形),它就称为阶梯形(简化阶梯形)矩阵. 性质2说明先导元素构成阶梯形. 性质3其实是性质2的推论,不过我们把它列出来以示强调.

1.1节中的“三角”矩阵,如

都是阶梯形的,第二个矩阵是简化阶梯形的. 再举更多的例子.
例1 下列矩阵都是阶梯形的,先导元素用 ? 表示,它们可取任意的非零值,在*位置的元素可取任意值,包括零值.

下列矩阵是简化阶梯形的,因先导元素都是1,且在每个先导元素1的上、下,各元素都是0.

一个矩阵可以行化简(即用行初等变换)变为阶梯形矩阵,但用不同的方法可化为不同的阶梯形矩阵. 然而,一个矩阵只能化为唯一的简化阶梯形矩阵. 下列定理将在书末附录A中给出证明.
定理1 (简化阶梯形矩阵的唯一性)
每个矩阵行等价于唯一的简化阶梯形矩阵.
若矩阵A等价于阶梯形矩阵U,称U为A的阶梯形(或行阶梯形);若U是简化阶梯形,称U为A的简化阶梯形. 大部分矩阵程序用RREF作为简化(行)阶梯形的缩写,有些用REF作为(行)阶梯形的缩写.
主元位置
当矩阵经行变换化为阶梯形后,经进一步的行变换将矩阵化为简化阶梯形时,先导元素的位置并不改变. 因简化阶梯形是唯一的,当给定矩阵化为任何一个阶梯形时,先导元素总是在相同的位置上. 这些先导元素对应于简化阶梯形中的先导1.
定义 矩阵中的主元位置是A中对应于它的阶梯形中先导元素的位置. 主元列是A的含有主元位置的列.
在例1中,符号(?)对应主元位置. 前四章中的许多基本概念都与矩阵中主元位置有联系.
例2 把下列矩阵A用行变换化为阶梯形,确定主元列.

解 利用1.1节的方法. 最左边的非零列的第一个元素就是第一个主元位置. 这个位置必须放一个非零元,即主元素. 最好将第一行与第四行对换,这样可以避免分数运算.

把第一行的倍数加到其他各行,以使主元1下面各元素变成0. 第二行的主元位置必须尽量靠左,即在第二列. 我们选择这里的2作为第二个主元.
(1)

把第二行的-5/2倍加到第三行,3/2倍加到第4行.

                  ![2](https://yqfile.alicdn.com/135d1680abd252deb6f5ae3d880ab7dd085a08e2.png)        (2)

(2)中的矩阵与1.1节所遇到的不同,这里没有办法在第3列中找到先导元素!我们不能利用第一行或第二行,否则会破坏已产生的阶梯形的先导元素的排列. 然而若我们对换第3行和第4行,我们可在第4列产生先导元素.

此矩阵已是阶梯形. 第1、2、4列是主元列.
(3)

如例2所示,主元就是在主元位置上的非零元素,用来通过行变换把下面的元素化为0,例2中的主元是1,2,-5,注意这些元素与矩阵A中同一位置的元素不相同,如(3)式所示.
根据例2,我们给出一个有效的算法,变换矩阵成阶梯形或简化阶梯形. 认真掌握这一算法将使你获益匪浅.
行化简算法
下列算法包含四个步骤,它产生一个阶梯形矩阵,第五步产生简化阶梯形矩阵. 我们用一个实例来说明这一算法.
例3 用行初等变换把下列矩阵先化为阶梯形,再化为简化阶梯形.


第一步,由最左的非零列开始. 这是一个主元列. 主元位置在该列顶端.

第二步,在主元列中选取一个非零元作为主元. 若有必要的话,对换两行使这个元素移到主元位置上.
对换第1、3两行(也可对换1、2两行)

第三步,用倍加行变换将主元下面的元素变成0.
我们当然可以把第1行除以主元3. 但这里第1列有两个3,我们只需把第1行的-1倍加到第2行.

第四步,暂时不管包含主元位置的行以及它上面的各行,对剩下的子矩阵使用上述的三个步骤直到没有非零行需要处理为止.
暂时不看第一行,第一步指出,第2列是下一个主元列,第二步,我们选择该列中“顶端”的元素作为主元.

对第三步,我们可先把子矩阵的“顶行”除以主元2. 不过也可以把这一行的-3/2倍加到下面的一行. 这就得到

暂时不看第二个主元所在的行,我们剩下一个只有一行的新子矩阵.

新的子矩阵已不需要处理了,我们已得到整个矩阵的阶梯形. 若我们需要简化阶梯形,进行下一个步骤.
第五步,由最右面的主元开始,把每个主元上方的各元素变成0. 若某个主元不是1,用倍乘变换将它变成1.

下一个主元在第2行,将这行除以这个主元.

将第2行的9倍加到第1行

最后将第1行除以主元3

这就是原矩阵的简化阶梯形. ?
第1~4步称为行化简算法的向前步骤,产生唯一的简化阶梯形的第5步,称为向后步骤.
数值计算的注解 在第2步中,计算机程序通常选择一列中绝对值最大的元素作为主元. 这种方法通常称为部分主元法,可以减少计算中的舍入误差.
线性方程组的解
行化简算法应用于方程组的增广矩阵时,可以得出线性方程组解集的一种显式表示法.
例如,设某一个线性方程组的增广矩阵已经化为等价的简化阶梯形

因为增广矩阵有4列,所以有3个未知数,对应的线性方程组是
(4)
对应于主元列的变量 称为基本变量 .1其他变量如 ,称为自由变量.
当一个线性方程组是相容的,如方程组(4)解集可以用显式表示,只要把方程的简化形式解出来,用自由变量表示基本变量即可. 由于简化阶梯形使每个基本变量仅包含在一个方程中,这是很容易的. 在方程组(4)中,我们可由第1个方程解出 ,第2个方程解出 (第3个方程对未知数没有任何限制,可以不管它).
(5)
我们说 是自由变量,是指它可取任意的值. 当 的值选定后,由(5)中的前2个方程就可以确定 的值,例如,当 =0得出解(1,4,0);当 ,得出解(6,3,1), 的不同选择确定了方程组的不同的解,方程组的每个解由 的值的选择来确定.
(5)式给出的解称为方程组的通解,因为它给出了所有解的显式表示.
例4 求方程组的解,该方程组的增广矩阵已经化为

解 该矩阵已是阶梯形,但我们在解出基本变量前仍需把它化为简化阶梯形,记号“~”表示它前面和后面的两个矩阵是行等价的(译者注:该记号在中文教科书中并未通用).

增广矩阵有6列,所以原方程组有5个变量,对应的方程组为

                 ![4_3](https://yqfile.alicdn.com/3e8e58e33603bb5e6c5665394e0698a8eedf7778.png)          (6)

矩阵的主元列是第1,3,5列,基本变量为 ,剩下的变量 为自由变量,解出基本变量,我们得通解为

             ![4_4](https://yqfile.alicdn.com/8bceb4842347f22adba9187356c111c28c30a7a1.png)              (7)

注意,由方程组(6)的第3个方程, 的值是确定的.
解集的参数表示
解集的表示式(5)和(7)称为解集的参数表示,其中自由变量作为参数. 解方程组就是要求出解集的这种参数表示或确定它无解.
当一个方程组是相容的,且具有自由变量,则它的解集具有多种参数表示. 例如,在方程组(4)中,我们可以把方程2的5倍加到方程1,得等价方程组

这时可把 看作参数,用 表示 和 ,得到解集的第一种表示法. 不过,我们总是约定使用自由变量作为参数来表示解集(本书末尾的习题解答也采用这一约定).
当方程组是不相容时,解集是空集,无论方程组是否有自由变量,此时,解集无参数表示.
回代
考虑下列方程组,它的增广矩阵已是阶梯形,但还不是简化阶梯形:

计算机程序通常用回代法解此方程组,而不是求它的简化阶梯形. 也就是说,程序先解第3个方程,用 表示 ,并把此表达式代入第2个方程,从中解出 ,最后把的表达式代入第1个方程解出 .
我们的矩阵算法,即行化简算法的向后步骤,它求出简化阶梯形,与回代法所需算术运算次数相同. 但矩阵算法通常减少了手算时出错的可能性. 我强烈建议你仅使用简化阶梯形来解方程组!与本书配合的学习指导书给出一些好的建议帮助你更快更准确地解方程组.
数值计算的注解 一般地,行化简算法的向前步骤比向后步骤需要更多运算. 解方程组的算法通常用浮算来衡量. 一个浮算(flop或浮点运算)就是两个浮点实数进行一次算术运算(+,-,*,/). 对一个矩阵,化简为阶梯形大约需要 次浮算(当 n相当大,比如说n>=30 时,大约是 次浮算),而进一步化为简化阶梯形大约最多只需n2次浮算.
存在与唯一性问题
虽然非简化的阶梯形并不适于解线性方程组,这种形式对于回答1.1节中提出的两个基本问题已经足够了.
例5 确定下列线性方程组的解是否存在且唯一

解 该方程组的增广矩阵在例3中化简为

 ![2](https://yqfile.alicdn.com/d67c881aa6b98de57e3bfd2481d49f08f5117f47.png)                     (8)

基本变量是 ;自由变量是 . 这里没有类似0=1的造成不相容方程组的方程,所以我们可用回代法求解. 但解的存在性在方程(8)中已经清楚了. 同时,解不是唯一的,因为有自由变量存在. 的每一种选择都确定一组解,所以此方程组有无穷多组解.
当一个方程组化为阶梯形,且不包含形如0=b 的方程,其中 ,每个方程包含一个基本变量,它的系数非零. 或者这些基本变量已完全确定(此时无自由变量),或者至少有一个基本变量可用一个或多个自由变量表示,对前一种情形,有唯一的解;对后一种情形,有无穷多个解(对应自由变量的每一个选择都有一个解).
上述讨论证明了以下定理
定理2 (存在与唯一性定理)
线性方程组相容的充要条件是增广矩阵的最右列不是主元列. 也就是说,增广矩阵的阶梯形没有形如

的行,若线性方程组相容,它的解集可能有两种情形:(ⅰ)当没有自由变量时,有唯一解; (ⅱ)若至少有一个自由变量,有无穷多解.
以下是求解线性方程组的步骤.

应用行化简算法解线性方程组

  1. 写出方程组的增广矩阵.
  2. 应用行化简算法把增广矩阵化为阶梯形. 确定方程组是否有解,如果没有解则停止;否则进行下一步.
  3. 继续行化简算法得到它的简化阶梯形.
  4. 写出由第3步所得矩阵所对应的方程组.
  5. 把第4步所得的每个方程改写为用自由变量表示基本变量的形式.
    练习题
  6. 求出下列增广矩阵对应的方程组的解
  7. 求出下列方程组的通解

习题1.2



练习题答案

  1. 增广矩阵的简化阶梯形和相应的方程组是

基本变量是 ,通解为(见图1-6):

注意:要点是一般解要描述每个变量,参数要明显标出. 下面的写法是不正确的:

在这种写法中,似乎都是自由变量,这当然是不对的.

  1. 当我们行化简方程组的增广矩阵,得

所得阶梯矩阵说明方程是不相容的,因它的最右列是主元列;第3行相应于方程0=5,因此不必再进行任何行变换. 注意,自由变量在此问题中并不起作用,因为方程组是不相容的.

时间: 2024-11-08 23:29:31

《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵的相关文章

《 线性代数及其应用 (原书第4版)》—— 导读

前 言学生和教师对本书前三版本的反响十分令人满意. 第4版在第3版的基础上为课程教学和软件技术应用提供了更多支持. 像以前一样,本书给出最新的线性代数基本介绍和一些有趣应用,使得已完成大学第二学期数学课程(如学完微积分)的学生容易接受.本书的主要目的是帮助学生掌握以后课程学习所需要的基本概念和基本技能,教材的选题是根据"线性代数课程研究小组"的建议,该建议基于认真分析学生的实际需要和许多不同专业使用线性代数知识的共同点而提出. 希望这门课能够成为对大学生最有用和最有趣的数学课程之一.新

《 线性代数及其应用 (原书第4版)》——1.5 线性方程组的解集

1.5 线性方程组的解集 线性方程组的解集是线性代数研究的重要对象,它们出现在许多不同的问题中. 本节使用向量符号给出这样的解集的显式表示以及几何解释. 齐次线性方程组 线性方程组称为齐次的,若它可写成 Ax=0的形式,其中 A是m*n 矩阵而 0是 中的零向量. 这样的方程组至少有一个解. 即x=0 ( 中的零向量),这个解称为它的平凡解. 对给定方程 Ax=0,重要的是它是否有非平凡解,即满足 Ax=0的非零向量 x. 由1.2节解的存在性与唯一性定理(定理2),得出以下事实. 齐次方程Ax

《 线性代数及其应用 (原书第4版)》—— 2.9 维数与秩

2.9 维数与秩 本节从坐标系的概念开始对子空间和子空间的基继续加以讨论. 下面的定义和例子使一个有用的新术语--维数,显得非常自然,至少对 子空间是这样.坐标系选择子空间H 的一个基代替一个纯粹生成集的主要原因,是 H中的每个向量可以被表示为基向量的线性组合的唯一形式. 为了明确原因,假设 是 H的基,H 中的一个向量x 可以由两种方式生成,设 (1)则相减得到 (2)因为 是线性无关的,(2)中的权值必全为零. 亦即对 ,(1)式中的两种表示实际上是相同的.定义 假设 是子空间H 的一组基,

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

ROS机器人程序设计(原书第2版).

机器人设计与制作系列 ROS机器人程序设计 (原书第2版) Learning ROS for Robotics Programming,Second Edition 恩里克·费尔南德斯(Enrique Fernández) 路易斯·桑切斯·克雷斯波(Luis Sánchez Crespo) 阿尼尔·马哈塔尼(Anil Mahtani) 亚伦·马丁内斯(Aaron Martinez) 著 刘锦涛 张瑞雷 等译 图书在版编目(CIP)数据 ROS机器人程序设计(原书第2版) / (西)恩里克·费尔南

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读

前 言 致读者 本书是按照Java SE 8完全更新后的<Java核心技术 卷Ⅱ 高级特性(原书第10版)>.卷Ⅰ主要介绍了Java语言的一些关键特性:而本卷主要介绍编程人员进行专业软件开发时需要了解的高级主题.因此,与本书卷Ⅰ和之前的版本一样,我们仍将本书定位于用Java技术进行实际项目开发的编程人员. 编写任何一本书籍都难免会有一些错误或不准确的地方.我们非常乐意听到读者的意见.当然,我们更希望对本书问题的报告只听到一次.为此,我们创建了一个FAQ.bug修正以及应急方案的网站http:/

《JavaScript和jQuery实战手册(原书第3版)》---第1章 编写第一个JavaScript程序 1.1 编程简介

本节书摘来自华章出版社<JavaScript和jQuery实战手册(原书第3版)>一书中的第1章,第1.1节,作者David Sawyer McFarland,姚待艳 李占宣 译,更多章节内容可以访问"华章计算机"公众号查看. 第1章 编写第一个JavaScript程序 HTML自身并没有太多智能:它不能做数学运算,不能判断某人是否正确填写了一个表单,而且不能根据Web访问者的交互来做出判断.基本上,HTML让人们阅读文本.观看图片或视频,并且单击链接转向拥有更多文本.图片

《机器学习与R语言(原书第2版)》一2.3 探索和理解数据

本节书摘来自华章出版社<机器学习与R语言(原书第2版)>一书中的第2章,第2.3节,美] 布雷特·兰茨(Brett Lantz) 著,李洪成 许金炜 李舰 译更多章节内容可以访问"华章计算机"公众号查看. 2.3 探索和理解数据 在收集数据并把它们载入R数据结构以后,机器学习的下一个步骤是仔细检查数据.在这个步骤中,你将开始探索数据的特征和案例,并且找到数据的独特之处.你对数据的理解越深刻,你将会更好地让机器学习模型匹配你的学习问题. 理解数据探索的最好方法就是通过例子.在

《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.7 创建透明材质

本节书摘来自华章出版社<Unity着色器和屏幕特效开发秘笈(原书第2版)>一书中的第2章,第2.7节,作者 [英]艾伦朱科尼(Alan Zucconi) [美]肯尼斯拉默斯(Kenneth Lammers),更多章节内容可以访问"华章计算机"公众号查看 2.7 创建透明材质 到现在为止,我们见到的着色器都有一个共同点-都用在实心材质上.如果你想提升游戏视觉效果,某些时候透明材质是个不错的选择,比如火焰效果或者窗户玻璃等.透明材质的制作相对复杂一点.在渲染实心物体之前,Uni