非线性方程组数值解法

资料百科

20世纪60年代中期以后,发展了两种求解非线性方程组(1)的新方法。一种称为区间迭代法或称区间来自牛顿法,它用区间变量代360百科替点变量进行肉十度娘汽护真十状区间迭代,每迭代一量今抗类装附步都可判断在所给区间解的存在惟一性或者是无解贵强谈承植持然。这是区间迭代法的主要优点,其缺点是计算改声量大。另一种方法称为不动点算法或称单纯形法,它对求解域进行单纯形剖分,对剖分的顶点给一种恰当标号,并用一种有规则的搜索方法找到全外色标号单纯形,从而得到方程(1)的近似解。这种方法菜算优点是,不要求f(□)的导数存在,也不用求逆,且具有大范围收敛性,缺点是计算量大

  • 中文名称 非线性方程组数值解法
  • 方法 区间迭代法不动点算法
  • 类型 数学公式
  • 计算方法 割线法

基本介绍

  n个变量n个方程(n >1)的方程组表示为

  (1)

  式中ƒi(x1,x2,…,xn)是定义在n维欧氏空间R 的开域D上细茶直呼距的实函数。若ƒi中至少有一个非线性函数,则称(1)为非线性方程组。在R 中记

 育封印元 ƒ=

  则(1)简写为ƒ(尣)=0。若存在尣∈D,使ƒ(尣)=0,则称尣为非线性方程组的解。方程组(1)可能有一个解或多来自个解,也可能有无穷多解或无解。对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效审晚资。除极特殊的方程守松宜反消自显例机底外,一般不能用直接方法求得精确解,主要采用360百科迭代法求近似解。根据不同思想构造收敛于解尣的迭甲斯工批办代序列{尣}(k=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的推殖结丰预谓爱重万钱节是牛顿法。

  非线性方程组数值解法 - 牛顿法及其变形 牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序:

  (2)

  式中

  是ƒ(尣)的雅可比矩阵,尣是方程(1我料失到吃言)的解尣的初始近似去跟字于台鲁

  这个程序至少具有2阶收敛速度。由尣算到尣的步骤为:①由尣算出ƒ(尣)及

  ;②用渐想直接法求线性方程组

  的解Δ尣;③求

  。

  由此看到迭代一次需计算n个分量函数值和 n个分量偏导数值,并求解一次n阶线性方程组。

  为了评价非线性方程组不同迭代法的优劣,通常脸个采川用效率

  作为衡量策具写什负支药呀七著标准,其中P为迭代法的收敛阶,W为每迭代步计算函数值ƒi及偏导数

  的总个数(每迭代步中求一次逆的工作量相同内它酸烧坏课议械,均不算在W 内)。效率e越大妈区日低板验拿主培尼表示此迭代法花费代价越小,根据效率定义,牛顿法(2)的效率为

  。

  牛顿法有很多变形,如当

  奇异或严重病态时,可引进阻尼因子λk,得到阻尼牛顿法,即

  式中I是单位矩阵。牛顿法是局部收敛方法,因而对初始近似尣限制较严,为放宽对尣的要求,扩大收敛范围,通常可引进松弛因子ωk,得到牛顿下降法:

  (3)

  式中ωk的选择应使

  成立。

  为减少解线性方程组次数,提高效率,可使用修正牛让粮报季升充围满顿程序

  (4)

  这种算法也称为萨马斯基技巧,它的收敛阶为 p =m+1,由尣 计算

军拉  的工作量为W =n+mn,于是该法的效又端

  。当n=10,m=7时,

  当n=100,m=翻径37时,

  ,由此看到修正牛顿法(4护完矿)比牛顿法效率高,且m 越大效果越明显。

  在计算机上往往采用不计算偏导数的离散牛顿法,即

  (5)

  式中

  ,

  其中ej为基向量,

  ,若取

  ,则(5)仍具有2阶收敛速度。其效率与牛顿法相同。

  若在牛顿法(2)中解线性方程组不用直接法,而采用迭代法则得到一类解非线性方程组的双重迭代法。按解线性方程组采用的方法不同就得到不同名称的迭代法,如牛顿-赛德尔迭代法,牛顿-SOR迭代法,牛顿-ADI迭代法,等等。这些方法都具有超线性收敛速度,工作量也比牛顿法大,除了对某些特殊稀疏方程组外,通常用得校少。若将解线性方程组迭代法的思想直接用于非线性方程组(1),然后把(1)化为一维方程求解,可得到另一类双重迭代法,由于采用的迭代法与解一维非线性方程的方法不同,则得到不同的双重迭代法。如果利用SOR迭代法后再用牛顿法解一维方程则得SOR-牛顿迭代法,在牛顿法中只计算一步而不进行迭代,则得一步的SOR-牛顿迭代,其计算公式可表示为

  式中记号嬠iƒi表示

  ;ω为迭代参数,当ω=1时就是赛德尔-牛顿迭代法,这类方法对解维数高的稀疏的非线性方程组是有效的。

割线法

  若对方程组 (1)线性化时使用插值方法确定线性方程组

  (6)

  中的Ak和bk,则可得到一类称为割线法的迭代序列。假定已知第k步近似尣k,为确定Ak和bk,可在尣附近取n个辅助点у忋(j=1,2,…,n),使n个向量

  线性无关,由插值条件可知

  由此可求得

  由(6)解得

  以此作为方程 (1)的新近似,记作

  ,于是得到

  (7)

  (7)称为解非线性方程组的割线法。辅助点у忋 取得不同就得到不同的割线法程序,例如取

  为常数(j=1,2,…,n),就得到与(5)相同的程序,由于它只依赖于尣点的信息,故也称一点割线法,若取

  它依赖于点尣及

  , 称为两点割线法。其他多点割线法由于稳定性差,使用较少。

  非线性方程组数值解法 - 布朗方法 布朗采用对每个分量方程 ƒi(尣)=0逐个进行线性化并逐个消元的步骤,即在每迭代步中用三角分解求线性方程组的解,得到了一个效率比牛顿法提高近一倍的迭代法,即

  式中

  (8)中当i=n时求得xn记作

  ,再逐次回代,求出

  (i=n-1,n-2,…,1)就完成了一个迭代步。布朗迭代程序的敛速仍保持p=2,而每一迭代步的工作量

  ,故效率

  对这方法还可与牛顿法一样进行改进,得到一些效率更高的算法。这类方法是70年代以来数值软件包中常用的求解非线性方程组的算法。

  非线性方程组数值解法 - 拟牛顿法 为减少牛顿法的计算量,避免计算雅可比矩阵及其逆,60年代中期出现了一类称为拟牛顿法的新算法,它有不同的形式,常用的一类是秩1的拟牛顿法,其中不求逆的程序为

  式中

  ,

  ,

  ,称为逆拟牛顿公式。计算时先给出尣及 B0,由(9)逐步迭代到满足精度要求为止。每步只算 n个分量函数值及O(n)的计算量,比牛顿法一步计算量少得多。理论上已证明,当尣及B0选得合适时,它具有超线性收敛速度,但实践表明效率并不高于牛顿法,理论上尚无严格证明。

  非线性方程组数值解法 - 最优化方法 求方程组 (1)的问题等价于求目标函数为

  的极小问题,因此可用无约束最优化方法求问题(1)的解(见无约束优化方法)。 非线性方程组数值解法 - 连续法 又称嵌入法,它可以从任意初值出发求得方程组(1)的一个足够好的近似解,是一种求出好的迭代初值的方法。连续法的基本思想是引入参数 t∈【0,b】,构造算子H(尣,t),使它满足条件:H(尣,0)=ƒ0(尣),H(尣,b)=ƒ(尣),其中ƒ0(尣)=0的解尣0是已知,方程:

  (10)

  在t∈【0,b】上有解尣=尣(t),则尣(b)=尣就是方程(1)的解。当b有限时,通常取b=1,例如可构造。

  (11)

  这里尣是任意初值,显然H(尣,0)=0,H(尣,1)=ƒ(尣)。为了求得(10)在t=1的解尣=尣(1),可取分点0=t0<t1<…<tN=1在每个分点ti(i=1,2,…,N)上,求方程组 H(尣,ti)=0 (i=1,2,…,N) (12)

  的解尣,如果取尣为初值,只要

  足够小,牛顿迭代就收敛,但这样做工作量较大。已经证明,如果方程组(12)只用一步牛顿法,当t=tN=1时,再用牛顿迭代,结果仍具有2阶收敛速度。以(11)为例,得到连续法的程序为:

  若H(尣,t)的偏导数Ht(尣,t)及

  在D×【0,1】嶅R

  上连续。且

  非奇异,则由(10)对t求导可得到等价的微分方程初值问题:

  (13)

  于是求方程(10)的解就等价于求常微初值问题(13)的解,求(13)的解可用数值方法由t=0计算到t=tN=b得到数值解

  。已经证明只要N足够大,以尣为初值再进行牛顿迭代可收敛到方程(1)的解x,这种算法称为参数微分法。

  20世纪60年代中期以后,发展了两种求解非线性方程组(1)的新方法。一种称为区间迭代法或称区间牛顿法,它用区间变量代替点变量进行区间迭代,每迭代一步都可判断在所给区间解的存在惟一性或者是无解。这是区间迭代法的主要优点,其缺点是计算量大。另一种方法称为不动点算法或称单纯形法,它对求解域进行单纯形剖分,对剖分的顶点给一种恰当标号,并用一种有规则的搜索方法找到全标号单纯形,从而得到方程(1)的近似解。这种方法优点是,不要求ƒ(尣)的导数存在,也不用求逆,且具有大范围收敛性,缺点是计算量大。

参考书目

  J.M.Ortega and W.G.Rheinboldt,Iterative Solution of Nonlinear Equations in Several variables,Academic Pre来自ss,New York,1970.

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com