作者:謝玉倩王培
一、 研究現狀
非線性代數方程組求解是乙個基本而又重要的問題,這是因為在工作實踐、
經濟學、資訊保安和動力學等方面有大量的實際問題最終轉化為代數方程組。這
一類問題,我們不可能找到他們的解析解,數值解是目前主要的研究方向。數值
解法較為成熟,速度快,但其往往只能求出部分解,而且通常只能求出近似解。
它一般用於解決大型問題。newton法是數值方法求解非線性方程組的一種基本
方法。根據其特點和不足,對newton法進行簡化和修正。並且與其他數值解法(如
區間法)相結合,形成其他更加完善的求解非線性方程組的方法。
二、 問題的提出
n個變數n個方程的非線性方程組,其一般形式如下:
式(1)中是定義在n維歐式空間中開域d上的實值
函式。若用向量記,令:
則方程組(1)也可表示為:
其中:為賦值空間。
非線性數值方法種類較多,最常用的是newton迭代法。求解非線性方程組
的newton法是乙個最基本而且十分重要的方法,目前使用的很多有效的迭代法
都是以newton法為基礎,或由它派生而來。下面首先介紹幾種newton法及其原
理,然後使用mathwmatica編寫程式,最後通過乙個計算機例項說明幾種牛頓
法的差異。為方便起見
記:以及雅可比矩陣:
三、 各種方法原理及math程式
1、 newton法
(1) 方法原理的概述
像單個方程的newton迭代法一樣,採用逐次線性化的方法構造方程(1)的
newton迭代法。在某個近似解處,將向量作taylor展開,則有:
從而得到(2)的近似方方程
令,將newton法的接待公式改寫為:
每一步迭代均需解newton方程組:
這是乙個線性方程組,可用高斯消去法求解。
通常可用:
作為newton法的終止迭代準則,其中味預先給定的精度要求,有時也可用
預先確定的最大迭代次數m作為終止迭代條件。
(2)math程式及程式說明
程式行是在定義雅可比矩陣(方程組的維數及各個方程的具體形式以後
面出現的例題為參考),7-14行是高斯法求解方程組的矩陣分解準備,15-22行是
程式的主題部分,是乙個迴圈,是對方程組(3)的數學陳旭語言翻譯。在這個循
環中又巢狀了乙個迴圈(18-19行),是高斯法求解的具體形
式,求出。其中h是誤差控制。
2、 簡化的newton法
(1) 方法原理概述
儘管newton法具有較高的收斂速度,但在每一步迭代中,要計算n個函式值
f以及各導數值形成雅可比矩陣而且要求的逆矩陣或者解一
個n階線性方程組,計算量很大。為了減少計算量。在上述newton法中,對於一
切,取為,於是迭代公式百年修正成為:
式(3)即為簡化的newton法。該方法能使計算量大為減少,單卻大大降低了收斂
速度。簡化的newton法的演算法與newton法的演算法區別就在於只由給定的初始近
似值計算於一次,以後在每一次迭代過程中不再計算,保持初始計算
值。(2)math程式及程式說明
與上面newton法類似,去區別在於整個計算工程中只計算了一次雅可不矩陣,2-10
行是在計算。
3、 修正的newton法
(1) 方法原理的概述
從以上兩種方法可以看出,它們各有利弊,如果吸取法收斂快於簡化的
newton法工作量省的優點,把m步簡化的newton步合成一次newton步。則可
義得到下列迭代序列:
式中:,該式稱為修正的newton法。在實際應用中,較
為常用的是m=2的情形。此時,(5)式也可以簡化為:
下面給出的程式是m取一般值時的情形。
(2)math 程式及程式說明
該程式是隨前兩種程式的結合改進。newton法收斂速度較快,但是計算
量大,計算時間較長。其主要原因是每次高斯法求解方程組都要計算雅克比矩陣,
而簡單newton法避免了這個問題。這也是兩者可以結合的主要契合點。程式中
m是newton步中簡單的子步數。即通過m控制雅克比矩陣計算次數的(最外
層for)。整個程式相當於執行了m個簡單newton步。每乙個簡單步的結
果作為下一次執行的。
四、 應用序列
下面以求解非線性方程組:為例,用
上面的newton法程式,簡化的newton法程式和修正的newton法程式分別求得不
同結果,並進行分析比較。
精度要求,取初值。
newton法結果如下:
可見,迭代7次可以達到精度要求。
簡化newton法結果如下:
可見,迭代26次才能達到精度要求,但運算速度較快。
修正的newton法結果如下:
可見,只迭代兩次即達到精度要求,且速遞較快。
五、 各方法比較與不足
通過分析newton法、簡化的newton法和修正newton法的原理,並通過對
算例的分析比較,我們可知:newton法(3)式具有較高的收斂速度,但計算量大,在
每一步迭代中,要計算n個函式值f以及個導數值形成雅可比矩陣,而
且要求是逆陣或者解乙個n階線性方程組;簡化的newton法(4)式,它用迭
代初值來計算,並在每個迭代保持不變,它能使每步迭代過程的計
算量大為減少,但大大降低了收斂速度修正newton法(5)與newton法(3)相比,在
每步迭代過程中增加計算n個函式值,並不增加求逆次數,然而收斂速度提高了,然
而。與一般的數值解法類似,修正newton法乃然是往往只能求出不分解,而
且也只能求得精度較高的近似值,比較適合大型問題。
六、 國內外研究課題
目前,newton迭代法求解線性方程組問題已經很成熟,不精確newton法(擬
newton法)是目前很大多數專家研究的課題,如大型稀疏非線性方程組的不精確
newton法,使用非單調技術的不精確預條件newton類方法解非線性方程組,解
奇異非光滑方程組的newton法和不精確newton法,非精確修正newton法,異
步並行非精確newton法等。
區間分析和區間計算也是目前國內外非線性組解法研究方向,只要用於處理
計算過程深紅輸入誤差、捨入誤差及截斷誤差等的誤差自動控制。在區間方法中,
用乙個區間代表乙個實數,當區間寬度非常小時,可以用這個區間表示該實數。
在將區間用於方程求解是,往往和各種數值方法想結合,比如與newton法相結
合構成區間newton法。另外,在求解過程中和二次分法相結合,判斷每個半區間
內是否有根存在,即使用branch-and-prune方法求方程的根。
線性方程組的解
一 多項選擇 1 元齊次線性方程組有非零解,則 d 2 設a是階方陣,則可逆的充要條件是 a c d 齊次線性方程組只有零解齊次線性方程組有非零解 3 非齊次線性方程組有唯一解的充要條件為 c bd 4 設是矩陣,是非齊次線性方程組所對應的齊次線性方程組,則下列結論正確的是 c d 若僅有零解,則有...
線性方程組
一.選擇題 1 設是矩陣,是非其次線性方程組所對應齊次線性方程組,則下列結論正確的是 a 若僅有零解,則有惟一解 b 若有非零解,則有無窮多個解 c 若有無窮多個解,則僅有零解 d 若有無窮多個解,則有非零解 2.設是矩陣,已知是的基礎解系,則 a 線性無關b 線性無關 c 不能被線性表示d 不能被...
線性方程組解的結構
我們在第一節討論了線性方程組的解的情況,現在進一步研究它的解的結構。一 齊次線性方程組解的結構 齊次線性方程組的矩陣形式為 ax 0 1 其中,齊次線性方程組 1 的解有下列性質 1 如果是齊次線性方程組 1 的兩個解,則也是它的解。證 因為是齊次線性方程組 1 的兩個解,因此有 得 所以也是齊次線...