数值积分和导数

 

Definition 6.1. 加权求积公式 weighted quadrature formula In(f) 是线性泛函

(6.1)In(f)=k=1nwkf(xk)

它逼近函数 fC[a,b] 的积分

(6.2)I(f)=abf(x)ρ(x)dx

其中权函数 ρC[a,b] 满足 x[a,b], ρ(x)>0 ,点 xk 称为节点 node 或横坐标 abscissas ,乘数 ωk 称为权 weight 或系数.

 

Accuracy and convergence

Definition 6.3. In(f) 的余项 remainder 或误差 error

(6.3)En(f)=I(f)In(f)

In(f)C[a,b] 收敛当且仅当

(6.4)fC[a,b],limnIn(f)=I(f)

 
Definition 6.4. 子集 VC[a,b]C[a,b] 上稠密 dense 当且仅当

(6.5)fC[a,b], ϵ>0, fϵV,s.t.maxx[a,b]|f(x)fϵ(x)|ϵ

也就是说,可以从 V 无限逼近 fC[a,b] .

 

Theorem 6.5.{In(f):nN+} 为逼近 I(f) 的一列求积公式,令子集 VC[a,b] 的稠密子集,则 In(f)C[a,b] 收敛当且仅当

(6.6)fV,limnIn(f)=I(f)BR,s.t.nN+, Wn=k=1n|ωk|<B

Proof. 注意第一个条件是在稠密子集中收敛.

 

Definition 6.6. 加权求积公式有精确次数 dE 当且仅当

(6.7){fPdE,En(f)=0gPdE+1,s.t.En(g)0

 
Lemma 6.8.x1,,xnIn(f) 的互异节点,若希望有 dEn1 ,则权可以由

(6.8)k=1,,n,ωk=abρ(x)lk(x)dx

推导,其中 lk(x) 为逐点插值的初等多项式

(6.9)lk(x)=ik;i=1nxxixkxi

Proof. 我们考虑在这 n 个点的插值多项式 p(f;x) ,从而有

k=1nωkf(xk)=k=1nf(xk)abρ(x)lk(x)dx=abρ(x)k=1nlk(x)f(xk)dx=abρ(x)p(f;x)dx

fPn1 时,有 f(x)=p(f;x) ,从而 dEn1 ,即证.

 

Newton-Cotes formulas

Definition 6.9. 牛顿-科茨公式 Newton-Cotes formulas 是通过在均匀节点 x1,,xn[a,b] 插值逼近 I(f) 的公式,形如 (6.1) .

 

Definition 6.10. 梯形法 trapezoidal rule 是通过直接连接点 (a,f(a))T, (b,f(b))T 来逼近 I(f) 的公式

(6.10)IT(f)=ω1f(a)+ω2f(b)

其中权 ω1, ω2 满足

(6.11)ω1=abρ(x)l1(x)dx=abρ(x)xbabdxω2=abρ(x)l2(x)dx=abρ(x)xabadx

特别的,当 ρ(x)1 ,有

(6.12)IT(f)=ba2[f(a)+f(b)]

此时逼近结果就是它们围成的梯形面积.

 

Theorem 6.12. 对带有权函数 ρ(x)1fC2[a,b] ,梯形法的余项满足

(6.13)ζ[a,b],s.t.ET(f)=(ba)312f(ζ)

Proof. 注意到

IT(f)=ab[ρ(x)f(a)l1(x)+ρ(x)f(b)l2(x)]dx=ab[f(a)l1(x)+f(b)l2(x)]dx

也就是说,被积项实际上是两点间的插值多项式,因此取柯西余项,有

ET(f)=abf(ξ(x))2(xa)(bx)dx=f(ζ)2ab(xa)(bx)dx=(ba)312f(ζ)

其中使用了积分中值定理,这是因为 (xa)(bx)(a,b) 上不变号.

 

Definition 6.13. 辛普森法 Simpson's rule 是通过经过点 (a,f(a))T, (b,f(b))T, (a+b2,f(a)+f(b)2)T 来逼近 I(f) 的公式,特别的,当权函数 ρ(x)1 时,有

(6.14)IS(f)=ba6[f(a)+4f(a+b2)+f(b)]

 
Theorem 6.14. 对带有权函数 ρ(x)1fC4[a,b] ,辛普森法的余项满足

(6.15)ζ[a,b],s.t.ES(f)=(ba)52880f(4)(ζ)

此定理的证明需要一些技巧,因为 (xa)(xb)(xa+b2) 的符号在 (a,b) 上变化.

Proof. 我们将证明分为两个部分

首先考虑在 [1,1] 上的辛普森公式

11y(t)dt=11p3(y;1,0,0,1;t)dt+ES(t)

其中 yC4[1,1] ,而 p3(y;1,0,0,1;t) 是在满足 p3(1)=y(1), p3(0)=y(0), p3(0)=y(0), p3(1)=y(1) 的插值多项式,计算差分表得到

p3(t)=y(1)+[y(0)y(1)](t+1)+[y(0)y(0)y(1)]t(t+1)+12[y(1)2y(0)y(1)]t2(t+1)

从而有积分值为辛普森公式

11p3(t)dt=2y(1)+2[y(0)y(1)]+23[y(0)y(0)y(1)]+13[y(1)2y(0)y(1)]=13[y(1)+4y(0)+y(1)]=IS(y)

因此可以通过这种方式得到辛普森公式的余项

ES(y)=11f4(ξ(x))4!t2(t+1)(1t)dt=f(4)(ζ)4!11t2(t+1)(1t)dt=f(4)(ζ)90

这里被积项是埃尔米特插值的柯西余项,于是我们证明了在 [1,1] 上的余项;

考虑变量代换 g:[1,1][a,b] ,定义

g(t)=ba2t+b+a2

我们仍然令 p3(t)y(t) 的插值多项式,但是插值条件改为 p3(a)=y(a), p3(a+b2)=y(a+b2), p3(a+b2)=y(a+b2), p3(b)=y(b) ,则有

abp3(t)dt=11p3(g(t))g(t)dt=11ba2p3(ba2t+b+a2)dt

对应的,我们改写插值多项式和插值函数,令

h(t)=ba2p3(ba2t+b+a2)z(t)=ba2y(ba2t+b+a2)

应用原先的插值条件,我们有

h(1)=ba2y(a)=z(1),h(0)=ba2y(b+a2)=z(0),h(0)=(ba2)2y(b+a2)=z(0),h(1)=ba2y(b)=z(1)

也就是说,我们回到了 [1,1] 上的插值,应用先前的结论,有

abp3(t)dt=11h(t)dt=13[z(1)+4z(0)+z(1)]=ba6[y(a)+4y(b+a2)+y(b)]

这恰好就是辛普森公式,因此我们可以推导埃尔米特插值的柯西余项

ES(f)=abf4(ξ(x))4!(tb+a2)2(ta)(bt)dt=f(4)(ζ)4!ab(tb+a2)2(ta)(bt)dt

可以发现,通过在中点进行两次插值,我们得到了在 [a,b] 上不变号的多项式,作代换 d=ba2

ES(f)=f(4)(ζ)4!ddt2(t+d)(dt)dt=f(4)(ζ)90d5=(ba)52880f(4)(ζ)

从而证明了余项估计.

 

Composite formulas

Definition 6.16. 带有权函数 ρ1 逼近 f(x) 的复合梯形法 composite trapezoidal rule 公式为

(6.16)InT(f)=h2f(x0)+hk=1n1f(xk)+h2f(xn)

其中 h=ban, xk=a+kh ;它是梯形法在每一段长度为 h[xi,xi+1] 上的简单相加.

 

Theorem 6.17.fC2[a,b] ,复合梯形法的余项满足

(6.17)ξ(a,b),s.t.EnT(f)=ba12h2f(ξ)

Proof. 在每一段区间上的余项相加即证,注意由于每段的 ξk 不同,需要应用连续函数的介值定理得到一个共同的 ξ .

 

Definition 6.18. 带有权函数 ρ1 逼近 I(f) 的复合辛普森法 composite Simpson's rule 公式为

(6.18)InS(f)=h3k=1n/2[f(x2k2)+4f(x2k1)+f(x2k)]

其中 h=ban, xk=a+khn 为偶数;它是辛普森法在每一段长度为 2h 的区间 [xi,xi+2] 上的简单相加.

 

Theorem 6.19.fC4[a,b]n2N+ ,复合辛普森法的余项满足

(6.19)ξ(a,b),s.t.EnS(f)=ba180h4f(4)(ξ)

Proof. 在每一段区间上的余项相加即证.

 

Lemma 6.20. 梯形法满足

(6.20)fTn1[0,2π],EnT(f)=0

其中 Tn[0,2π] 是至多 n 次的三角函数的多项式类

(6.21)Tn[0,2π]=span{1,cosx,sinx,,cosnx,sinnx,}

Proof. 我们只需要考虑 em(x)=eimx=cosmx+isinmx, mN ,则

EnT(em)=02πem(x)dx2πn[em(0)+em(2π)2+k=1n1em(2kπn)]=02πeimxdx2πnk=0n1eimk2π/n

容易证明 EnT(em)=0, m=0,,n1 ,即证.

 

Gauss formulas

Lemma 6.21.n,mN+, mn ,给定多项式 p=i=0n+mpixiPn+m 以及 s=i=0nsixiPn 满足 pn+m0, sn0 ,则存在唯一多项式 qPm, rPn1 使得

(6.22)p=qs+r

Proof. 此引理本质上是带余除法得到的,容易证明.

 

Definition 6.22. 在节点 xk 上的节点多项式 node polynomial

(6.23)vn(x)=k=1n(xxk)

 
Theorem 6.23. 设求积公式有 dEn1 ,则能且只能通过添加关于它的节点多项式条件

(6.24)pPj1,abvn(x)p(x)ρ(x)dx=0

改善精确次数为 dEn+j1, j(0,n] .

Proof. 若有精确次数 dEn+j1, j(0,n] ,由 vn(x)p(x)Pn+j1 显然有

abvn(x)p(x)ρ(x)dx=k=1nωkvn(xk)p(xk)=0

必要性得证;对于充分性,我们取 p(x)Pn+j1 ,则可分解为 p=qvn+r ,有

abp(x)ρ(x)dx=abvn(x)q(x)ρ(x)dx+abr(x)ρ(x)dx=abr(x)ρ(x)dx

由于余项 rPn1 ,则有

abr(x)ρ(x)dx=k=1nωkr(xk)=k=1nωk[p(xk)q(xk)vn(xk)]=k=1nωkp(xk)

即证.

 

Note. 注意到对于节点多项式 vn(x) 的所有零点的插值多项式恰为 n1 次,这也就意味着,对任意 pPn1 ,以这些零点为节点推导的加权求积公式都是完全精确的,由 Lemma 6.8 可知,天然地有 dEn1 ,因此这一条件其实是自然的,但是并不显然.

 

Definition 6.24. 高斯求积公式 Gaussian quadrature formula 以节点多项式 vn(x) 的零点为节点,在条件 (6.24)j=n .

 

Corollary 6.25. 高斯公式有 dE=2n1 .

Proof. 在 Theorem 6.23 中,我们可将节点条件看做

pPn1,vn,p=0

vn 与所有不大于 n1 次多项式正交,它们共有 n 个方向,那么显然最多改善 n ,因为 vnPn ,它不可能与自己正交;总的来看,我们可以这样理解:在加权求积公式中, ωk, xk2n 个变量,因此可以通过 2n 阶线性系统确定至多 2n1 次多项式.

 

Corollary 6.26. 高斯公式 In(f) 的权为

(6.25)k=1,,n,ωk=abvn(x)(xxk)vn(xk)ρ(x)dx

Proof. 这是由 Lemma 6.8 直接得到的,是在 vn(x) 节点处的 lk(x) .

 

Note. 推导高斯公式

对于给定的 n 和权函数 ρ(x) ,要求节点多项式 vn(x) 来确定插值点,注意它是首一多项式;

我们首先根据 Corollary 6.25 要求 πn(x) 应当与 xi, i=0,1,,n1 正交,即有

abρ(x)πn(x)xidx=abρ(x)(c0+c1x++xn)xidx=0

这样得到关于系数 ci, i=0,1,,n1n 个线性方程,从而可以解出 πn(x)

通过 πn(x) 的零点确定 n 个插值点,然后求取对应各点的权 ωi ,当然可以通过 Corollary 6.26 来计算权,但是这样每次需要计算一个复杂的高次积分,因此我们考虑利用插值多项式的特性。由于在 πn(x) 零点的求积公式对于不高于 n1 次的多项式是精确的,则

ω1+ω2++ωn=abρ(x)x0dxx1ω1+x2ω2++xnωn=abρ(x)x1dxx1n1ω1+x2n1ω2++xnn1ωn=abρ(x)xn1dx

其中 x1,x2,,xnπn(x) 的零点,我们利用对单项式的求积公式得到 n 个线性方程,从而可以解出 ωi, i=1,2,,n

最终有高斯公式

InG(f)=ω1f(x1)+ω2f(x2)++ωnf(xn)

它对于不高于 2n1 次的多项式是精确的.

 

Definition 6.28. 正交多项式集 orthogonal polynomials 是满足

(6.26)pi,pjP,ijpi,pj=0

的集合 P={pi:deg(pi)=i} .

 

Theorem 6.30.[a,b] 上实正交多项式的每一个零点都是实值单零点,并且在 (a,b) 中.

Proof. 注意到 p0 是常多项式,从 n1 开始,有

abρ(x)pn(x)p0(x)dx=pn,p0=0

pn(x)[a,b] 上没有零点,则它不变号,因此

abρ(x)pn(x)p0(x)dx=p0abρ(x)pn(x)dx0

矛盾,故至少有根 x1[a,b], pn(x1)=0 ;若有重根,则 pn(x)(xx1)2 是一个 n2 次多项式,从而

0=pn(x),pn(x)(xx1)2=1,pn2(x)(xx1)2>0

矛盾,则 x1 只能是单根;

设只有 j<n 个零点 x1,,xj(a,b) 中,令 vj=i=1j(xxi)Pj ,显然 vjpn 的因式,则 pnvj=Pn1vj2 ,其中 Pnj 是在 [a,b] 上不变号的 nj 次多项式,则有

0=pn,vj=Pn1,vj20

矛盾,因此所有零点在 (a,b) 中.

 

Corollary 6.31. 高斯公式的所有节点都互异实值,并且在 (a,b) 中.

 

Lemma 6.32. 高斯公式有正权.

Proof. 由于初等插值多项式 lk(x) 满足 lk(xj)=lk2(xj), j=1,,n ,并且 lk2(x)P2n1 ,则有

ωk=j=1nwjlk2(xj)=abρ(x)lk2(x)dx>0

即证.

 

Lemma 6.33. 高斯公式满足

(6.27)k=1nωk=μ0(0,+)

Proof. 这里 μ0 是由权函数的重量

μj=abxjρ(x)dx,jN

定义的;只需令 j=0 ,即有对 I(f), f(x)1 进行逼近,由定义即证.

 

Theorem 6.34. 高斯公式在 C[a,b] 上收敛.

Proof. 不妨设 P 为实多项式集,则由魏尔斯特拉斯逼近定理, PC[a,b] 上稠密,并且由于

k=1n|ωk|=k=1nωk=μ0<+

由 Theorem 6.5 即证.

 

 
Theorem 6.35.fC2n[a,b] ,高斯公式 In(f) 的余项满足

(6.28)ξ[a,b],s.t.EnG(f)=f(2n)(ξ)(2n)!abρ(x)vn2(x)dx

其中 vn 是确定 In 的节点多项式.

 

Numerical differentiation

Formula 6.36 (The method of undetermined coefficients). 推导 FD 公式来逼近 u(k)(x¯) 的一般方法基于任意互异点 x1,x2,,xn, n>k 构成的模板 stencil ;在模板上逐点 xi 泰勒展开得到

(6.29)u(xi)=u(x¯)+(xix¯)u(x¯)++1k!(xix¯)ku(k)(x¯)+

这样可以把 u(k)(x¯) 表示为 u(xi) 的线性组合

(6.30)u(k)(x¯)=c1u(x1)+c2u(x2)++cnu(xn)+O(hp)

其中 ci 是为使 p 足够大而特别选取的,有

(6.31)i=0,,p1,1i!j=1ncj(xjx¯)i={1,i=k0,otherwise

即将右式泰勒展开后,只有 k 阶导数的项的系数为 1 ,其它项系数都为 0 .

 

Definition 6.38. 逼近导数的 FD 公式称为是 p 阶精确,如果误差 E 有形式

(6.32)E(h)=Θ(hp)

其中 h 为模板中相邻点的最大距离.

 

Lemma 6.42. 逼近 uC4(R) 的二阶导数公式

(6.33)D2u(x¯)=u(x¯h)2u(x¯)+u(x¯+h)h2

是二阶精确,进一步若输入函数 u(x¯h), u(x¯), u(x¯+h) 有误差范围 ϵ[E,E] ,则存在 ξ[x¯h,x¯+h] 使得

(6.34)|u(x¯)D2u(x¯)|h212|u(4)(ξ)|+4Eh2

Proof. 构造 FD 公式

D2u(x¯)=au(x¯h)+bu(x¯)+cu(x¯+h)

x=x¯ 处 Taylor 展开得

D2u(x¯)=(a+b+c)u(x¯)+(a+c)hu(x¯)+12(a+c)h2u(x¯)+16(a+c)h3u(x¯)+O(h4)

求解线性方程组

{a+b+c=0a+c=0a+c=2h2

得到 a=c=1h2, b=2h2 ,从而有

D2u(x¯)=u(x¯h)2u(x¯)+u(x¯+h)h2

注意到 a+c=0 ,则 3 阶项为 0 ,而由 4 阶展开的 Lagrange 余项

124(a+c)h4f(4)(ξ)=h212f(4)(ξ), ξ[x¯h,x¯+h]

再由每一项的扰动 ϵ[E,E]

|ΔD2u(x¯)||Δu(x¯h)|+2|Δu(x¯)|+|Δu(x¯+h)|h2=4Eh2

从而有

|u(x¯)D2u(x¯)|h212|f(4)(ξ)|+4Eh2

应用均值不等式

h212|f(4)(ξ)|+4Eh243E|f(4)(ξ)|

其中等式成立当且仅当

h=48E|f(4)(ξ)|4

此时误差界最小,即证.

 

Problem

IV. 高斯公式的余项。考虑埃尔米特插值问题:寻找 pPn1 使得

m=1,2,,n,p(xm)=fm, p(xm)=fm

有初等埃尔米特插值多项式 hm,qm 使得问题的解可以表示为

p(t)=m=1n[hm(t)fm+qm(t)fm]

类似于拉格朗日插值公式.

  • 寻找 hm,qm 具有形式

hm(t)=(am+bmt)lm2(t),qm(t)=(cm+dmt)lm2(t)

其中 lm 是初等拉格朗日多项式.

首先,根据这种形式,我们希望 hm(t) 只在 xm 非零且为 1 ,并且导数在节点恒为 0 ;令 hm(t)x1,,xn 处满足

hm(xi)={1,i=m0,imhm(xi)=0, i=1,,n

观察 lm 的形式

lm(t)=i=1imntxixmxilm(t)i=1imn(1xmxij=1jm,intxjxmxj)

显然有

lm(xi)={1,i=m0,imlm(xm)=i=1imn1xmxi

根据 hm(t) 的形式有

hm(t)=(am+bmt)lm2(t),hm(t)=bmlm2(t)+2(am+bmt)lm(t)lm(t)

代入节点,按照我们的要求,只需求解线性方程组

{am+bmxm=1bm+2(am+bmxm)lm(xm)=0

得到

am=1+i=1imn2xmxmxi,bm=i=1imn2xmxi

类似的,要求

qm(xi)=0, i=1,,nqm(xi)={1,i=m0,im

得到线性方程组

{cm+dmxm=0dm+2(cm+dmxm)lm(xm)=1

解得

cm=xm,dm=1

代回我们便得到需要的多项式.

 

  • 推导求积公式

In(f)=k=1n[ωkf(xk)+μkf(xk)]

满足 En(p)=0, pP2n1 .

直接对先前所得 p(x) 积分得到

In(f)=k=1n[ωkf(xk)+μkf(xk)]

其中

ωk=abρ(t)hm(t)dt,μk=abρ(t)qm(t)dt

由于 p(t) 实际上是 f(x) 的 Hermite 插值多项式,根据 Hermite 插值的余项,对于 fP2n1 ,有 f(t)=p(t) ,从而 En(f)=0 .

 

  • 在什么条件下 μk=0, k=1,2,,n .

根据要求有

abρ(t)qk(t)dt=0, k=1,,n

节点多项式为 vn(x)=k=1n(xxk) ,则

qk(t)=(txk)(i=1ikntxixkxi)2=vn(t)lk(t)i=1ikn1xkxi

代入得

abρ(t)vn(t)lk(t)dt=0, k=1,,n

则节点多项式满足 vn,lk=0, k=1,,n ,即节点多项式与任意初等 Lagrange 多项式正交.

 

V. 在对称模板上构造 4 阶精确的公式.

设有 FD 公式

D4u(x¯)=au(x¯2h)+bu(x¯h)+cu(x¯)+du(x¯+h)+eu(x¯+2h)

x=x¯ 处 Taylor 展开得

D4u(x¯)=(a+b+c+d+e)u(x¯)+(2ab+d+2e)hu(x¯)+12(4a+b+d+4e)h2u(x¯)+16(8ab+d+8e)h3u(x¯)+124(16a+b+d+16e)h4u(4)(x¯)+O(h5)

从而有线性方程组

{a+b+c+d+e=02ab+d+2e=04a+b+d+4e=2h28ab+d+8e=016a+b+d+16e=0

解得

a=112h2, b=43h2, c=52h2, d=43h2, e=112h2

从而有

D4u(x¯)=u(x¯2h)+16u(x¯h)30u(x¯)+16u(x¯+h)u(x¯+2h)12h2

注意到 5 阶余项为 0 ,而 6 阶余项为

h66!(64a+b+d+64e)f(6)(ξ)=h490f(6)(ξ), ξ[x¯2h,x¯+2h]

因此它是 4 阶精确的,并且

|u(x¯)D4u(x¯)|h490|f(6)(ξ)|+16E3h2

由均值不等式有

h490|f(6)(ξ)|+8E3h2+8E3h24E2|f(6)(ξ)|303

其中等式成立当且仅当

h=240E|f(6)(ξ)|6

此时误差界最小.

通过观察可以发现,对于 u 的逼近公式具有类似的形式

D2u(x¯)=u(x¯h)2u(x¯)+u(x¯+h)h2D4u(x¯)=u(x¯2h)+16u(x¯h)30u(x¯)+16u(x¯+h)u(x¯+2h)12h2

进行简单的作差,我们有

D2u(x¯)=2u(x¯h)2u(x¯)+u(x¯+h)2!h2D4u(x¯)D2u(x¯)=2u(x¯2h)+4u(x¯h)6u(x¯)+4u(x¯+h)u(x¯+2h)4!h2

其中 2 阶精确公式系数 1 2 14 阶精确公式增加系数 1 4 6 4 1 ,我们可以合理猜测 6 阶精确公式

D6u(x¯)D4u(x¯)=2u(x¯3h)6u(x¯2h)+15u(x¯h)20u(x¯)+15u(x¯+h)6u(x¯+2h)+u(x¯+3h)6!h2

这只是一个猜测,暂时不进行验证.

posted @   Bluemultipl  阅读(334)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示
主题色彩