求非线性方程重根的区间算法
Interval Algorithm of Nonlinear Equation with Multiple Root
DOI: 10.12677/AAM.2018.78119, PDF, HTML, XML, 下载: 1,341  浏览: 4,386  科研立项经费支持
作者: 武松, 肖旺, 王海军:中国矿业大学数学学院,江苏 徐州;王奕为:中国矿业大学附属中学,江苏 徐州
关键词: 非线性方程重根区间迭代法区间Newton法收敛性Nonlinear Equation Multiple Root Interval Iterative Method Interval Newton Method Convergence
摘要: 本文主要研究非线性方程重根问题的求解方法。基于区间分析理论和函数的二阶近似逼近,设计了一种求解非线性方程重根问题的新方法,并进行了相关的收敛性分析,给出了近似解在数值上的误差估计,最后通过数值算例与传统的区间迭代法进行了对比。新方法不仅能解决非线性方程的单根问题,而且能有效解决非线性方程的二重根问题,且计算量较小,收敛速度较快,数值结果有效可靠。
Abstract: This article mainly discusses methods for solving nonlinear equation. Based on theory of interval analysis and the second order approximate approach, a new method is proposed to solve nonlinear equation with multiple root, carrying related convergence analysis, giving numerical error estimation of approximate solution, contract with traditional method though several numerical examples at last. It can not only solve nonlinear equation with simple root but also solve nonlinear equation with double root efficiently. At the same time, the new method needs less amount of computation and has fast convergence; the numerical results are effective and reliable.
文章引用:武松, 王奕为, 肖旺, 王海军. 求非线性方程重根的区间算法[J]. 应用数学进展, 2018, 7(8): 1020-1027. https://doi.org/10.12677/AAM.2018.78119

1. 引言

非线性方程的求根问题是数值分析的一个基本问题。1966年,Moore [1] 提出的二次收敛的古典区间牛顿法是一种重要的方法,但是该方法要求 0 F ( X ( 0 ) ) ,对于求重根的情况,此时, 0 F ( X ( k ) ) , k = 0 , 1 , 2 , ,该方法不再适用。

对于 0 F ( X ( 0 ) ) 的情况,Hansen [2] 对古典的区间Newton法做了有效的改进,给出了在相应初始区间始终收敛的区间Newton法。改进的区间Newton法,仅需在初始迭代区间存在有限个实根,无论这些实根的重数是多少,均可以有效计算初始区间的所有根,而且可以推广到高维的情形。但是应用改进的区间Newton法来求解非线性方程的重根问题时,其收敛速度将变得很慢。

在实际应用中,遇到的问题可能是求方程的单根,也可能是求方程的重根。现有的许多高阶收敛的区间迭代法 [6] - [15] 在求解方程单根时表现出非常好的数值结果,但当求解的是非线性方程的重根时,其计算效率就会大大下降。

在本文中,我们引入以下符号说明: I ( R ) 表示R上所有区间的集合,关于区间 X = [ x _ , x ¯ ] = { x R | x _ x x ¯ } (如果 x ¯ = x _ = x ,则 X = [ x _ , x ¯ ] = [ x , x ] = x 退化为一个点),称 m ( X ) = x ¯ + x _ 2 为区间X的中点, W ( X ) = x ¯ x _ 为区间X的宽度, | X | = max { | x _ | , | x ¯ | } 为区间X的绝对值。与本文相关的其它区间分析的内容可参阅文献 [1] - [6] 等。

定义1:设 f : R R ,若存在区间值映射 F : I ( R ) I ( R ) ,对任意 x X I ( R ) ,有 F ( [ x , x ] ) = f ( x ) 成立,则称区间值映射 F ( X ) 为函数 f ( x ) 的区间扩展。相对应, F ( X ) 为导函数 f ( x ) 的区间扩展, F ( X ) 为二阶导数 f ( x ) 的区间扩展。

定义2:设区间值映射 F : I ( R ) I ( R ) 为函数f的区间扩展,而 X , Y I ( R ) 且满足 X Y ,如果成立 F ( X ) F ( Y ) ,则称区间值映射F具有包含单调性。

2. Hansen改进的区间Newton法

古典区间Newton法是求解非线性方程的经典方法。设f是单变量实值的连续可微函数, F ( X ) f ( x ) 在区间X上具有包含单调性的区间扩展,记 F ( X ( 0 ) ) 为函数 f ( x ) 在给定区间 X ( 0 ) 上的区间扩展,如果 0 F ( X ( 0 ) ) ,则可建立如下迭代公式

X ( k + 1 ) = X ( k ) N ( X ( k ) ) , k = 0 , 1 , 2 ,

这里

N ( X ( k ) ) = m ( X ( k ) ) f ( m ( X ( k ) ) ) F ( X (k))

这就是著名的古典区间Newton法 [1] [2] [3] [4] 。

0 F ( X ( k ) ) 时,Hansen通过引进无界区间的概念来定义区间除法。

F ( X ( k ) ) = [ c k , d k ] ,因为 0 [ c k , d k ] ,定义

1 F ( X ( k ) ) = { [ 1 d k , ] c k = 0 [ , 1 c k ] d k = 0 [ , 1 c k ] [ 1 d k , ]

若成立 f ( m ( X ( k ) ) ) = 0 ,则 m ( X ( k ) ) 就是f的零点,否则 H ( X ( k ) ) 就有两种可能的定义,

1) 对于 f ( m ( X ( k ) ) ) > 0 的情形,有

H ( X ( k ) ) = { [ , q k ] c k = 0 [ p k , ] d k = 0 [ , q k ] [ p k , ]

2) 对于 f ( m ( X ( k ) ) ) < 0 的情形,有其它情况

H ( X ( k ) ) = { [ q k , ] c k = 0 [ , p k ] d k = 0 [ , p k ] [ q k , ]

其中 p k = m ( X ( k ) ) f ( m ( X ( k ) ) ) / c k q k = m ( X ( k ) ) f ( m ( X ( k ) ) ) / d k

0 F ( X ( k ) ) 时,有

H ( X ( k ) ) = m ( X ( k ) ) f ( m ( X ( k ) ) ) F ( X (k))

此时

X ( k + 1 ) = X ( k ) H ( X ( k ) ) , k = 0 , 1 , 2 ,

即为Hansen [2] 改进的区间Newton法。

3. 新的区间迭代算法

对于非线性方程 f ( x ) = 0 ,设 x * 为该方程的单根或重根, x 0 是比较靠近 x * 的初始值。使用泰勒公式将 f ( x ) = 0 展开到二阶,有

f ( x 0 ) + ( x x 0 ) f ( x 0 ) + 1 2 ( x x 0 ) 2 f ( ξ ) = 0 (1)

这是一个关于x的二次方程且一定存在实根,解得

x = x 0 f ( x 0 ) [ f ( x 0 ) ] 2 2 f ( x 0 ) f ( ξ ) f ( ξ ) (2)

x = x 0 f ( x 0 ) + [ f ( x 0 ) ] 2 2 f ( x 0 ) f ( ξ ) f ( ξ ) (3)

F ( X ) f ( x ) 的具有包含单调性的区间扩展,新的区间迭代法如下

X ( k + 1 ) = X ( k ) S ( X ( k ) ) (4)

这里

S ( X ( k ) ) = m ( X ( k ) ) f ( m ( X ( k ) ) ) [ f ( m ( X ( k ) ) ) ] 2 2 f ( m ( X ( k ) ) ) F ( X ( k ) ) F ( X ( k ) ) (5)

S ( X ( k ) ) = m ( X ( k ) ) f ( m ( X ( k ) ) ) + [ f ( m ( X ( k ) ) ) ] 2 2 f ( m ( X ( k ) ) ) F ( X ( k ) ) F ( X ( k ) ) (6)

4. 新方法的收敛性与误差分析

说明:以上区间算子S有两种,所用方法完全相同,所以以下定理只就第一种情况进行证明,第二种情况的证明步骤也完全相同,就不作详叙。

定理1:设f为给定区间 X ( 0 ) 上的一个二阶连续可微函数,且 0 F ( X ( k ) ) , k = 0 , 1 , 2 , 如果 X ( 0 ) 包含有f的一个零点 x * ,则所有的 X ( k ) , k = 0 , 1 , 2 , 都包含 x * ,且有 X ( k +1 ) X ( k ) , x * k = 0 X ( k )

证明:由式(2)可知

x * = m ( X ( 0 ) ) f ( m ( X ( 0 ) ) ) [ f ( m ( X ( 0 ) ) ) ] 2 2 f ( m ( X ( 0 ) ) ) f ( ξ ) f ( ξ ) m ( X ( 0 ) ) f ( m ( X ( 0 ) ) ) [ f ( m ( X ( 0 ) ) ) ] 2 2 f ( m ( X ( 0 ) ) ) F ( X ( 0 ) ) F ( X (0) )

x * X ( 0 ) S ( X ( 0 ) ) = X ( 1 )

同理,如果 x * X ( k ) ,则 x * X ( k + 1 ) ,由数学归纳法可得

x * X ( k ) , k = 0 , 1 ,

所以 x * k = 0 X ( k ) ,由式(4)可得 X ( k + 1 ) X ( k )

该区间算子的好处在于:1) 能检测到一个区间是否有根存在,这样可以避免无用的迭代运算;2) 能保证在一个区间有且只有一个实根。

定理2:设f为给定区间 X ( 0 ) 上的一个二阶连续可微函数,且 0 F ( X ) ,则

1) 如果 S ( X ) X ,则X中有且仅有方程 f ( x ) = 0 的一实根。

2) 如果 X S ( X ) = ϕ ,则X中不含方程 f ( x ) = 0 的任何实根。

证明:1)首先证明方程 f ( x ) = 0 根的存在性,

对任意实数 y X ,构造算子 S ˜ ( y ) = y f ( y ) [ f ( y ) ] 2 2 f ( y ) l ( y , m ( X ) ) l ( y , m (X))

其中 l ( y , m ( X ) ) = { f ( y ) f ( m ( X ) ) y m ( X ) , y m ( X ) f ( y ) , y = m (X)

由于 f ( x ) , f ( x ) 在X上的连续,以及 0 F ( X ) ,所以 S ˜ ( y ) 为定义在X的连续算子,当 y = m ( X ) 时,由 F ( X ) 的包含单调性可知

S ˜ ( y ) = y f ( m ( X ) ) [ f ( m ( X ) ) ] 2 2 f ( m ( X ) ) f ( m ( X ) ) f ( m ( X ) ) S (X)

y m ( X ) 时,化简可得 S ˜ ( y ) S ( X ) ,又因为 S ( X ) X ,则区间算子 S ˜ 是将X变换到其自身的连续算子,且区间X为有界闭凸集,根据Browner不动点定理,可知 S ˜ 存在不动点 x * X ,使得 S ˜ ( x ) = x ,从而有

f ( x * ) [ f ( x * ) ] 2 2 f ( x * ) l ( y , m ( X ) ) l ( y , m ( X ) ) = 0

因为 0 F ( X ) ,所以 l ( y , m ( X ) ) 0 ,故有 f ( x * ) = 0

下面证方程 f ( x ) = 0 根的唯一性,如果 m ( X ( k ) ) 是函数f的零点,成立

m ( X ( k ) ) = S ( X ( k ) ) = S ( m ( X ( k ) ) )

则有 m ( X ( k ) ) = X ( k ) S ( m ( X ( k ) ) ) ,这表明程序终止在有限步。

如果 m ( X ( k ) ) 不是f的零点,此时,由 S ( X ( k ) ) 的定义可知总有 S ( X ( k ) ) > m ( X ( k ) ) S ( X ( k ) ) < m ( X ( k ) ) 成立,这表明 S ( X ( k ) ) 不包含 X ( k ) 的中点,因此必有 W ( X ( k + 1 ) ) < 1 2 W ( X ( k ) ) ,从而,故由根的存在性可知点收敛于

综上可得X中有且仅有的一个零点

2) 若X包含的零点,由定理1的证明可知,故与条件矛盾,所以X中不含的零点。

定理3:设f为给定区间上的一个二阶连续可微函数,且方程存在唯一的重根 (至少二重)。如果为Lipschitz区间函数,则由迭代公式(4)所得区间列二次收敛,即存在常数,使得

.

证明:因为为Lipschitz区间函数,则存在,使得

所以

.

又因为,则存在,使得,且

这里,存在常数使得

.

综上可得,令,则有

Table 1. Numerical comparison of both HM method and SM method

表1. HM和SM两种方法的数值对比

.

同理有

5. 数值算例及结果分析

为了验证本文方法的正确性,在联想G400笔记本电脑(处理器:英特尔第三代酷睿i5-3230M @ 2.60 GHz双核)上借助MATLAB R2012b与工具箱INTLAB_V5.5进行编程求解。下面将给出一些数值算例,分别应用本文的方法与Hansen改进的区间Newton法来求解,并对结果进行了对比分析,其中,“HM”表示Hansen改进的区间Newton法,“SM”表示本文的方法,ε表示精度,N表示迭代次数time表示迭代所用时间(单位为秒),X表示计算结果(表1)。

具体算例和数值计算结果如下:

例1:求方程在区间上的根,方程的准确重根为

例2:求方程在区间上的根,方程的准确重根为

例3:求方程在区间上的根,方程的准确重根为

例4:求方程在区间上的根,方程的准确重根为

例5:求方程在区间上的根,方程的准确重根为

例6:求方程在区间上的根,方程的准确重根为

例7:求方程在区间上的根,方程的准确重根为

上述数值算例的结果以及更多的数值计算结果都验证了,在求解非线性方程的重根问题中,本文所建立的区间迭代法与Hansen改进的区间Newton法相比,在迭代次数和时间花费上具有更好的优势,这充分证明了本文方法是有效可靠的。

基金项目

本文工作由江苏省自然科学基金(No. BK20151139)支持。

参考文献

[1] Moore, R. (1966) Interval Analysis. Prentice-Hall Englewood Cliffs, 23-65.
[2] Hansen, E. (1978) Interval Forms of Newtons Me-thod. Computing, 20, 153-163.
https://doi.org/10.1007/BF02252344
[3] 王德人, 张连生, 邓乃扬. 非线性方程的区间算法[M]. 上海: 科学技术出版社, 1987: 6-50.
[4] Moore, R., Kearfott, R.B. and Cloud, M.J. (1983) Introduction to Interval Analysis. Siam, 105-129.
[5] 沈祖和. 区间分析方法及其应用[J]. 应用数学与计算数学, 1983, 2(1): 1-29.
[6] Bakhtiari, P., Lotfi, T. and Mahdiani, K., et al. (2013) Interval Ostrowski-Type Methods with Guaranteed Convergence. Annali dell’Universita di Ferrara, 59, 221-234.
https://doi.org/10.1007/s11565-012-0174-4
[7] 胡建华, 陈兴同, 曹德欣. 数值计算方法[M]. 徐州: 中国矿业大学出版社, 2008: 153-170.
[8] Jin, D. and Lin, S. (2012) Advances in Electronic Commerce, Web Application and Communication. Springer, 83-87.
[9] Costabile, F., Gualtieri, M.I. and Luceri, R. (2001) A New Iterative Method for the Computation of the Solutions of Nonlinear Equations. Numerical Algorithms, 28, 87-100.
https://doi.org/10.1023/A:1014078328575
[10] 高利新, 魏木生. 同时求解f(x)零点的一种迭代解法[J]. 高等学校计算数学学报, 2002, 24(1): 57-64.
[11] Frontini, M. and Sormani, E. (2003) Some Variants of Newton’s Method with Third-Order Convergence. Applied Mathematics and Computation, 140, 419-426.
https://doi.org/10.1016/S0096-3003(02)00238-2
[12] Amat, S., Busquier, S. and Plaza, S. (2004) Review of Some Iterative Root-Finding Methods from a Dynamical Point of View. Scientia, 10, 3-35.
[13] 王海军, 曹德欣, 宋协武. 解非线性方程的一类可微优化方法[J]. 工程数学学报, 2005, 22(3): 543-546.
[14] Babajee, D.K.R. and Dauhoo, M.Z. (2006) An Analysis of the Prop-erties of the Variants of Newton’s Method with Third Order Convergence. Applied Mathematics and Computation, 183, 659-684.
https://doi.org/10.1016/j.amc.2006.05.116
[15] Wang, H.J. and Cao, D.X. (2009) Interval Expansion Method for Nonlinear Equation in Several Variables. Applied Mathematics and Computation, 212, 153-161.
https://doi.org/10.1016/j.amc.2009.02.008