




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算方法講稿第三章 線性方程組的數(shù)值解法第三章線性方程組的數(shù)值解法線性方程組是應(yīng)用最為廣泛的數(shù)學(xué)模型,很多復(fù)雜問題中都含有線性方程組子問題,因此討論線性方程組問題的求解很有必要,本章將討論線性方程組的數(shù)值解法。線性方程組的一般形式:(3.1)如果記:這里A稱為系數(shù)矩陣,x稱為解向量,b稱為右端項(xiàng),則得線性方程組的矩陣形式:(3.2) 求解線性方程組問題(3.1)或(3.2)的數(shù)值方法可分為兩類:直接解法和迭代解法,其直接解法是通過有限次初等運(yùn)算,求得其解,雖然直接解法的推導(dǎo)過程都是無(wú)誤差的,但是由于計(jì)算機(jī)的運(yùn)算都是有舍入誤差的,所求解其實(shí)是一個(gè)有誤差的近似解;迭代解法則是從某個(gè)初始近似解出發(fā),
2、按照一個(gè)確定的迭代公式得到一個(gè)更好的近似解,反復(fù)迭代,直到求得一個(gè)滿足精度要求的近似解。本章首先討論線性方程組的直接解法然后再介紹迭代解法。3.1消去法1. 順序Gauss消去法首先回顧一下線性代數(shù)中所講的線性方程組消去法過程,然后歸納出消去法的數(shù)值算法,請(qǐng)看如下的例子:例3.1 求解線性方程組解:求解線性方程組的第一階段稱為消元過程,其方法是:第2個(gè)方程減去第1個(gè)方程的倍,第3個(gè)方程減去第1個(gè)方程的2倍,得第3個(gè)方程減去第2個(gè)方程的倍,得這一過程就是消元過程,即把方程化為等價(jià)的上三角方程(對(duì)角線下變?yōu)?)。第一個(gè)階段完成后,進(jìn)入第二個(gè)階段,稱為回代過程,其方法是:先由第3個(gè)方程解出,將代入第
3、2個(gè)方程解出,再將和代入第1個(gè)方程解出也就解出所有的未知量。如下就是所求的解:歸納以上求解方法,求解線性方程組包括兩個(gè)過程,消元過程和回代過程。首先給出回代過程的算法,回代過程其實(shí)是一個(gè)特殊形式的方程組的求解方法,就是一個(gè)上三角線性方程組的求解方法,如:(3.3)第1步:根據(jù)第n個(gè)方程解出,得第2步:根據(jù)已求出的和第n-1個(gè)方程求,得假如已經(jīng)求出,代入第k個(gè)方程可以求出,得:(3.4)回代過程就是對(duì)實(shí)施這一公式,注意必須從后向前計(jì)算方可,所以此過程叫做回代過程,(3.4)式也是求解下三角方程的一般公式,可看作一個(gè)獨(dú)立的算法。算法3.1(上三角線性方程組的回代算法)0) 初始化 設(shè)置上三角方程系
4、數(shù)矩陣A,右端項(xiàng)向量b1) 回代過程 對(duì)于循環(huán)1.1) 1.2) 對(duì)于循環(huán)1.3) 2) 算法結(jié)束再看Gauss消去法的消元過程,對(duì)于線性方程組的消去法本質(zhì)上可看作將其增廣矩陣用初等行變換化為梯形矩陣的過程。為清楚的表示每次消元前后系數(shù)矩陣和右端項(xiàng)的狀態(tài),通常以和表示系數(shù)矩陣和右端項(xiàng),其元素分別記作,其上標(biāo)表示在第k次消元前的狀態(tài),其初始增廣矩陣為:(3.5)首先對(duì)第1列消元,也就是對(duì)增廣矩陣做初等行變換將元素約化為0,希望消元之后形如:(3.6*)為此,對(duì),令消元因子,將第i行減去第1行的倍,則可將(3.5)式變?yōu)?3.6*)式,之后的論述中,在不引起混淆的情況下,將(3.6*)式記為:(3
5、.6)第2列消元,對(duì),令,將第i行減去第2行的倍,則有對(duì)第3、4、n-1列消元,最后得到上三角方程組的增廣矩陣為以上的消元過程可用一個(gè)統(tǒng)一公式表示為:(3.7)通常在編程求解線性方程組時(shí),消元因子存儲(chǔ)于矩陣對(duì)角線以下相應(yīng)的位置上,因?yàn)榇藭r(shí)這些位置的元素將被消元為0。算法3.2 (順序Gauss消去法)0) 初始化 置系數(shù)矩陣A,右端項(xiàng)向量b;1) 消元過程 對(duì)于循環(huán)對(duì)于循環(huán)1.1) 1.2) 1.3) 2) 回代過程 執(zhí)行算法3.1,即3) 算法結(jié)束定理3.1 順序Gauss消去法能夠順利進(jìn)行的充要條件是系數(shù)矩陣A的順序主子式,且,特別有。證:從前述的算法可知,消元過程能夠順利進(jìn)行的充要條件是
6、步驟1.1)中對(duì)角線元素,以下只要證明順序主子式為即可。事實(shí)上,順序消元過程所做行變換并不改變順序主子式的值,而在完成第k次消元過程后,增廣矩陣被約化成:顯然第k個(gè)順序主子式為:2順序Gauss算法的計(jì)算量通常我們?cè)诙攘恳粋€(gè)有限步終止的算法的計(jì)算量時(shí),主要考慮整個(gè)計(jì)算過程中使用乘除法運(yùn)算的總次數(shù),在以后統(tǒng)計(jì)算法的計(jì)算量時(shí),我們僅統(tǒng)計(jì)算法中乘除運(yùn)算的次數(shù)。1) 消元過程的計(jì)算量2) 回代過程的計(jì)算量3) 總的乘除法運(yùn)算的計(jì)算量為總計(jì)算量=4) 可以估計(jì)出總的加減法運(yùn)算的計(jì)算量也約為3. 列主元Gauss消去法前節(jié)所講順序Gauss消去法,有以下兩個(gè)問題:1) 在消元過程中當(dāng)某個(gè)元素對(duì)角線為零時(shí),
7、算法無(wú)法進(jìn)行;2) 如果某個(gè)對(duì)角線元素的絕對(duì)值非常小,將會(huì)引起很大的誤差。因此順序Gauss消去法不具實(shí)用性,但由此方法改進(jìn)的列主元消去法是最為廣泛使用的方法,以下我們通過一個(gè)實(shí)例體會(huì)一下順序Gauss消去法的問題和稍作改進(jìn)之后的效果:例3.2 用順序Gauss消去法求解線性方程組(運(yùn)算過程中保留4位有效數(shù)字)解:寫出方程組的增廣矩陣消元過程:,第2行減去第1行的倍,得回代過程得到計(jì)算解為:,此方程的準(zhǔn)確解為,顯然此計(jì)算解已經(jīng)沒有任何意義。如果將兩個(gè)方程交換一下位置再求解,增廣矩陣:消元過程:,第2行減去第1行的倍,得回代過程得到計(jì)算解為:,與精確解完全相同!第1種解法產(chǎn)生非常大的誤差的原因是
8、的絕對(duì)值太小,做為分母將產(chǎn)生太大的誤差而導(dǎo)致最后的解面目全非;用第2種方法是通過交換方程的位置使做分母的的絕對(duì)值盡可能的大,正如第一章誤差分析所述,避免絕對(duì)值太小的數(shù)做分母,可以提高計(jì)算結(jié)果的精度。這一過程稱為選主元(所選的對(duì)角線元素稱為主元),一般的做法如下。設(shè)進(jìn)行第k步計(jì)算時(shí)增廣矩陣如下:為了在第k次消元過程中使消元因子中的分母絕對(duì)值盡可能的大,在第k列中取第k到第n個(gè)元素中絕對(duì)值最大者:(3.8)在選定主元之后,考慮如下情況(1) 如果,則線性方程組的行列式的值為0,其解不定(無(wú)解或有無(wú)窮多組解,停止計(jì)算);(2) 如果,則的絕對(duì)值最大,以作為主元;(3) 如果則交換矩陣的第行,交換之后
9、第k行對(duì)角線元素絕對(duì)值變?yōu)樽畲?。而交換增廣矩陣的兩行相當(dāng)于交換兩個(gè)方程的位置,顯然不改變?cè)匠痰慕猓?4) 另一個(gè)需要指出的是,由于誤差的原因判斷的方法采取:對(duì)于指定的充分小的,如果,則認(rèn)為。增加選主元機(jī)制的Gauss消去法即為列主元Gauss消去法,列主元Gauss消去法的計(jì)算過程包括:選主元,交換主元行,消元。以下我們寫出適合編程的Gauss算法。算法3.3 (列主元Gauss消去法)0) 初始化 置系數(shù)矩陣A,右端項(xiàng)向量b,取充分小的數(shù);1) 消元過程 對(duì)于循環(huán)1.1) 選主元 1.2) 如果,停止計(jì)算,算法失敗1.3) 如果交換方程, 1.4) 消元 對(duì)于循環(huán)1.4.1) 1.4.2)
10、 1.4.3) 2) 回代過程 執(zhí)行算法3.1,即計(jì)算3) 算法結(jié)束關(guān)于列主元Gauss消去法的計(jì)算量,從列主元Gauss消去法的算法可以看出,僅比順序Gauss消去法多找主元部分,這一部分的操作主要是比較運(yùn)算及必要時(shí)交換兩個(gè)方程,其他的部分算法完全一樣,因此影響不大。4. 全主元Gauss消去法全主元Gauss消去法與列主元Gauss消去法的區(qū)別在于取主元的方法是如果交換增廣矩陣的第行,如果交換增廣矩陣的第列(本質(zhì)上是交換未知量與,計(jì)算結(jié)束時(shí)應(yīng)該交換回來(lái))。顯然全主元消去法取主元的方法范圍更大,主元的絕對(duì)值會(huì)更大,計(jì)算過程也就更可靠更穩(wěn)定,但計(jì)算量稍大。實(shí)際計(jì)算效果表明,列主元Gauss消去
11、法已經(jīng)很穩(wěn)定,全主元法的改進(jìn)甚微,是沒必要的,所以通常使用列主元Gauss消去法。5. Gauss-Jordan消去法列主元Gauss消去法在消元過程中是將對(duì)角線以下的元素約化為0,將系數(shù)矩陣化為上三角矩陣,通過回代得到方程的解;Gauss-Jordan消去法是將系數(shù)矩陣約化成單位矩陣,無(wú)需回代就直接得到了方程組的解,也稱為無(wú)回代過程的消去法。設(shè)線性方程組的增廣矩陣為:第1步計(jì)算,設(shè),第1行除以,第行減去新第1行的倍,則增廣矩陣變?yōu)槿缦滦问降?步計(jì)算,設(shè),第2行除以,第行減去新第2行的倍,則增廣矩陣變?yōu)槿缦滦问皆O(shè)第k-1步計(jì)算結(jié)束時(shí)增廣矩陣為如下形式第k步計(jì)算,設(shè),第k行除以,第k)行減去新第
12、k行的倍,則增廣矩陣變?yōu)橥瓿蒼-1步計(jì)算之后,增廣矩陣變?yōu)轱@然最后一列就是方程組的解。注意到在求解過程中,總是假設(shè)對(duì)角線上的主元,若算法將無(wú)法進(jìn)行下去,如同列主元消去法,在消元過程中也可用選列主元的策略來(lái)避免這種情況發(fā)生,除非系數(shù)矩陣奇異。算法3.4 (求解線性方程組的Gauss-Jordan消去法)0) 初始化 置系數(shù)矩陣A,右端項(xiàng)向量b,取充分小的數(shù);1) 消元過程 對(duì)于循環(huán)1.1) 選主元 1.2) 如果,停止計(jì)算,算法失?。?.3) 如果交換方程1.4) 規(guī)格化主元行 1.5) 消元 即對(duì)于循環(huán)1.5.1) 1.5.2) 2) 算法結(jié)束6. Gauss-Jordan消去法求逆矩陣及算法
13、設(shè)計(jì)首先通過一個(gè)求逆過程來(lái)寫出相應(yīng)算法。例3.3 用Gauss-Jordan消去法求下矩陣的逆陣:解:在矩陣A的右邊添加單位矩陣進(jìn)行初等行變換此時(shí)對(duì)應(yīng)初始狀態(tài)的單位矩陣就是所求的逆矩陣:通常編程實(shí)現(xiàn)求逆矩陣時(shí)并不添加右邊的單位矩陣,而是對(duì)原始矩陣直接進(jìn)行變換,在完成計(jì)算時(shí)原矩陣就變成了逆矩陣。其實(shí)我們注意一下求逆的過程,有如下兩個(gè)特征:首先、從初始狀態(tài)到最終狀態(tài),增廣矩陣的每個(gè)狀態(tài)都有n個(gè)列是單位列向量,這也就意味著每次變換,都會(huì)將原矩陣的一列變?yōu)閱挝涣邢蛄浚鴮⒃瓎挝痪仃嚨囊粋€(gè)列向量變?yōu)槟婢仃嚨囊涣校看巫儞Q時(shí)可讓這一對(duì)列向量占用共同的列,也就是可將右邊新產(chǎn)生的一列直接放在左邊將要變?yōu)閱挝涣?/p>
14、向量的位置上。其次、在求逆過程中如果沒有行交換,則增廣矩陣中單位列向量的消失與新增,在左右兩部分都是按自然順序遞增的。從例3.3可以看出,因交換主元行,右邊的單位列向量順序隨主元行而變,因此在完成計(jì)算后需要換回原位置,這正說明原矩陣的行交換對(duì)應(yīng)逆矩陣的列交換這一性質(zhì)。以下過程是通常編程時(shí)的實(shí)際計(jì)算過程:整個(gè)計(jì)算有個(gè)消元過程,但是最后一次消元不須選主元,所以主元行標(biāo)分別是2,3,按逆序分別交換列,則得到正確的逆矩陣,此過程直觀性太差,僅作為調(diào)試程序時(shí)核對(duì)之用。算法3.5(矩陣求逆)0) 初始化 輸入矩陣A,并以向量p記錄主元行下標(biāo)(共n-1個(gè)主元行下標(biāo)) ,取充分小的數(shù);1) 行變換 對(duì)循環(huán)1.
15、1) 選主元 ,1.2) 如果,矩陣不可逆,算法失?。环駝t計(jì)算1.3) 交換主元行 如果交換行 1.4) 規(guī)格化主元行 ,1.5) 消元 對(duì)循環(huán)1.5.1) 1.5.2) 2) 交換列 對(duì)循環(huán)如果,交換列 3) 算法結(jié)束以下是計(jì)算機(jī)求逆驗(yàn)證矩陣(3.9),(3.10)3.2LU分解1. 消去法的矩陣運(yùn)算表示形式從矩陣計(jì)算的角度講Gauss消去法是通過一系列初等行變換將矩陣約化成上三角矩陣;Guass-Jordan消去法是通過一系列初等行變換將矩陣約化成單位矩陣。矩陣的初等行變換本質(zhì)上是矩陣左乘一個(gè)初等矩陣,因此消去法也可以用矩陣乘積形式進(jìn)行描述。Gauss消去法的矩陣形式: Gauss-Jor
16、dan消去法的矩陣形式:其中(3.9)式和(3.10)式中的就是我們前述消去法的消元因子,如果記:(3.11)則Gauss消去法的整個(gè)過程可以表示為:注意到形如(3.11)式的單位下三角矩陣具有以下兩個(gè)性質(zhì):逆陣仍然是單位下三角陣;任意兩個(gè)單位下三角陣的乘積仍然是單位下三角陣,所以上式也可以表示為:因此Gauss消去法的本質(zhì)上是將系數(shù)矩陣A進(jìn)行如下的矩陣分解:(3.12)其中是單位下三角矩陣,是上三角矩陣,此種分解也稱為杜里特爾(Doolittle)分解,如果是下三角矩陣,是單位上三角矩陣,則稱為克洛特(Crout)分解,以下內(nèi)容討論的是杜里特爾分解方法。2. LU分解上述(3.12)式也可以
17、寫成:實(shí)現(xiàn)矩陣的LU分解算法既可以仿照消去法設(shè)計(jì)算法也可以直接從該式推導(dǎo)出計(jì)算公式,以下我們討論直接LU分解方法。首先用L的第1行乘以U的各列,則有:,由此可以得到U的第1行:再讓L的各行乘以U的第1列得到,由此又可以得到L的第1列假如我們已經(jīng)得到了L的前k-1列和U的前k-1行:按如下方法確定U的第k行和L的第k列,將L的第k行與U的第各列相乘,有從該式可以得到U的第k行將L的第i(ik)各行與U的第k列相乘,有從該式可以得到L的第k列則有如下結(jié)果:按如此方法,從執(zhí)行到n-1就完成了矩陣的LU分解。綜上所述,我們得到直接LU分解的計(jì)算公式:(3.13)定理3.2 設(shè)n階矩陣A的順序主子式均不
18、為0,則A存在LU分解,且分解是唯一的。事實(shí)上,如果分解成功,A的第k個(gè)順序主子式的值就是,因此結(jié)論是顯然的。本定理表明LU分解可以正常進(jìn)行的前提是順序主子式不為0,表現(xiàn)在分解過程中就是所有。通常可以將下三角矩陣L和上三角矩陣U放在一個(gè)矩陣內(nèi),即:(3.14)例3.4 求矩陣A的LU分解解:設(shè)對(duì)于k=1,利用(3.13)式,先計(jì)算U的第1行再根據(jù)的計(jì)算公式計(jì)算L的第1列,當(dāng)前的分解為對(duì)于k=2,根據(jù)的計(jì)算公式計(jì)算U的第2行,再根據(jù)的計(jì)算公式計(jì)算L的第2列,當(dāng)前的分解為對(duì)于k=3,根據(jù)的計(jì)算公式計(jì)算最終得到分解為:將下三角矩陣L和上三角矩陣U放在一個(gè)矩陣內(nèi),如:3 用LU分解求解線性方程組考慮線
19、性方程組如果系數(shù)矩陣A存在LU分解A=LU,代入原方程組令,則可先求解然后再求解即可得到原線性方程組的解。此處兩個(gè)方程組,一個(gè)是下三角方程,一個(gè)是上三角方程。上三角方程的求解可以使用算法3.1,現(xiàn)在考慮下三角方程的求解。將下三角方程展開求解上三角線性方程組是按的次序求解所以稱為回代過程,求解此下三角線性方程組時(shí)次序正好相反是所以稱為順代過程,計(jì)算公式如下:算法3.6 (求解線性方程組的直接LU分解算法)0) 初始化 輸入系數(shù)矩陣A,右端項(xiàng)b1) LU分解 對(duì)于循環(huán)1.1) 計(jì)算U的第k行1.2) 計(jì)算L的第k列2) 解下三角方程 3) 解上三角方程4) 算法結(jié)束例3.5 用LU分解方法求解下列
20、線性方程組解:先對(duì)系數(shù)矩陣LU分解得到:解下三角方稱: 解上三角方程:前述的LU分解相當(dāng)于順序Gauss消去法,如同順序Gauss消去法不具實(shí)用性一樣,算法3.6也不具實(shí)用性,應(yīng)該使用更穩(wěn)定的列主元策略。由線性代數(shù)知識(shí)可知,交換兩行相當(dāng)于系數(shù)矩陣左乘一個(gè)交換矩陣,將所有交換矩陣的乘積記為P,就得到如下定理:定理3.3 如果矩陣A非奇異(矩陣可逆),則存在交換矩陣P,單位下三角陣L和上三角陣U,使得(3.15)用列主元實(shí)現(xiàn)矩陣的直接LU分解遠(yuǎn)不如對(duì)算法3.3稍作改進(jìn)更容易,以下我們給出這一改進(jìn)的算法。算法3.7 (列主元LU分解算法)0) 初始化 設(shè)置系數(shù)矩陣A,向量存放主元行下標(biāo),取充分小的數(shù)
21、;1) 分解過程 對(duì)于循環(huán)1.1) 選主元 1.2) 如果,停止計(jì)算,算法失敗!1.3) 如果交換第行1.4) 對(duì)于循環(huán)1.4.1) 1.4.2) 2) 算法結(jié)束本算法的幾點(diǎn)說明:1) 向量p記錄主元行的下標(biāo),必要時(shí)可以生成交換矩陣P,完成矩陣或方程的交換功能,在求解方程時(shí)根據(jù)主元行下標(biāo)對(duì)右端項(xiàng)作相應(yīng)的交換;2) 交換主元行時(shí),要對(duì)n個(gè)元素進(jìn)行交換,這是因?yàn)榇藭r(shí)矩陣L也要做相應(yīng)的交換;3) 每次循環(huán)都對(duì)k行k列以后的元素進(jìn)行更新,步驟1.4.1)是對(duì)的最后計(jì)算結(jié)果,對(duì)的計(jì)算則隱含在步驟1.4.2)中;4) 完成算法之后,下三角矩陣L除主對(duì)角上的1之外其他元素置于矩陣A對(duì)應(yīng)的位置上,上三對(duì)角矩陣
22、U置于矩陣A的對(duì)應(yīng)位置上。3.3三對(duì)角方程組的追趕法本節(jié)考慮如下形式的線性方程組(3.16)稱上述方程組為三對(duì)角方程組,其系數(shù)矩陣稱為三對(duì)角矩陣。其矩陣形式為:(3.17)其中系數(shù)矩陣A是三對(duì)角矩陣。在一些實(shí)際問題中,例如解常微分方程邊值問題、偏微分方程的差分方程、解熱傳導(dǎo)方程、三次樣條函數(shù)、數(shù)值微分等,都會(huì)遇到此類線性方程組,求解此類方程組,用Gauss消去法顯然會(huì)浪費(fèi)內(nèi)存和計(jì)算量。以下我們通過LU分解,導(dǎo)出求解三對(duì)角方程更為簡(jiǎn)便有效的算法,稱其為追趕法。對(duì)三對(duì)角矩陣進(jìn)行求解LU分解:右端兩矩陣相乘我們可以得到:從而得到以下三對(duì)角陣LU分解的遞推公式:(3.18)在得到三對(duì)角陣的LU分解之后
23、,先解下三角方程:由此得到y(tǒng)的計(jì)算公式:再求解上三角方程:由此得到x的計(jì)算公式:定理3.4設(shè)三對(duì)角線性方程組中系數(shù)矩陣A滿足:1)2)3)則系數(shù)矩陣A非奇異,且有:1)2)3)證明:注意到結(jié)論1)與系數(shù)矩陣A非奇異是等價(jià)的。下面我們用歸納法來(lái)證明結(jié)論1)和結(jié)論2)。對(duì)于,顯然結(jié)論成立;先假設(shè)結(jié)論對(duì)成立,則對(duì)有從而可以得到結(jié)論1)和結(jié)論2)均成立??紤]結(jié)論3),根據(jù)結(jié)論2)和的計(jì)算公式有:算法3.8 (求解三對(duì)角方程的追趕法)0) 初始化 輸入數(shù)據(jù),令。1) 矩陣分解 2) 解下三角方程3) 解上三角方程4) 算法結(jié)束例3.6 求解三對(duì)角方程(計(jì)算過程保留小數(shù)點(diǎn)以后3位數(shù)字)解:首先對(duì)三對(duì)角矩陣
24、進(jìn)行LU分解,結(jié)果為:先解下三角矩陣再解上三角矩陣用追趕法求解三對(duì)角方程組的計(jì)算量,也就是乘除法運(yùn)算次數(shù)僅為,所以對(duì)于三對(duì)角方程組通常不使用Guass消去法而是使用追趕法也就很容易理解了。有時(shí)還會(huì)遇到如下形式稱為廣義三對(duì)角方程組(如第4章的三次樣條中第三類邊界條件形成的三彎矩方程):(3.19)對(duì)(3.19)式也可以設(shè)計(jì)出計(jì)算量的算法,仿照Gauss消去法,可用如下方法求解。首先消元第一列:顯然僅需要消元,在完成對(duì)應(yīng)的兩個(gè)方程的消元之后會(huì)增加兩個(gè)位置的非零元素,我們?nèi)匀挥帽硎?,成為如下形式:一般情況,對(duì)于,每列僅兩個(gè)位置的元素應(yīng)該消元,同時(shí)處在的位置上會(huì)新增兩個(gè)非零元素,我們?nèi)杂洖楸敬伪幌?/p>
25、元素符號(hào),當(dāng)完成了的消元過程時(shí)是如下形式(3.20)顯然只要再完成(3.20)式對(duì)的消元就可以將其變?yōu)槿缦滦问?3.21)剩下的問題就是一個(gè)簡(jiǎn)單的回代算法。算法3.8A 求解廣義三對(duì)角方程算法0) 初始化 輸入數(shù)據(jù)1) 對(duì)于執(zhí)行,2) 對(duì)于做,3) 對(duì)于,4) 回代過程5) 算法結(jié)束顯然容易算出該算法的計(jì)算量約為次乘除法運(yùn)算。3.4平方根法1. 平方根法本節(jié)我們討論對(duì)稱正定矩陣的一個(gè)更為有效的分解方法平方根法或Cholesky分解,首先回顧線性代數(shù)中對(duì)稱正定矩陣的有關(guān)結(jié)論。定義3.1 設(shè)矩陣滿足,則稱矩陣A是對(duì)稱矩陣,如果對(duì)任意非零向量均有則稱A是正定矩陣,如果有則稱A是半正定矩陣。定理3.5
26、 設(shè)A是對(duì)稱正定矩陣,則有以下結(jié)論成立:1) 所有特征值為正;2) 所有順序主子式為正;3) 如果對(duì)稱正定矩陣可逆,則逆矩陣也是對(duì)稱正定矩陣。定理3.6 設(shè),且的所有順序主子式均大于0,則存在唯一的單位下三角陣和對(duì)角陣,使得(3.22)證明:因?yàn)榈捻樞蛑髯邮讲粸榱?,所以存在唯一的LU分解A=LU,注意到上三角矩陣U可以分解為:將其帶入則有,由對(duì)稱性得再根據(jù)LU分解的唯一性,則有得證。注意到如果矩陣A對(duì)稱正定的,則有,令:將(3.22)式可以改寫成如下形式:則有如下結(jié)論。定理3.7 (Cholesky分解) 設(shè)是正定對(duì)稱矩陣,則存在唯一的非奇異下三角陣,使得(3.23)其中的對(duì)角元素均為正數(shù),稱
27、為Cholesky(喬萊斯基)分解或平方根分解。至此我們僅給出了Cholesky分解的存在性條件,以下討論分解算法。如同LU分解,也考慮直接的分解方法,從下式推導(dǎo)出計(jì)算公式:(3.24)我們寫出下三角部分的表達(dá)式為假設(shè)已得到L的第1列到第k-1列,現(xiàn)要計(jì)算第k列,則有(3.25)例3.7 求以下對(duì)稱矩陣的Cholesky分解,并求其行列式的值解:2改進(jìn)平方根法平方根算法是穩(wěn)定的,缺點(diǎn)是算法中有開平方運(yùn)算。一次開平方運(yùn)算的CPU時(shí)間遠(yuǎn)遠(yuǎn)大于乘除運(yùn)算(開平方運(yùn)算一般是迭代法實(shí)現(xiàn)的),因此通常我們應(yīng)該盡量避免使用平方根運(yùn)算,改進(jìn)平方根法就是無(wú)開方運(yùn)算的平方根法。其實(shí),所謂無(wú)開方運(yùn)算的平方根法就是基于
28、上節(jié)所述的(3.22)式進(jìn)行求解,將(3.22)展開以作為中間矩陣,則有,直接對(duì)按矩陣乘法規(guī)則推導(dǎo)出計(jì)算公式為:(3.26)如果求解線性方程組Ax=b,以下只要分別求解下三角方程和上三角方程,即用如下計(jì)算公式:(3.27)在編程實(shí)現(xiàn)改進(jìn)平方根算法時(shí),對(duì)角陣可以存放在矩陣的對(duì)角線上,中間矩陣可以借用矩陣的上三角部分,改進(jìn)平方根算法如下:算法3.9 改進(jìn)平方根矩陣分解算法0) 初始化 輸入系數(shù)矩陣和右端項(xiàng)1) 分解 對(duì)于循環(huán)1.1) 計(jì)算L 對(duì)1.2) 計(jì)算D2) 算法結(jié)束注:(1) 在編程時(shí),如果希望將下三角矩陣L和中間矩陣T存放在原矩陣A內(nèi),只需要將算法3.9中的所有改為即可,其它不須作任何修
29、改;(2) 如果利用改進(jìn)平方根算法求解線性方程組,可以在算法3.9的基礎(chǔ)上按照(3.27)公式繼續(xù)計(jì)算即可以得到方程組的解。例3.8 用改進(jìn)平方根算法分解以下矩陣解:按算法3.9步驟1)可求得如下結(jié)果:即:3.5 迭代法以上所述Guass消去法、LU分解求解線性方程組的方法均屬于直接方法,還有一類求解線性方程組的方法屬于迭代法,迭代法在求解大型稀疏問題、病態(tài)方程組等特殊情況時(shí)是一個(gè)非常有效的方法。求解線性方程組的直接方法和迭代法的主要區(qū)別是:直接法可以用有限次初等運(yùn)算求出其解,比如Gauss消去法可以用大約次乘除法運(yùn)算和次加減法運(yùn)算求出方程組的解;而迭代法思想如同非線性方程的迭代法一樣,先給出
30、一個(gè)初始近似解,根據(jù)一個(gè)迭代公式得到一個(gè)更好的近似解,通過反復(fù)執(zhí)行迭代過程逐步逼近到精確解,當(dāng)近似解達(dá)到指定的精度時(shí)結(jié)束計(jì)算。如同求解非線性方程的迭代法,求解線性方程組迭代法的也是先把所給的線性方程組,化成同解的線性方程組(3.28)這里稱B為迭代矩陣,給定初始向量并按迭代格式(3.29)進(jìn)行迭代計(jì)算。如果按上述迭代格式所得到的向量序列收斂于某一向量,則就是方程組的解,并稱此迭代法收斂;否則稱為不收斂或發(fā)散。本課程僅介紹Jacobi迭代法和Gauss-Seidel迭代法,并簡(jiǎn)單討論其收斂條件。1. Jacobi迭代法設(shè)有線性方程組寫成其緊湊形式為假設(shè)系數(shù)矩陣非奇異且主對(duì)角線元素,將方程組的非對(duì)
31、角線項(xiàng)移至等式的右端并兩端除以對(duì)角線元素,則方程組的等價(jià)形式為:(3.30)按此式建立迭代格式:(3.31)則稱為Jacobi迭代格式,其相應(yīng)的 迭代方法稱為Jacobi迭代法。為便于今后的收斂性分析,現(xiàn)將迭代公式改寫成矩陣形式。 記則,方程組改寫成:則有:相應(yīng)的矩陣形式的迭代公式為:簡(jiǎn)記為:(3.32)其中稱為Jacobi迭代矩陣,。在非線性方程的迭代法中,迭代過程的終止準(zhǔn)則是兩相鄰迭代近似解之差的絕對(duì)值小于給定精度,而對(duì)于線性方程組的迭代法,其終止準(zhǔn)則是兩次相鄰迭代近似解之間的某種范數(shù)小于給定精度,即例3.9用Jacobi迭代法求解方程組解:等價(jià)形式的方程組為:對(duì)應(yīng)的迭代格式為:取初始點(diǎn),
32、終止精度為,迭代過程如下表:序號(hào) 0 0.000 0.000 0.000 1 0.444 -0.125 1.000 2 0.417 -0.861 0.909 3 0.918 -0.797 1.127 4 0.851 -1.059 0.966 5 1.043 -0.941 1.059 6 0.954 -1.048 0.971 7 1.035 -0.970 1.027 8 0.977 -1.026 0.981 9 1.019 -0.983 1.014 10 0.987 -1.013 0.990 11 1.010 -0.990 1.008 12 0.993 -1.007 0.994 13 1.005
33、 -0.995 1.004 14 0.996 -1.004 0.997 15 1.003 -0.997 1.002 16 0.998 -1.002 0.998 17 1.002 -0.998 1.001 18 0.999 -1.001 0.999 19 1.001 -0.999 1.001 20 0.999 -1.001 0.999 21 1.000 -1.000 1.000經(jīng)21次迭代,收斂到線性方程組的精確解,收斂速度較慢。算法3.10 求解線性方程組的Jacobi迭代法0) 初始化 置初始近似解,最大迭代次數(shù),精度;1) 迭代 當(dāng)時(shí)循環(huán)執(zhí)行如下步驟1.1) 對(duì)于循環(huán)1.2) 如果,則停止
34、計(jì)算,取為方程組的近似解;1.3) 令,繼續(xù)執(zhí)行下一次循環(huán)。2) 算法結(jié)束2. Guass-Seidel迭代法前述的Jacobi迭代的優(yōu)點(diǎn)是算法簡(jiǎn)單,缺點(diǎn)是收斂速度較慢。我們稍加觀察就會(huì)注意到,如果迭代是收斂的,則有理由認(rèn)為一個(gè)新的近似解應(yīng)該優(yōu)于前一個(gè)近似解,但在迭代過程中并不是充分利用了最新的計(jì)算結(jié)果。比如在計(jì)算時(shí)仍然在使用,其實(shí)此時(shí)已經(jīng)計(jì)算出來(lái),而近似值應(yīng)該比更好,如果用參與新的計(jì)算結(jié)果會(huì)更好些。Guass-Seidel迭代法就是基于此思想而設(shè)計(jì)的,因此我們將(3.31)式改寫為:(3.33)稱其為Guass-Seidel迭代格式,相應(yīng)的迭代法稱為Guass-Seidel迭代法。以下我們給
35、出Gauss-Seidel迭代格式的矩陣形式,沿用前述的矩陣記號(hào),(3.33)式可以寫成等價(jià)的形式:迭代格式的矩陣形式為:(3.34)這里稱為Gauss-Seidel迭代矩陣,。例3.10 請(qǐng)用Gauss-Seidel迭代法求解例3.9中的線性方程組,初始點(diǎn)和終止精度仍按原例所取。解:首先寫出Gauss-Seidel迭代格式為:如同例3.9,取初始點(diǎn),終止精度為,迭代過程如下表:序號(hào) 0 0.000 0.000 0.000 1 0.444 -0.236 0.940 2 0.497 -0.837 1.097 3 0.881 -1.031 1.043 4 1.016 -1.031 1.004 5
36、1.020 -1.008 0.996 6 1.006 -0.999 0.998 7 1.000 -0.999 1.000 8 0.999 -1.000 1.000顯然僅經(jīng)過8次迭代,已經(jīng)達(dá)到了終止精度,迭代速度遠(yuǎn)勝過Jacobi迭代法。算法3.11 (求解線性方程組的Gauss-Seidel迭代法)0) 初始化 置初始近似解,最大迭代次數(shù),精度;1) 迭代 當(dāng)時(shí)循環(huán)執(zhí)行如下步驟1.1) 對(duì)于循環(huán)1.2) 如果,則停止計(jì)算,取為方程組的近似解;1.3) 令,繼續(xù)執(zhí)行下一次循環(huán);2) 算法結(jié)束讀者如果編程實(shí)現(xiàn)Jacobi迭代法和Gauss-Seidel迭代法會(huì)發(fā)現(xiàn),Gauss-Seidel迭代法更
37、易編程且使用更少的存儲(chǔ)。一般認(rèn)為,Gauss-Seidel迭代法的收斂速度要優(yōu)于Jacobi迭代法,數(shù)值實(shí)驗(yàn)表明對(duì)絕大多數(shù)線性方程組,確實(shí)如此,但并無(wú)法保證對(duì)每一個(gè)例子均是如此,讀者可以把下列兩個(gè)矩陣作為系數(shù)矩陣構(gòu)成線性方程組,隨便取非0的右端項(xiàng),前述的兩種迭代法,各有一個(gè)收斂而另一個(gè)不收斂。,3. 超松弛(SOR)迭代解線性方程超松馳迭代法是目前解大型方程組的一種最常用方法,該算法是對(duì)Gauss-Seidel迭代法的一種加速方法,其思想是根據(jù)兩次相鄰迭代的近似解構(gòu)造一個(gè)新的更好的近似解。在Gauss-Seidel迭代過程中,對(duì)Gauss-Seidel迭代法進(jìn)行如下修正:(3.35)該迭代法稱
38、為逐次超松弛(SOR)迭代法,其中系數(shù)稱為松弛因子,當(dāng)時(shí)稱為低松弛迭代,取為就是Gauss-Seidel迭代,當(dāng)稱為超松弛迭代。例3.11 用超松弛迭代法求解方程組解:取初始點(diǎn),精度均取。松弛因子的迭代結(jié)果序號(hào) 0 1.000 1.000 1.000 1 5.250 3.813 -5.047 2 3.141 3.883 -5.029 3 3.088 3.927 -5.018 4 3.055 3.954 -5.011 5 3.034 3.971 -5.007 6 3.021 3.982 -5.004 7 3.013 3.989 -5.003 8 3.008 3.993 -5.002 9 3.00
39、5 3.996 -5.001 10 3.003 3.997 -5.001 11 3.002 3.998 -5.000 12 3.001 3.999 -5.000松弛因子的迭代結(jié)果序號(hào) 0 1.000 1.000 1.000 1 6.313 3.520 -6.650 2 2.622 3.959 -4.600 3 3.133 4.010 -5.097 4 2.957 4.007 -4.973 5 3.004 4.003 -5.006 6 2.996 4.001 -4.998 7 3.000 4.000 -5.000算法3.12 求解線性方程組的逐次超松弛(SOR)迭代法0) 初始化 置初始近似解、
40、松弛因子、迭代終止,最大迭代次數(shù)N,精度,;1) 迭代 當(dāng)時(shí)循環(huán)執(zhí)行如下步驟1.1) 對(duì)于循環(huán)1.2) 如果,則停止計(jì)算,取為方程組的近似解;1.3) 令, 繼續(xù)執(zhí)行下一次循環(huán)2) 算法結(jié)束4. 迭代法的收斂性我們使用任何迭代算法,都要清楚該算法必須具有收斂性、了解收斂速度如何?使用發(fā)散的迭代算法或者是收斂速度太慢的迭代算法是沒有實(shí)際意義的,因此我們要研究一下前述的Jacobi迭代法和Gauss-Seidel迭代法的收斂性、收斂速度問題。定義3.2設(shè)是上的任一向量范數(shù)。若存在使則稱序列收斂于。無(wú)論在任何一種范數(shù)下,序列收斂于,根據(jù)向量范數(shù)的等價(jià)性,必可推出在其它范數(shù)下也收斂于,即收斂性與范數(shù)的
41、選擇無(wú)關(guān)。定理3.8 (迭代法收斂的充分條件) 對(duì)于迭代形式的線性方程組,如果則對(duì)于任意的初始向量及任意的右端向量,解此線性程組的迭代格式是收斂的,且(3.36)(3.37)證明:由于,根據(jù)定理1.5矩陣非奇異,線性方程組有唯一解,即有,與迭代公式相減兩邊取范數(shù),并利用矩陣范數(shù)與矩陣范數(shù)的相容性則有反復(fù)使用該不等式,則有注意到對(duì)上式兩端取極限也就是迭代格式收斂。同樣根據(jù)前邊分析還有從而有(3.36)式成立,將(3.36)式再綜合下式可推得(3.37)式成立,即本定理說明迭代法的收斂性與右端項(xiàng)無(wú)關(guān),也與所取初始點(diǎn)無(wú)關(guān),但初始點(diǎn)的選取與收斂的快慢有關(guān)。例3.12設(shè)線性方程組的系數(shù)矩陣為試判斷使用J
42、acobi迭代法和Gauss-Seidel迭代法求解該方程組的收斂性。解:分解系數(shù)矩陣為對(duì)于Jacobi迭代法,有對(duì)迭代矩陣取1-范數(shù),則有,根據(jù)定理3.8可知Jacobi迭代法收斂。對(duì)于Gauss-Seidel迭代法,有對(duì)迭代矩陣取-范數(shù),則有,同樣是根據(jù)定理3.8可得Gauss-Seidel迭代法收斂。定理3.9 (迭代法收斂的充要條件) 對(duì)于迭代形式的線性方程組,迭代法收斂的充要條件是譜半徑小于1,即。證明:如果方程組的解為,則應(yīng)有顯然的充要條件是,根據(jù)定理1.7可知,極限成立的充要條件是,證畢。與定理3.8相比,定理3.9的條件不容易驗(yàn)證,以下我們?cè)俳o出一個(gè)容易驗(yàn)證的收斂條件,首先給出
43、如下定義。定義3.3如果矩陣滿足則稱矩陣A為對(duì)角占優(yōu)矩陣,如果嚴(yán)格不等式成立,則稱A是嚴(yán)格對(duì)角占優(yōu)的。定理3.10 在求解線性方程組的迭代法中:1) 如果矩陣A嚴(yán)格對(duì)角占優(yōu),則Jaocbi迭代法和Gauss-Seidel迭代法均是收斂的,當(dāng)松弛因子滿足時(shí),SOR迭代法是收斂的;2) 如果矩陣A是對(duì)稱正定的,則Gauss-Seidel迭代法是收斂的,當(dāng)松弛因子時(shí),SOR迭代法是收斂的。在以上給出的判斷迭代法收斂條件中,主要有矩陣對(duì)角占優(yōu)、矩陣范數(shù)小于1、譜半徑小于1、矩陣對(duì)稱正定這四個(gè)條件,顯然前兩個(gè)判斷方法簡(jiǎn)單,而后兩個(gè)因?yàn)橐?jì)算特征值或順序主子式則不便于使用。3.6線性方程組的誤差分析在本章
44、的前幾節(jié),我們給出了一些線性方程組的求解方法,一個(gè)還沒有涉及到而且很重要的問題是,這些方法所得到的解可靠嗎?如果是近似解其近似程度如何?在何種情況下所求的解是可靠的?何種方法求出的解更為可靠?這就是本節(jié)所要研究的問題。1 病態(tài)線性方程組在求解出方程組的計(jì)算解后,直觀上會(huì)認(rèn)為可用如下方法度量其計(jì)算解的準(zhǔn)確性,計(jì)算其解的殘向量:如果的值很小,可能認(rèn)為比較精確。但有時(shí)并非如此,看下述線性方程組:(3.38)此方程組的精確解是,但將帶入方程組計(jì)算殘量的-范數(shù)值為此時(shí)殘向量確實(shí)已經(jīng)很小,但是無(wú)論如何也不可以看作是的近似解,其實(shí)是下列方程組的精確解而這兩個(gè)線性方程組的差別僅僅是元素相差,這種差別可以當(dāng)做有
45、一個(gè)微小的擾動(dòng)。定義3.4 如果線性方程組的系數(shù)矩陣或右端項(xiàng)有一個(gè)微小的擾動(dòng)將導(dǎo)致擾動(dòng)前后兩方程組的解有一個(gè)很大的變化,我們稱此線性方程組是病態(tài)的,其系數(shù)矩陣稱為病態(tài)矩陣;反之稱此方程組是良態(tài)的。眾所周知,計(jì)算機(jī)求解線性方程組的每步計(jì)算都會(huì)產(chǎn)生舍入誤差,而當(dāng)前的舍入誤差又會(huì)傳播到之后的求解過程中去,導(dǎo)致誤差不斷的積累,而這些計(jì)算過程中的誤差及誤差積累勢(shì)必影響到最終計(jì)算解誤差的大小。目前對(duì)這類誤差的分析采用一種稱之為向后誤差分析的方法,其思想是在誤差分析過程中,把舍入誤差導(dǎo)致最終解的誤差看作是初始數(shù)據(jù)有一個(gè)擾動(dòng),把有舍入誤差的計(jì)算過程看作是精確的運(yùn)算。之后的討論就是基于如此思想的誤差分析方法,為
46、了度量方程組的病態(tài)或良性程度,首先給出關(guān)于矩陣條件數(shù)的概念。2 矩陣的條件數(shù)定義3.5 設(shè)是非奇異矩陣,對(duì)于某一矩陣范數(shù),稱(3.39)為矩陣A求解線性方程組的條件數(shù)。特別如果取矩陣的2-范數(shù),則可記作:如果矩陣A是對(duì)稱矩陣,分別是A的最大、最小特征值,則有考慮(3.38)式的方程組,系數(shù)矩陣為,而的兩個(gè)特征值分別為,則其系數(shù)矩陣A在2-范數(shù)下的條件數(shù)為,顯然該條件數(shù)相比較于系數(shù)矩陣的元素已經(jīng)非常大了。通常我們使用(3.39)式定義的條件數(shù)來(lái)度量線性方程組的病態(tài)程度,其中的矩陣范數(shù)可取為2-范數(shù)、1-范數(shù)、范數(shù)中的任一范數(shù),條件數(shù)愈大方程組的病態(tài)程度就愈嚴(yán)重。矩陣的條件數(shù)具有如下性質(zhì):(1)
47、;(2) ;(3) ;(4) 。容易驗(yàn)證單位矩陣的條件數(shù)為1,且無(wú)論是2-范數(shù)、1-范數(shù)、范數(shù)中的任一范數(shù),單位矩陣的條件數(shù)均達(dá)到最小值。對(duì)于任取的非奇異矩陣A,有特別需要指出的,2-范數(shù)下正交矩陣Q其條件數(shù)也為1,即也達(dá)到條件數(shù)的最小值。3 線性方程組的誤差分析如前所述,可以把求解過程的誤差看作是原始數(shù)據(jù)的擾動(dòng)問題,首先考慮系數(shù)矩陣的擾動(dòng)對(duì)方程組解的影響。設(shè)是方程組的精確解,是方程組的精確解,即假設(shè)是系數(shù)矩陣有一個(gè)擾動(dòng)之后的方程組的精確解:展開并化簡(jiǎn)得到則,從而有,得最后寫成如下形式(3.40)該式給出了一個(gè)系數(shù)矩陣的擾動(dòng)對(duì)最終所求解的誤差界,顯然影響解的精度的主要因素是系數(shù)矩陣的條件數(shù),從
48、該式可以看出,系數(shù)矩陣的一個(gè)微小的擾動(dòng),在計(jì)算解中被放大了倍,其實(shí)條件數(shù)就是誤差的放大因子。再看右端項(xiàng)的擾動(dòng),設(shè)是方程組右端項(xiàng)有一個(gè)擾動(dòng)后方程組的精確解,即則有,從而有,再由,以下兩不等式相除可得(3.41)對(duì)于右端項(xiàng)的擾動(dòng),其相對(duì)誤差也被放大了倍。最后看系數(shù)矩陣與右端項(xiàng)均有擾動(dòng)的情況。設(shè)是系數(shù)矩陣有一個(gè)擾動(dòng)同時(shí)右端項(xiàng)也有一個(gè)擾動(dòng)之后的方程組的解,即則有,從而,當(dāng)擾動(dòng)較小時(shí),可以在分析中忽略擾動(dòng)的二次項(xiàng),即忽略上式中的項(xiàng),兩邊取范數(shù)有從而有(3.42)根據(jù)向后誤差分析的觀點(diǎn),在實(shí)際計(jì)算過程中產(chǎn)生的誤差及誤差的傳播、積累可以看作是原始數(shù)據(jù)的兩個(gè)擾動(dòng)導(dǎo)致的誤差,從(3.42)式可以看出這些誤差被放
49、大了cond(A)倍。 因此我們可以用條件數(shù)cond(A)來(lái)度量求解線性方程組的解的病態(tài)程度,條件數(shù)愈大愈病態(tài),條件數(shù)愈小愈良性?,F(xiàn)在我們看一個(gè)嚴(yán)重病態(tài)的矩陣Hilbert矩陣(3.43)其逆矩陣為(3.44)此矩陣的條件數(shù)見下表:Hilbert矩陣的條件數(shù)表n581012此表說明,以Hilbert矩陣為系數(shù)矩陣的線性方程組,將是嚴(yán)重病態(tài)的,當(dāng)方程組的階數(shù)大于15時(shí),不論是用列主元Gauss消去法還是用正交分解方法求解所得解已經(jīng)面目全非,讀者可以編程一試。4 病態(tài)線性方程組的求解線性方程組是否為病態(tài)是由其系數(shù)矩陣的條件數(shù)確定的,但是求矩陣的條件數(shù)將是十分困難的,通常并不會(huì)去計(jì)算矩陣的條件數(shù),而
50、是根據(jù)計(jì)算過程中的某些現(xiàn)象來(lái)判斷方程組是否為病態(tài),比如消元過程出現(xiàn)小的主元,則有可能是病態(tài)的;接近奇異的系數(shù)矩陣基本肯定是病態(tài)的等等。關(guān)于病態(tài)方程組的求解方法,有以下幾種可選擇的方法:1) 最理想的方法是提高計(jì)算機(jī)的字長(zhǎng),增加基本運(yùn)算精度,用雙精度、四倍精度甚至更高的精度進(jìn)行計(jì)算,這些已經(jīng)超出本課程討論的范圍;2) 改善系數(shù)矩陣的條件數(shù)、即尋找預(yù)處理矩陣P,對(duì)矩陣做預(yù)處理:(3.45)這里,使得方程組變成良態(tài)的,但預(yù)處理矩陣的求解是非常困難的;3) 迭代改善、迭代改善是最為經(jīng)典的求解病態(tài)方程組的算法,其思想是用單精度求得方程組的解,之后用雙精度計(jì)算其殘量,然后再依此殘量為右端項(xiàng)用單精度求解新構(gòu)成的方程組,其解累加到原解上;反復(fù)如此計(jì)算可以就提高其解的精度。但是此種策略對(duì)于以雙精度為基本運(yùn)算的程序無(wú)法提高解的精度,而目前計(jì)算機(jī)的內(nèi)存和速度已經(jīng)大大提高,幾乎所有浮點(diǎn)計(jì)算都是雙精度方式,所以迭代改善的方法基本不再使用;4) 使用迭代法、由于迭代法基本沒有誤差積累的問題,是一種逐步逼近到精確解的迭代過程,所以往往可以得到其他解法達(dá)不到的精度,讀者可以用Gauss-Se
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)主管職位離職信息保密及競(jìng)業(yè)限制合同
- 北京農(nóng)商銀行理財(cái)合同復(fù)印
- 畜牧局考試題庫(kù)及答案
- 安全生產(chǎn)責(zé)任制的核心是什么內(nèi)容
- 質(zhì)檢部的主要職責(zé)
- 安全生產(chǎn)許可證申領(lǐng)程序
- 衛(wèi)生院安全自查報(bào)告
- 防近月活動(dòng)方案
- 施工企業(yè)安全生產(chǎn)教育培訓(xùn)制度
- 神經(jīng)生物學(xué)試題(卷)與答案解析6套
- GB∕T 10544-2022 橡膠軟管及軟管組合件 油基或水基流體適用的鋼絲纏繞增強(qiáng)外覆橡膠液壓型 規(guī)范
- FANUC機(jī)器人R-2000iA機(jī)械單元維護(hù)手冊(cè)
- 中國(guó)當(dāng)代文學(xué)專題-國(guó)家開放大學(xué)2022年1月期末考試復(fù)習(xí)資料-漢語(yǔ)言本科復(fù)習(xí)資料
- SHR-500A高速混合機(jī)
- 擠密夯實(shí)水泥土樁復(fù)合地基工程監(jiān)理細(xì)則
- 機(jī)動(dòng)車維修經(jīng)營(yíng)備案表
- 井下作業(yè)質(zhì)量管理制度
- 超星爾雅學(xué)習(xí)通《國(guó)際金融》2020章節(jié)測(cè)試含答案(上)
- 污水處理工程調(diào)試和試運(yùn)行手冊(cè)通用
- 國(guó)家開放大學(xué)電大??啤掇r(nóng)村社會(huì)學(xué)》期末試題及答案
評(píng)論
0/150
提交評(píng)論