第1章Richardson外推与分裂外推的算法分析
本章阐述Richardson外推与分裂外推算法原理、递推算法与后验误差估计。本章取材主要是Joyce(1971)、邓建中(1984)和吕涛等的专著(Liemetal,1995;吕涛等,1998)。
1.1多项式外推法
计算数学基本主题:对一个给定的连续问题(积分、积分方程、微分方程、积微方程等)先用网格步长h将其离散为代数问题,再借助计算机求出近似解。近似解T(h)的精度依赖于步长h,并且h越小,网格分割越细,T(h)的精度越高,而计算量则越大。在许多情形下,精确解a0不仅连续依赖于h>0:
(1.1.1)
而且存在与h无关的常数a1,a2 ;p1,p2 ,
使成立渐近展开式
(1.1.2)
对于光滑问题,展开式(1.1.2)经常是h的偶次幂;对于非光滑问题pi可能是分数,甚至出现形如h^pilnh的对数项。往后我们证明:含对数项的展开式也可以借助多项式外推法消去。
具有(1.1.2)的展开式的外推法称为多项式外推法(文献中把具有偶次幂展开式的外推法称为Romberg外推法),它是Richardson外推法indexRichardson外推法的推广。1910年Richardson组合两个差分解:得到O(h^4)阶精度。Richardson称为h^2外推;Romberg在1955年利用Euler-Maclaurin求和公式导出了光滑函数积分的梯形求积公式的误差具有关于步长的偶次幂渐近展开式,Romberg的贡献是逐步使用Richardson-h^2i外推,i=1,2, ,m,从而逐步消去渐近展开h^2, ,h^2m等项,使得近似积分有越来越高的精度阶,由此建立了与数值积分中Gauss方法相媲美的求积方法:Romberg方法。然而Richardson和Romberg的贡献还在于外推法应用的普通性。事实上,当今计算数学的问题,几乎都可发现外推在提高精度方面奇迹般的效力。
1.1.1插值多项式与外推
如果近似有(1.1.2)的渐近展开,并且已有m+1个近似解T(hi),i=0,
,m,linebreakh_0>h_1> >hm>0,那么m次外推值Tm^(0)由线性方程组决定,这里Tm^(0),a_1, ,am是未知数,我们仅对求Tm^(0)有兴趣,展开式(1。1。2)表明Tm^(0)的精度为O(h_0^p_m+1)。
为了求出Tm^(0),实际上并不需要解线性方程组(1。1。3),而是寻求插值多项式,满足插值条件一旦得到插值多项式,f(0)=b_0=Tm^(0)就是我们需要的外推值。外推与插值多项式的这种关系,使我们可以应用插值多项式性质来研究外推算法。
为了简单起见,先讨论渐近展开为偶次幂情形。令x=h^2,相应的插值多项式问题成为求多项式满足插值条件
这个问题等价于求系数a0, ,am满足线性方程
由于方程(1.1.6)的系数行列式是Vandermonde行列式,其值为,故插值多项式唯一存在。熟知,插值多项式有多种表达形式,每一种形式各有优点和缺点。
1)Lagrange插值公式
称为Lagrange插值基函数,有性质
Lagrange插值多项式的优点是插值多项式直接由插值条件(1.1.5)表达出来,
这有利于理论分析,但不利于实算,因为当改变结点和次数时,计算需从头开始。
2)Newton插值公式
Newton插值公式优点是当增加结点时,只需增加最后一项,而前面各项保持不变。Newton插值公式的另一个优点是容易推广到多元插值上,这在下面讨论分裂外推法index分裂外推法时用到。
3)Neville插值公式
Neville插值方法是递推算法:逐步由低次插值多项式构造出高次的插值多项式。下面引理表明Neville递推算法正确性。
那么,由(1.1.12)确定的pj^(i)(x),按归纳假设(1.1.13)有
这就得到证明。
Neville插值算法可以按表1.1.1的那样生成,每增加一个新的插值点,
只增加最后一行元素的运算。
利用微分中值定理可以证明插值多项式的误差为
其中xi位于xi, ,xi+m和x之间。
1.1.2多项式外推算法及其推广
既然外推值等于插值多项式在h=0的值,利用Neville插值公式(1.1.12)代入xi=h_i^2,立刻得到Romberg外推算法:
应用(1.1.14)可以得到Romberg外推indexRomberg外推的误差估计,
为此注意
类似,若T(h)的展开式为
在对应的插值多项式pm^(i)(x)中取x=0,并
令Tm^(i)=Pm^(i)(0)为a0的近似,
相应于展开式(1.1.16)的多项式外推法如下:
其误差为
如果T(h)具有更一般的渐近展开式
其中0
具有高阶近似,但对一般网参数选择hi,
利用(1.1.17)不能作进一步外推,常用的参数选择是
有类似的递推算法:
下面用归纳法证明算法1。1。1的合理性。对于j=0,
由(1.1.19)知T0^(0)=T0(h_0)有渐近展开
这里aj^(j),aj-1^(j), 是与h0无关的常数,故
代入(1.1.21)中得
ak^(j+1)是与h0和i无关的常数,这就证明了算法1.1.1是逐步消去渐近展开项的过程,并且
对于展开式中含有h对数项情形,如在展开式中同时有h^p_1项和h^p_1lnh项,为了消去这两项仅需两次调用程序
现在证明如下:因为