《數(shù)值分析與實驗》——三角分解法(Doolitile、Crout)的一種理解思路
這段筆記對不理解三角分解法復(fù)雜公式計算過程的同學(xué)會有一定幫助,根據(jù)需要往下看。
前言
????《數(shù)值分析與實驗》(黎健玲等 著)這本書的第二章節(jié),將講述的內(nèi)容是解線性方程組的直接法(對應(yīng)的是迭代法,在本書的其他章節(jié)有講解)。本章節(jié),按順序講述了Gauss消去法、列主元Gauss消去法、矩陣三角分解法,其中矩陣三角分解法又細分為Doolittle分解法和Crout分解法。筆者的作業(yè)主要有列主元的Doolittle分解法和Crout三角分解的追趕法,所以圍繞作業(yè)題面對的問題,展開思考和理解。歡迎各位同學(xué)針對這一主題進行討論。
基礎(chǔ)要求
????????理解Gauss列主元消去法的邏輯;
????????掌握Gauss列主元消去法;
????????了解三角分解法的基本概念;(所以不在此展開)

以Doolittle分解法為例
????????Doolittle分解法需要將A矩陣分解為L(單位下三角矩陣)和U(上三角矩陣)。

????但是書本介紹的分解方法和計算過程比較復(fù)雜,詳細過程可以看下圖。個人認為,前面一兩個步驟還是比較好理解的,到了第K步就顯得很抽象。另外,從下圖可以看到U和L是逐行遞進計算,這樣的計算步驟不好理解(個人認為)。既然話都說到這里了,肯定是有另一種更好理解的思路。


直接求出U上三角矩陣,你會發(fā)現(xiàn)新世界!
????這部分內(nèi)容直接上實例。下圖給出一道三角分解法的例題,計算過程是按照書本的計算步驟得來的。

給出了標(biāo)準答案和結(jié)題步驟,那就開始另一種理解題目的思路了。
第一步,先把線性方程組的系數(shù)矩陣提取出來(如下圖所示)。

第二步,使用高斯消去法(就是初等行變換),把A矩陣轉(zhuǎn)化為上三角矩陣,結(jié)果就是Doolittle三角分解法的U上三角矩陣。下圖是計算過程,結(jié)果可以翻上去對照標(biāo)準答案(結(jié)果一致。如果不知道為什么一致,評論區(qū)告訴你答案)

第三步,怎么得到L矩陣呢?答案就在上圖中的r2-2r1、r3-3r1、r3-8/5r2。r2-2r1表示L21=2,r3-3r1表示L31=3,r3-8/5r2表示L32=8/5,總結(jié)起來就是ri-nrj表示Lij的元素為n。

綜合以上三個步驟就可以得到Doolittle分解法分解系數(shù)矩陣A對應(yīng)L、U三角矩陣。有特殊例子把上面的思路駁倒嗎?理論上只要能用書里的解法,筆者的思路就不會被駁倒,其實就是一個方法的兩種理解思路。
關(guān)于解題步驟,考試可能會要求使用標(biāo)準的公式和步驟寫出解析過程,怎么根據(jù)這個方法又能快速結(jié)題,又能完整寫出結(jié)題步驟呢?以下內(nèi)容結(jié)合標(biāo)準解題過程,分析解題步驟。其實就是根據(jù)一般的計算過程反推計算過程使用到哪些元素,有些元素可以使用以計算出來的U或L的元素代替,整個過程其實是和書本上對應(yīng)的。




以上是使用Doolittle的三角分解法計算出A的LU三角矩陣,如何通過三角矩陣計算線性方程組的解這里不做陳述。有的同學(xué)會問如果是列主元的Doolittle三角分解法應(yīng)該如何得到LU三角矩陣。以下通過理解直接展示,本質(zhì)上就是多了比較大小選取主元的步驟。


以上講述了按列主元的Doolittle分解法解線性方程組過程中求LU三角矩陣的內(nèi)容。
Crout分解法和追趕法
Crout分解法到此還沒有展開講解,因為本質(zhì)上兩者區(qū)別不大。如果說Doolittle是用下面的行減去上面的行得到上三角矩陣U,那么Crout就是用右邊的列減去左邊的列得到下三角矩陣L。
下面舉個例子把Crout和追趕法都示例一遍,如果上面的內(nèi)容get到了點,下面的內(nèi)容也跟喝水一樣。

小結(jié)
????題目要求使用三角分解法求解線性方程組的解,可以通過初等行變化得到Doolittle分解的上三角矩陣U,單位下三角矩陣L通過行變化之間的系數(shù)可以得出;可以通過列變換得到Crout分解的下三角矩陣L,單位上三角矩陣U通過變化系數(shù)可以得出。
????列主元要注意元素的變換,否則結(jié)果會出現(xiàn)錯誤。
????筆者認為,該理解思路比書上的內(nèi)容更好理解,以由淺入深,由宏觀到細致的思路更容易被接受。以上整理的內(nèi)容比較粗糙,歡迎各位同學(xué)提出整改意見和知識看點。Thanks~