高维李查逊外推算法的研究和应用.docx
《高维李查逊外推算法的研究和应用.docx》由会员分享,可在线阅读,更多相关《高维李查逊外推算法的研究和应用.docx(59页珍藏版)》请在冰豆网上搜索。
高维李查逊外推算法的研究和应用
1
高维李查逊外推算法的研究和应用
林柏洪1张权2杨小远3
(1,2北京航空航天大学物理科学与核能工程学院,北京,100191)
(3北京航空航天大学数学与系统科学学院,数学、信息、行为教育部重点实验室北京,100191)
摘要:
本文在李查逊外推法算法的基础上,提出了广义李查逊外推法算法,在此基础上构造
了高精度高阶导数的数值计算法,实验结果表明,本文提出的算法有效性。
关键字外推,Tayolor公式,导数的数值计算
中图分类号:
0177.2文献标示码:
A
1.李查逊外推法的简介
李查逊外推法是科学计算领域提高算法的精度重要方法,广泛应用于数值积分,有限元
和偏微分方程数值解等领域。
下面介绍理查逊外推法
定理1李查逊(Richardson)外推法
设步长为h的算法Ι1(h)去逼近量Ι,若Ι和1Ι(h)之间的截断误差有渐近展开式:
121
112
11
()()
0
pppkp
k
kk
hChChChOh
ppp−
Ι−Ι=++++=
>>>>
其中
定义1
()()()
1
m
m
p
mm
mp
hrhrh
r+
Ι−Ι
Ι=
−
,则1()mh+Ι逼近Ι的截断误差阶为hpm+1。
从以上算法中,我们可以看到,此算法局限于单变量函数的计算。
那么对于多元函数而言,
理查逊外推法是否一样成立,下面我们将理查逊外推法推广为广义理查逊外推。
2.广义李查逊外推
这节我们给出广义广义李查逊外推算法以及理论分析。
首先我们给出多元函数的
多元函数的Taylor定理
定理1多元函数的Taylor公式
假设D⊂Rn是一凸域,f∈Cm+(1D)。
12(,,.....)nx=xxx
和
1122(,,.....)nnxhxhxhxh
→
+=+++
是D中两点,则必存在θ∈(0,1),使得:
0||
()()
!
m
m
kk
fxhDfxhR
α
α
αα
→
→→
==
+=ΣΣ+,其中
||1
()
m!
m
RDfxhh
α
α
α
θ
=+α
+
=Σ
,这里
12
12
12
.....
12
12
()(),...
....
n
n
nn
n
Dfxfxhhhh
xxx
ααα
ααααα
ααα
→∂++→
==
∂∂∂
其中
1212|.....,!
!
!
.......!
nn|α=α+α+αα=ααα
------------------------------------------------------------
基金项目:
北京市精品课程建设项目资助
作者简介:
林柏洪,男,1989年11月出生,现为北京航空航天大学物理科学与核能工程学院学生。
张权,
男,1991年1月出生,现为北京航空航天大学物理科学与核能工程学院学生。
杨小远,女,1964年2月出
生,博士,北京航空航天大学数学与系统科学学院教授、博导,主要研究方向应用调和分析和图像处理。
2
定理2(广义李查逊外推)
设步长为h=(h1,h2,.....hn)
的算法
1G(h)去逼近量f,若f和
1G(h)之间的截断误差有渐
近展开式:
1
111
1||
()()(),0
!
k
m
p
mm
kp
GhfDfxhohppp
α
α
αα
→
→
−
==
−=ΣΣ+=其中>>>>
(1)
则定义1
()()()(01)
1
m
m
p
mm
mp
GhGqhqGhq
q+
−
=<<
−
,1()mGh+逼近f的截断误差阶为
hpm+1
为了证明定理2,我们首先证明两引理。
引理1设k,n是两个正整数,那么
12
12
112
...12
(......)!
......,
!
!
......!
n
n
k
nn
kn
xxkxαxαxα
α+α++α=ααα
+=Σ
(2)
12......n这里α,α,α是非负整数。
证明:
对加项的个数n作归纳法,n=2时,它是二项式定理,当然成立。
现设关于k-1时成
立,那么由二项式定理以及归纳假设得:
121
121
12
11111
0
121
0...121
...12
(......)[(.....]!
(........)
!
()!
!
()!
....
!
()!
!
!
......!
!
!
!
......!
nn
n
nn
nnn
n
k
kkk
nnnnn
nn
k
n
nn
nnkn
kn
xxxxxkxxx
k
kkxxxx
k
kx
αα
α
αααα
ααααα
ααα
αα
α
ααααα
ααα
−
−
−
−−
=
−
=+++=−−
+++=
+=++=+
−
−
=
−
=
Σ
ΣΣ
Σ
)
12
12......n,
nαxαxα
因此k时,
(2)也成立。
引理证毕。
引理2在多元函数的Taylor定理的条件下,我们有(m1),0
mR=oh+h→
证明:
由于x
是D的内点,所以可以x
为中心作一个闭球K,使得KD⊂。
而当h
充分
小时,可使x+θh∈K
。
由于f的所有m+1阶偏微导都在K上连续,设M是所有偏导数的
绝对值在K上的一个上界,于是由Taylor定理及引理1得:
121
121
||112||112
1
111
1
...||.....||
!
!
.......!
(1)!
!
!
.......!
(||....||)()
(1)!
(1)!
(1)!
nn
nn
mnnn
m
mmm
n
hhhMhh
m
MhhMnhMnh
mmm
ααααα
α=+αααα=+ααα
+
+++
=
+
=++<==
+++
ΣΣ
m
1(m+1)!
|R|<=M
证毕。
下面我们来证明广义理查逊外推。
证明:
用步长为h的算法f(x+h)
去逼近量f(x)
,若f(x+h)
和f(x)
之间的截断误差有
3
渐近展开式:
11
1||
()()().............(0)
!
k
m
mm
kp
fxhfxDfxhppp
α
α
αα
→
→→
−
==
+−==ΣΣ+>>>>
其中
令1G(h)f(xh)
→→→
=+,则
111
1||
1
1||1||
()()()()(0)
!
()()()()()()()
!
!
m
k
mkm
kk
m
p
mm
kp
mm
ppp
kpkp
GhfxDfxhohppp
GqhfxDfxqhohqDfxhoh
α
α
α
αα
αα
αα
α
αα
→
→→
−
==
→→
→→→
====
−=+>>>>
−=+=+
ΣΣ
ΣΣΣΣ
其中
11
12
11
11
2||
()()()()()()
11!
k
m
k
pmpp
pp
pp
kp
GqhqGhfxqqDfxhohoh
qq
α
α
αα
+
→
→→
==
−−
=++=
−−ΣΣ
这个过程称用1()Gqh
和1G(h)
作了一次外推,得到的新公式记为2G(h)
→
则
1
2
1
11
2
()()()()()
1
p
p
p
GhGqhqGhfxoh
q
→−→
==+
−
类似的,若假设m=j时
12
11
12
1
1||
()()
()
1
()()()......()()()()
(1)
(1)......
(1)!
j
j
kkkj
mj
j
k
p
jj
jp
mpppppp
pp
ppp
kjp
GqhqGh
Gh
q
fxqqqqqqDfxhohoh
qqq
α
α
αα
++
+
→
→→
=+=
−
=
−
−−−
=++=
−−−ΣΣ
,1()jGh+
逼近f(x)
的截断误差阶为pj1h+
成立
则当m=j+1时
12
1
12
12
12
1
1||
||
()()()()......()()()()
(1)
(1)......
(1)!
()()()......()()
(1)
(1)......
(1)!
kkkj
m
j
k
kkkj
k
j
mpppppp
p
jppp
kjp
pppppp
p
ppp
GqhfxqqqqqqDfxqhoh
qqq
fxqqqqqqqDfxh
qqq
α
α
α
α
α
α
α
α
+
→
→
+
=+=
→
−−−
=++
−−−
−−−
=+
−−−
ΣΣ
1
1
(m)
k
m
p
kjp
oh+
→
=+=
ΣΣ+
1
121
11
12
11
1||
()()
(1)()()()....()()()()
(1)
(1).....
(1)!
j
kkkjkj
jm
j
k
p
jj
mpppppppp
pp
ppp
kjp
GqhqGh
qfxqqqqqqqqDfxhoh
qqq
α
α
αα
+
+
++
++
→
→
=+=
−
−−−−
=−++
−−−ΣΣ
4
121
11
122||
(1)()(()1()
(1)....()......
(1)())!
()()
kkkjkj
jm
j
k
mpppppppp
pp
ppp
kjp
qfxqqqqqqqqDfxhoh
qqq
α
α
α
α
+
++
→
→
=+=
−−−−
=−++
−−−ΣΣ
故
1
1
121
1
121
2
11
2
2||
()()
()
1
()()()......()()()()
(1)
(1)......
(1)!
()
j
j
kkkjkj
m
j
k
j
p
jj
jp
mpppppppp
p
ppp
kjp
p
GqhqGh
Gh
q
fxqqqqqqqqDfxhoh
qqq
oh
α
α
αα
+
+
+
+
+
+
++
+
→
→
=+=
→
−
=
−
−−−−
==++
−−−
=
ΣΣ
命题也成立。
综上,命题得证。
3.高阶导数的外推计算
这节我们给出基于广义李查逊外推算法的导数算法。
对于函数f(x),对f(x+h)进行Taylor展开,得到:
()()()()()()()()23
'23
2!
3!
fx+h=fx+fxh+hfx+hfx++ohn………(3)
对f(x−h)进行Taylor展开,得到:
()()()()()()()()23
'23
2!
3!
fx−h=fx−fxh+hfx−hfx++ohn………(4)
(3)+(4),得到:
()()()()()()22
2[2
(2)()]2
2!
(2)!
n
fxhfxhfxhfxhfnxohn
n
++−=++++……….(5)
(3)-(4),得到:
()()()()()121
2[1(21)()]21
1!
(21)!
n
fxhfxhhfxhfnxohn
n
−
+−−=++−+−
−
………….(6)
若求解的阶数为偶数,即求解2n阶导,则对(5)式中的h取n个不同的值,得到:
()()()()()22
2
(2)22()
()
22!
(2)!
k=1,2,3,........n
n
kkkknn
k
fxhfxhfxhfxhfxoh
n
⎧++−−
=+++⎪⎨⎪⎩
…...(7)
略去高阶无穷小,得到线性代数方程组:
()()()()
22
2
(2)2()
(),
22!
(2)!
k=1,2,3,........n.
n
kkkknfxhfxhfxhfxhfx
n
⎧++−−
=++⎪⎨⎪⎩
…………..…(8)
把f
(2)(x)、f(4)(x)……f(2n)(x)当成未知数,通过(8)即可求解出f(2n)(x)。
5
下面给出(8)的计算公式,用行列式表示为:
2462
1111
2452
2222
2462
,.............
2!
4!
6!
(2)!
,.............
2!
4!
6!
(2)!
.......................................
.......................................
,.............
2!
4!
6!
(2)!
n
n
n
nnnn
hhhh
n
hhhh
n
A
hhhh
n
⎛⎜
=
⎝
2222
2222123
123
1,1,1.............................1
,.......................
..............................................
2!
4!
6!
...
(2)!
..............................
n
n
hhhh
hhhh
n
⎞⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟=
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎠
22222222
123
2468
12322
1
...........
,.........
.....()
2!
4!
6!
...
(2)!
nnnn
n
n
n
ij
jin
hhhh
hhhhhh
n
−−−−
<=<<=
⎛⎞
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎝⎠
=Π−
阶Vandermonde行列式
2422
11111
2422
22222
,...............,()()2()
2!
4!
(2)!
2
,...............,()()2()
2!
4!
(2)!
2
............................................................................
n
n
hhhfxhfxhfx
n
hhhfxhfxhfx
n
B
−
−
++−−
++−−
=
2422
.........
.....................................................................................
,...............,()()2()
2!
4!
(2)!
2
n
nnnnnhhhfxhfxhfx
n
−
⎛⎞
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎜++−−⎟⎟
⎜⎟
⎜⎟
⎝⎠
2222
11k+1
4444
11k+1
22222222
111
.....,,...........
1
(1)()()2().......,,..........
2!
4!
.........(22)!
2......................................
...,.....
kn
nkkkkn
nnnn
kkn
hhhh
fxhfxhfxhhhh
n
hhhh
−
+−
−−−−
−+
⎛⎜
++−−
=−
−
⎝
1
n
k=
⎞⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎠
Σ
2222
222211k+1
1234444
211k+1
1
1,1,1............................,1
.....,,...........
1
(1).....()()2().......,,..........
2!
4!
.........(22)!
2
...................
nkn
nknkk
kn
kk
hhhh
hhhhfxhfxhfxhhhh
nh
−
+
−
=
++−−
=−
−Σ
24242424
111
...................
n,...n,n.....n
kknh−h−h−h−
−+
⎛⎞
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎟
⎜⎜⎟⎟
⎝⎠
22
2222
1231
22222222222
11211
(2)!
(1).....[()()2()]()
2()()....()().....()
nnij
nknkkjin
kkkkkkkknk
nhhhhfxhfxhfxhh
hhhhhhhhhhh
+<=<<=
=−+
++−−Π−
=−
−−−−−Σ阶Vandermonde行列式
22
2222
1231
222
1
1
(2)!
.....[()()2()]()
2()
nij
nkkjin
kkki
in
ik
nhhhhfxhfxhfxhh
hhh
<=<<=
=
<=<=
≠
++−−Π−
=
Π−Σ
6
则
(2)()
222
1
1
(2)!
()()2()
2()
n
nkk
kkki
in
ik
fxBnfxhfxhfx
A=hhh
<=<=
≠
++−−
≈=
Π