《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵
本節書摘來自華章出版社《 線性代數及其應用 (原書第4版)》一書中的第1章,第1.2節,作者:(美)戴維C. 雷(David C. Lay)馬里蘭大學帕克學院 著劉深泉 張萬芹 陳玉珍 包樂娥 陸 博 譯,更多章節內容可以訪問云棲社區“華章計算機”公眾號查看
1.2 行化簡與階梯形矩陣
本節我們將1.1節中的方法進一步精確化,變成行化簡算法(也稱行消去法),它可用來解任意線性方程組. 1而應用算法的第一部分,我們可以回答1.1節中提出的基本存在與唯一性問題.
這種算法可用于任意矩陣,不管它是否為某一方程組的增廣矩陣. 所以本節的第一部分討論任意矩陣. 首先我們引入兩類重要的矩陣,它們包含1.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)(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個變量,對應的方程組為
矩陣的主元列是第1,3,5列,基本變量為 , , ,剩下的變量 和 為自由變量,解出基本變量,我們得通解為
 (7)注意,由方程組(6)的第3個方程, 的值是確定的.
解集的參數表示
解集的表示式(5)和(7)稱為解集的參數表示,其中自由變量作為參數. 解方程組就是要求出解集的這種參數表示或確定它無解.
當一個方程組是相容的,且具有自由變量,則它的解集具有多種參數表示. 例如,在方程組(4)中,我們可以把方程2的5倍加到方程1,得等價方程組
這時可把 看作參數,用 表示 和 ,得到解集的第一種表示法. 不過,我們總是約定使用自由變量作為參數來表示解集(本書末尾的習題解答也采用這一約定).
當方程組是不相容時,解集是空集,無論方程組是否有自由變量,此時,解集無參數表示.
回代
考慮下列方程組,它的增廣矩陣已是階梯形,但還不是簡化階梯形:
計算機程序通常用回代法解此方程組,而不是求它的簡化階梯形. 也就是說,程序先解第3個方程,用 表示 ,并把此表達式代入第2個方程,從中解出 ,最后把 和 的表達式代入第1個方程解出 .
我們的矩陣算法,即行化簡算法的向后步驟,它求出簡化階梯形,與回代法所需算術運算次數相同. 但矩陣算法通常減少了手算時出錯的可能性. 我強烈建議你僅使用簡化階梯形來解方程組!與本書配合的學習指導書給出一些好的建議幫助你更快更準確地解方程組.
數值計算的注解 一般地,行化簡算法的向前步驟比向后步驟需要更多運算. 解方程組的算法通常用浮算來衡量. 一個浮算(flop或浮點運算)就是兩個浮點實數進行一次算術運算(+,-,*,/). 對一個矩陣,化簡為階梯形大約需要 次浮算(當 n相當大,比如說n>=30 時,大約是 次浮算),而進一步化為簡化階梯形大約最多只需n2次浮算.
存在與唯一性問題
雖然非簡化的階梯形并不適于解線性方程組,這種形式對于回答1.1節中提出的兩個基本問題已經足夠了.
例5 確定下列線性方程組的解是否存在且唯一
解 該方程組的增廣矩陣在例3中化簡為
 (8)基本變量是 ;自由變量是 . 這里沒有類似0=1的造成不相容方程組的方程,所以我們可用回代法求解. 但解的存在性在方程(8)中已經清楚了. 同時,解不是唯一的,因為有自由變量存在. 的每一種選擇都確定一組解,所以此方程組有無窮多組解.
當一個方程組化為階梯形,且不包含形如0=b 的方程,其中 ,每個方程包含一個基本變量,它的系數非零. 或者這些基本變量已完全確定(此時無自由變量),或者至少有一個基本變量可用一個或多個自由變量表示,對前一種情形,有唯一的解;對后一種情形,有無窮多個解(對應自由變量的每一個選擇都有一個解).
上述討論證明了以下定理
定理2 (存在與唯一性定理)
線性方程組相容的充要條件是增廣矩陣的最右列不是主元列. 也就是說,增廣矩陣的階梯形沒有形如
的行,若線性方程組相容,它的解集可能有兩種情形:(ⅰ)當沒有自由變量時,有唯一解; (ⅱ)若至少有一個自由變量,有無窮多解.
以下是求解線性方程組的步驟.
應用行化簡算法解線性方程組
練習題
習題1.2
練習題答案
基本變量是 與 ,通解為(見圖1-6):
注意:要點是一般解要描述每個變量,參數要明顯標出. 下面的寫法是不正確的:
在這種寫法中,似乎和 都是自由變量,這當然是不對的.
所得階梯矩陣說明方程是不相容的,因它的最右列是主元列;第3行相應于方程0=5,因此不必再進行任何行變換. 注意,自由變量在此問題中并不起作用,因為方程組是不相容的.
總結
以上是生活随笔為你收集整理的《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《超越需求:敏捷思维模式下的分析》—第1
- 下一篇: 《T-SQL性能调优秘笈——基于SQL