關於非線性方程組Newton解法的研究綜述

2022-09-08 22:51:07 字數 3324 閱讀 9014

作者:謝玉倩王培

一、 研究現狀

非線性代數方程組求解是乙個基本而又重要的問題,這是因為在工作實踐、

經濟學、資訊保安和動力學等方面有大量的實際問題最終轉化為代數方程組。這

一類問題,我們不可能找到他們的解析解,數值解是目前主要的研究方向。數值

解法較為成熟,速度快,但其往往只能求出部分解,而且通常只能求出近似解。

它一般用於解決大型問題。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 的兩個解,因此有 得 所以也是齊次線...