摘要:一般非线性方程组可以写成F(x)0的形式,其中F:RR是定义在区域
nmDRn上的向量函数。把方程组F(x)0改写成与之等价的形式:xG(x)。因此,求
方程组F(x)0的解就转化为求函数的G(x)的不动点。本文首先介绍了多变量函数F(x)的微积分性质,接着介绍了用不动点迭代法求解非线性方程组。 关键词:多变量函数;微积分;不动点
Fixed Point Iteration Method For Solving Nonlinear Equations
Abstract:General nonlinear equations can be written in the form of F(x), where the vector functionF:RnRmis defined on the region DRn. Transform the equationsF(x)0 into its equivalent form: xG(x).Therefore, we can get the solution of
F(x)0 by finding the fixed point of G(x).In this paper, we first introduce some knowledge
about multivariable calculus, then introduce the fixed point iteration method for solving nonlinear equations.
Key words: multi-variable function; calculus; fixed point
1 引言
一般非线性方程组及其向量表示法:含有n个方程的n元非线性方程组的一般形式为
f1(x1,x2...,xn)0f(x,x...,x)0212n (1) ......fm(x1,x2...,xn)0n其中,fii1,2,...,n是定义在DR上的n元实值函数,且fi中至少有一个是非线性
函数。
x1x2令x,F(x)...xnnf1xf2x,则方程组可以表示为F(x) (2) ...fmxm*其中F:RR是定义在区域DRn上的向量函数。若存在xD,使
F(x*),则称x*是方程组(1)或(2)的解。把方程组F(x)0改写成与之等价的形
式:xG(x)
nn**其中G:DRR。若xD满足xG(x),则称x为函数G(x)的不动点。因此
**G(x)的不动点就是方程组F(x)0的解,求方程组F(x)0的解就转化为求函数的G(x)的不动点。适当选取初始向量x(0)D,构成迭代公式x(k+1)G(x(k)),k0,1,2,...迭代
公式也称为求解方程组F(x)0的简单迭代法,又称不动点迭代法。G(x)称为迭代函数。 由于F是多变量函数,所以我们先考虑多变量函数的微积分性质。
2多变量函数的微积分性质
在之前我们已经学习过很多关于单变量函数的微积分的性质,由于解非线性方程组经常用到的是多变量函数的相关性质,因此我们考虑多变量函数的微积分性质。相对于单变量函数的微积分的性质,多变量函数的微积分性质一些是类似的,一些是不同的。相对于单变量函数的可微的定义,我们事先给出多变量函数的可微定义。
R,n1的微积分性质 函数f:RnR,n1。我们首先考虑当f是连续的函数的情况,如设函数多变量函数f:R果f关于n个变量的偏导数都存在并且连续,把这n个偏导数组成一个n维向量,则我们把这个n维向量称作多变量函数f的梯度。
nR,如果定义1:连续可微函数f:Rnfx,i1,...,n;存在并且连续,则xiTffn称函数f在点xR上连续可微,并且称fxx,...,x为函数f在点
xxn1xRn的梯度。
如果函数f在开区域DRn上每一点连续可微,则称函数f在开区域DRn连续可微,记作fC1D。
下面我们给出关于多变量函数f的梯度的一些性质:
R在开凸集DRn连续可微,则对于xD以及任意一个非零引理1 设f:R扰动pRnn,则函数f在点x在方向p上的方向导数定义为
fxpfxfT存在并且等于fxp。对于x,xpD,xlim0pfxpf(x)fxtppdtf(x)0T1Txpxfzdz,并且存在
zx,xp使得,fxpf(x)fzp。
下面我们给我这个引理的证明过程,主要思想是把多变量函数转化为单变量函数,然后利用我们已知的单变量函数微积分的性质来证明多变量函数微积分的性质。
证明:首先在点x到点xp的连线上对函数f进行参数化,转变成单变量函数g。定义
x(t)xtp,g:RR,g(t)f(xtp)。由链式法则,对于01,
nnfxtdxtifdgx xpi dtxtidti1xii1 fxpp。 因为
gtg0f(x)(x)limg(0),所以令0,我们就可以得到
t0ptfTxfxp。 p由单变量函数的牛顿定理我们可知,g(1)g(0)义,上式也可以写成fxpf(x)后,由单变量函数的积分中值定理
10g(t)dt。根据前面对函数g的定
fxtp01Tpdt。这就得到我们所要的证明。最
10g(t)dtg,0,1,根据函数g的定义,我们
可以写成fxpf(x)fxpp,0,1。对替换zxtp,可得
Tfxtp01Tpdt进行变量
10fxtppdtTxpxfzdz,从而得证。
R的微积分性质 函数f:Rn下面给出多变量函数二次可微的定义,并进一步给出函数f的Hessian矩阵的定义。
2fR,如果定义2:连续可微函数f:Rx,1i,jn存在并且连续,
xixjnR在点x上二次连续可微;定义一个nn矩阵,其中第i,j元素为则称函数f:Rn2ff(x)ijx,1i,jn,则称这个矩阵为函数f的Hessian矩阵。
xixj2如果函数f在开区域DR上每一点连续可微,则称函数f在开区域DR连续可微,记作fC2nnD。
类似的我们给出关于多变量函数f的二阶连续可微的一个引理。
R在开凸集DRn二次连续可微,则对于xD以及任引理2:设函数f:Rn意一个非零扰动pR,则函数f在点x在方向p上的二阶方向导数
n2f(x)lim20pffxpxpp存在,并且等于pf(x)p。对于对于
T2x,xpD,存在zx,xp使得fxpf(x)f(x)Tp1T2pf(z)p。 2定理的证明过程与一阶连续可微情况的证明过程类似。从Hessian矩阵的定义可知,只要函数f是二次连续可微的,那么Hessian矩阵是对称的。
函数F:RnRm的微积分性质
我们进一步考虑更复杂的情况,也就是从R空间到R空间的函数,设函数
nmf1xf1(x1,x2...,xn)..nm。其中,非线性联立方F:RR,具体可以写成F(x)....f(x)f(x,x...,x)nmm12程问题是mn的情况;非线性最小二乘问题是mn的情况。下面我们给出函数F的相关可微性质:
nmm定义3 连续函数F:RR,如果每一个部分函数fi,i1,...,m在点xR连续可微,
m则称函数F在点xR连续可微。函数F在点x的导数叫作F在点x的Jacobian矩阵,它
mn的转置叫作F在点x的梯度。通常的表示为F(x)R,F(x)ijfix,xjF(x)JxFx。
如果F在开区域DRn上每一点连续可微,则称函数F在开区域DRn连续可微,记作FC1D。
用下面一个例子来具体说明这个定义。
2例1 设F:RR,f1xe1x2,f2xx12x2。
22Txf1xx1 解: J(x)f2xx1f1xex1x2f2x2x1x21 2下面我们研究单实值函数和向量值函数不同方面,对于实值函数存在中值定理,而对于向量值函数,中值定理不一定成立。也就是说,不一定存在zR,使得
nF(xp)F(x)J(z)p。直观上来看,尽管每个函数fi满足
fi(xp)fi(x)fizip,但是点zi是不同的。以上面例子中的函数来考虑, e11ez111z,也就是,e1e1并且2z11,这是不可能的,所以 102z121不存在zR,使得F1,1F(0,0)J(z)(1,1)。
nTT尽管标准的中值定理是不可能的,我们给出一个近似的中值定理,主要是利用牛顿定理和线性积分的三角不等式。其中,单变量向量值函数的积分可以理解为对每一个部分函数进行黎曼积分。
引理3:设F:RR在开凸集DRn上连续可微,对于x,xpD,有
nmF(xp)F(x)J(xtp)dt01xpxF(z)dz。
上式可以写成如下中值定理的形式:
11F(xp)F(x)JxtppdtJxtpdtp。
00因此,我们主要介绍了三种函数,从RR的函数、从RR的函数以及从
nRnRm的函数的可微性质。
3不动点迭代法
把方程组F(x)0改写成与之等价的形式:xG(x)。其中G:DRR。若
nnx*D满足x*G(x*),则称x*为函数G(x)的不动点。因此G(x)的不动点就是方程组F(x)0的解,求方程组F(x)0的解就转化为求函数的G(x)的不动点。
适当选取初始向量x(0)D,构成迭代公式x(k+1)G(x(k)),k0,1,2,...迭代公式也
称为求解方程组F(x)0的简单迭代法,又称不动点迭代法。G(x)称为迭代函数。
nn定理1(压缩映射原理)设G:DRR在闭域D0D上满足条件:
(1)G把D0映入它自身,即G(D0)D0;
(2)G在D0上是压缩映射,即存在常数L(0,1),使对任意的x,yD0,
G(x)G(y)Lxy
则以下结论成立: (1)对任取的x(0)(k+1)D0,G(x(k)),k0,1,2,...产生的序列x(k)D0 由迭代公式x收敛于函数G(x)在区域D0内存在唯一的不动点x;
*(2)成立误差估计式xx证明:由于x(0)*(k)LkLx(1)x(0) ,x*x(k)x(k)x(k1) 。 1L1LD0以及条件(1)可知序列x(k)D0,又由条件(2)可得
x(k1)x(k)G(x(k))G(x(k))Lx(k)x(k1)...Lkx(1)x(0) 当m1时有
x(km)x(k)xi1m(ki)x(ki1)Lki1x(1)x(0)i1mLk(1Lm)(1)Lk(0)xxx(1)x(0)1L1L (1)
因为0L1,所以当k时,上式的最后一项是无穷小量,由Cauchy收敛原理,序列
x(k)在Rn中收敛,又由D0是闭区域x(k)的极限x(*)D0,由条件(2)知,
G(x)在D0上连续,因而x*limx(k1)limG(x(k))G(x*),即x*是方程组
kkF(x)0的解。
** 设x,yD0是F(x)0的两个不同的解,则有
*这表明x是F(x)0在内的唯一解。 x*y*G(x*)G(y*)Lx*y*x*y*,
让m,得xxm*(k)Lkx(1)x(0) 1Lx(ki1)x(km)x(k)xi1(ki)Lix(k)x(k1)
i1mL(1Lm)(k)Lxx(k1)x(k)x(k1) 1L1Lx(k)x(k1)x(k)说明:(1)简单迭代法的精度控制与终止条件
;
(2)由
x*x(k+1)xx*(k)L知简单迭代法是线性收敛的;
(3)对线性方程组迭代函数G(x)Bxd,有L=B<1;
*定理2(局部收敛定理)设G:DRR,xint(D)是方程组F(x)0 的解,在xnn*可微。若G(x)谱半径G(x)1,则存在开球D0xxx*,0,对任取的
x(0)D0,由迭代公式x(k+1)G(x(k)),k0,1,2...产生序列x(k)D0收敛于x*。
下面我们给出一个例子,通过来求函数G(x)的不动点来解非线性方程组。 例2 用简单迭代法求解以下方程
3x1cosx1sinx20 4xsinxcosx0212要求满足精度e(k)x(k)x(k1)x(k)1012
1(cosxsinx)123x1解:设x,G(x)
1x(sinxcosx)2124则方程组可以改写成xG(x),并且对于任意的xR,yR,
221(cosxcosysinxsiny)11223G(x)G(y)
1(sinxsinycosxcosy)12224Axy13sin1其中,A1cos14因此,任取初始向量x(0)Axy7xy 121cos273,A
112sin24R,简单迭代法产生序列x(k)收敛于原方程组的唯一解。
(k1)1(k)(k)x=cosxsinx1123迭代公式
1x(k1)sinx(k)cosx(k)2124计算结果:
k 0 1 2 … 4 26 27 28
x1k …… …… kx2 ek 0. …… 参考文献:
[1] 李庆杨, 关治, 白峰杉. 数值计算原理[M].清华大学出版社.2000;
[2] 李庆杨,王能超,易大义.数值分析[M].武汉:华中理工大学出版社,1986.
[3] 黄象鼎,曾钟钢,马亚男.非线性数值分析的理论与方法[M].武汉:武汉大学出版社,2004. [4] 曾金平,李湘良.数值计算方法[M].长沙:湖南大学出版社,2004. [5] 马吕凤,林伟川.现代数值计算方法[M].北京:科学教育出版社,2008. [6] 王德人.非线性方程组解法与最优化方法。人民教育出版社,1979 [7] 林成森.数值计算方法(第二版)[M].北京:科学出版社,2005.
因篇幅问题不能全部显示,请点此查看更多更全内容