李占松
【摘 要】自然界的所有現(xiàn)象嚴(yán)格來講都是非線性的。非線性代數(shù)方程式是描述自然現(xiàn)象的基本數(shù)學(xué)形式。牛頓—拉普森切線法是求解非線性代數(shù)方程式常用方法之一。線性代數(shù)方程組常用的求解方法有迭代法和列主元消去法。非線性代數(shù)方程式和線性代數(shù)方程組求解方法可分別給出如下啟示:事物的發(fā)展可能會(huì)有不同的結(jié)果,立足點(diǎn)不同發(fā)展結(jié)果可能不同,能且高效地得到理想的結(jié)果必須適時(shí)調(diào)整立足點(diǎn);凡事都有先后順序,做事必須按部就班、循序漸進(jìn),切忌一蹴而就的心態(tài)。
【關(guān)鍵詞】非線性代數(shù)方程式;線性代數(shù)方程組;求解方法;啟示
0 引言
自然界所有的現(xiàn)象嚴(yán)格來講都是非線性的。描述非線性現(xiàn)象最簡單的數(shù)學(xué)模型就是非線性代數(shù)方程式。非線性代數(shù)方程式存在多解性。迭代法是求解非線性方程式常用的方法之一。初值的選取對(duì)迭代結(jié)果有著決定性的影響。推而廣之,與時(shí)間相關(guān)的微分方程解對(duì)初始條件具有敏感依賴性的特征,這兩者之間有著密切的聯(lián)系。為了使問題得以簡化,非線性代數(shù)方程式通常都先簡化成線性代數(shù)方程式的形式。多個(gè)相聯(lián)系的線性代數(shù)方程式就構(gòu)成了線性代數(shù)方程組。迭代法和高斯列主元消去法是線性代數(shù)方程組常用的兩種求解方法[1]。迭代法求解線性代數(shù)方程組時(shí),未知量是逐個(gè)進(jìn)行迭代的。高斯列主元消去法,是將方程排序之后,逐列消元然后逆序回代的。先期進(jìn)行的計(jì)算一般都會(huì)對(duì)后續(xù)計(jì)算產(chǎn)生影響。對(duì)這些數(shù)學(xué)問題求解過程進(jìn)行思考,能夠給我們的思維方式以有益的啟示。
1 非線性代數(shù)方程式求解過程及其特征
1.1 求解過程
迭代法通常包括簡單迭代法和牛頓—拉普森切線法等。現(xiàn)選取后者,并以求非線性代數(shù)方程式x4-1=0的解為例進(jìn)行分析。
該非線性方程式理論有四個(gè)解分別為:1,-1,i,-i。
用復(fù)數(shù)x=a+bi的形式表示這四個(gè)解,其實(shí)部和虛部分別為:
a=1,b=0a=-1,b=0a=0,b=1a=0,b=-1(1)
令f(x)=x4-1,則f'(x)=4x3。牛頓—拉普森切線法迭代公式通式為:
x1=x0-(2)
其中,x0表示迭代的初值,x1表示迭代的結(jié)果。其原理可用圖1示意。
圖1 牛頓拉普森切線法示意圖
圖2 迭代精度為0.001時(shí)的圖形
那么,該例迭代公式的具體形式為:
x1=x0-(3)
化簡得
x1=3x+(4)
而x0=a0+b0i(5)
x20=a20-b20+2a0b0i(6)
x30=(a30-a0b20-2a0b20)+[(a20-b20)b0+2a20b0]i
=(a30-3a0b20)+(3a20b0-b30)i(7)
則
=i(8)
那么
(9)
所以
(10)
(10)式中的第一式即為復(fù)數(shù)實(shí)部的迭代公式,第二式即為復(fù)數(shù)虛部的迭代公式。
1.2 計(jì)算結(jié)果的圖形顯示及其特征
每個(gè)解用一種顏色表示。四個(gè)解分別用紅黃藍(lán)綠表示。將解對(duì)應(yīng)的顏色涂在相應(yīng)的迭代初值位置上。若迭代過程中超出設(shè)置的實(shí)部和虛部絕對(duì)值之和最大限值,則在初值位置上顯示為背景色。不同迭代精度則會(huì)呈現(xiàn)出不一樣的美妙圖形。圖2為迭代精度為0.001時(shí)的圖形。
從圖形可以看出,收斂于四個(gè)解的區(qū)域犬牙交錯(cuò)。在相鄰兩個(gè)解對(duì)應(yīng)收斂初值區(qū)域邊緣,收斂解對(duì)初值具有高度的敏感依賴性。
2 線性代數(shù)方程組求解方法及其特征
2.1 迭代法
以三元一次方程組為例闡述迭代法求解線性代數(shù)方程組的過程:
a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3(11)
先構(gòu)造迭代方程組的形式:
x1=(b1-a12x2-a13x3)/a11x2=(b2-a21x1-a23x3)/a22x3=(b3-a31x1-a32x2)/a33(12)
選取初值:x、x和x,即可進(jìn)行第一步迭代計(jì)算。
若選取雅可比迭代法,其迭代公式形式為:
x=(b1-a12x-a13x)/a11x=(b2-a21x-a23x)/a22x=(b3-a31x-a32x)/a33(13)
若選取賽德爾迭代法,其迭代公式形式為:
x=(b1-a12x-a13x)/a11x=(b2-a21x-a23x)/a22x=(b3-a31x-a32x)/a33(14)
當(dāng)然,根據(jù)方程組的不同性質(zhì),為了使迭代穩(wěn)定或加快收斂速度,可以分別采用欠松弛迭代法或超松弛迭代法。此處不再一一贅述。
可以視具體情況選擇絕對(duì)誤差和相對(duì)誤差中的一種形式,設(shè)置一定的精度,當(dāng)進(jìn)行一次迭代之后,比較所有未知量迭代初值和迭代結(jié)果之間的誤差,判別是否滿足要求。如果滿足精度要求,迭代結(jié)束;否則,本次迭代結(jié)果作為下次迭代初值,繼續(xù)進(jìn)行迭代計(jì)算,直到滿足精度要求為止。
2.2 高斯列主元消去法
以n元一次方程組為例,闡述其求解過程。
a11x1+a12x2+…+a1nxn=a1,n+1a21x1+a22x2+…+a2nxn=a2,n+1 ……an1x1+an2x2+…+annxn=an,n+1(15)
求解過程的計(jì)算步驟為:
(1)選主元(第k步)(k=1,2,…,n-1)
假設(shè)主元在第l行,也就是從第k行至第n行比較所有第k列的系數(shù),第l行的絕對(duì)值最大。即endprint
a=maxa(i=k,k+1,…,n)(16)
換元:把a(bǔ)換為主元
b=aa=aa=bj(j=k,k+1,…n,n+1)(17)
(2)消元(第k步)(k=1,2,…,n)
a=a/a(j=k,k+1,…,n,n+1)(18)
a=a/aa(19)
選主元換元與消元的過程是交替進(jìn)行的,整體上需要進(jìn)行n步。僅僅是第n步由于僅剩一個(gè)方程(第n個(gè)方程),就沒有了選主元換元的過程,消元也僅僅是將其主系數(shù)化為1即可。
進(jìn)行到第n步得:
x+ax+ax+…+ax=ax+ax+…+ax=a ┇x+ax=ax=a(20)
(3)回代:
xn=a(21)
xk=a-ax(k=n-1,n-2,…,2,1)(22)
2.3 求解方法的特征
迭代法求解線性代數(shù)方程組,無論是(13)式對(duì)應(yīng)的雅克比迭代法,還是(14)式對(duì)應(yīng)的賽德爾迭代法,求解時(shí)都是由第一個(gè)方程至第三個(gè)方程順序進(jìn)行,雅克比迭代法各未知量的本次迭代結(jié)果相互之間沒有影響,僅對(duì)下次迭代結(jié)果相互之間有影響;而賽德爾迭代法及其松弛迭代法,本次迭代時(shí)迭代結(jié)果之間就有相互影響,以第一個(gè)方程式至第三個(gè)方程式順序求解,則第一個(gè)未知量的迭代值將影響第二個(gè)未知量的迭代值,依此類推,并可推廣至n元一次方程組。
高斯列主元消去法求解線性代數(shù)方程組時(shí),第(1)步選主元換元之后,第(2)步消元時(shí)是從第k+1列直至第n列,將所有系數(shù)行列式左下角的元素均消為零,第(3)步回代是由第n-1個(gè)方程直至第1個(gè)方程求出相應(yīng)的未知量。也就是說,整個(gè)的求解過程也是有先后順序的。實(shí)際編程計(jì)算時(shí),可把線性代數(shù)方程組作為矩陣方程式,利用矩陣進(jìn)行運(yùn)算,表面上看是所有未知量同時(shí)求解的,其實(shí)矩陣運(yùn)算的(下轉(zhuǎn)第52頁)(上接第6頁)原理和線性代數(shù)方程組求解方法之間并沒有實(shí)質(zhì)性的不同,只是程序結(jié)構(gòu)不同而已。
可見,無論是采用賽德爾迭代法還是采用高斯列主元消去法求解線性代數(shù)方程組,都不可能所有未知量并行同時(shí)求解。每一步求解時(shí),后求解的未知量都要受已求解未知量的影響;每一步求解都是在上一步求解的基礎(chǔ)上進(jìn)行的。這樣按順序一步一步求解下去,才能得出最終的結(jié)果。
當(dāng)然,如果最終是要求解非線性代數(shù)方程組,而非線性代數(shù)方程組解對(duì)初值有敏感的依賴性,求解順序不同其求解過程亦不相同,初值所包含的不可避免的誤差傳播特性也不相同,也有可能得到不同的結(jié)果。這屬于另外一個(gè)研究的熱點(diǎn)領(lǐng)域。
4 結(jié)語
對(duì)非線性代數(shù)方程式與線性代數(shù)方程組求解過程及其特征分析,可分別得到如下啟示:(1)對(duì)于復(fù)雜問題,可以有不同的結(jié)果。想要得到理想的結(jié)果,就必須有相應(yīng)的理想的出發(fā)點(diǎn),然后堅(jiān)持不懈的走下去。如果有質(zhì)的或量的偏差,就要及時(shí)的調(diào)整,前者可以改變結(jié)果,后者可以提高工作效率。(2)無論做什么事情,都是有先后順序的。切忌做事情一開始就抱著一蹴而就的心態(tài)。凡事都要按部就班、腳踏實(shí)地,分步驟分階段,循序漸進(jìn)一步一步解決,集階段成果才能得到最終整體的成果。
【參考文獻(xiàn)】
[1]楊景芳編著.微機(jī)水力學(xué)[M].大連理工大學(xué)出版社,1991年5月第1版:1-21.endprint