Laplace 方程:Δu(x)=0,Δ:=n∑i=1∂2∂x2i。
Δ=∇⋅∇(拉普拉斯算子:梯度的散度)
Poisson 方程:−Δu(x)=f(x)。
一维区间 Ω=(a,b) 的边值类型:
- Dirichlet 条件:u(a)=α,u(b)=β;
- 混合条件:u(a)=α,∂u∂x∣∣∣b=β;
- Neumann 条件:∂u∂x∣∣∣a=α,∂u∂x∣∣∣b=β。
【定理 7.7】
假设 f 和 g 是充分光滑的函数,则方程:
Δϕ=fin Ωn⋅∇ϕ=gon ∂Ω
在满足额外条件(“高斯定理”):
∫ΩfdV=∫∂ΩgdA.
时,有唯一解(在相差一个常数的意义下)。
【例 7.8】
考虑把向量场分解成无旋、无散两个部分:
{v∗=v+∇ϕ∇⋅v=0,∇×∇ϕ=0.
因为无散场 v 满足条件 ∮∂Ωv⋅n=0 ,所以可以通过求解如下 Poisson 方程 + Neumann 边值条件来求解:
Δϕ=∇⋅v∗in Ωn⋅∇ϕ=n⋅(v∗−v)=n⋅v∗on ∂Ω,
下面考察这个问题解的存在唯一性(根据【定理 7.7】):
∫Ω∇⋅v∗dV=∫Ω∇⋅(v∗−v)dVGauss Law=∫∂Ωn⋅(v∗−v)dA.
7.1 有限差分格式
「线性边值问题」有限差分法的步骤如下:
- 把问题区域离散化成网格;
- 用不同格点的函数值来近似偏导值,根据问题的约束列出线形方程组 AU=F。
- 求解线性方程组,根据格点函数值来近似原函数。
【例 7.10】一维 Poisson 方程 + Dirichlet 边值条件
−u′′(x)=f(x),x∈Ω:=(0,1)u(0)=α,u(1)=β
- 建立网格:xj=jh,h=1m+1,j=0,1,…,m+1.
设 U0=α,Um+1=β,方程的未知数为 U1,⋅,Um (作为 u(xj) 的近似)。
- 二阶导近似:
u′′(xj)=u(xj−1)−2u(xj)+u(xj+1)h2+O(h2)
- 根据 −Uj−1−2Uj+Uj+1h2=f(xj),j=1,⋯,m,得到方程 AU=F。
7.2 误差和一致性
有限差分法的误差(global error) 是 E=U−^U。其中 U 为求解方程得到的解向量,^U 是格点处的原函数值。
网格函数(grid function):g:X→R,其中 X 是离散网格。
q-范数
一维网格 X:=x1,⋯,xN。g 定义在 X 上。
∥g∥q=(hN∑i=1|gi|q)1q
- 1−范数:∥g∥1=h∑Ni=1|gi|;
- ∞−范数:∥g∥∞=max1≤i≤N|gi|。
局部截断误差(LTE):导数值用有限差分替代所导致的误差(是一个理论值)。
比如:D2u(xj):=u(xj−1−2u(xj)+u(xj+1))h2 的 LTE 为 τj=−D2u(xj)−(−u′′(xj))=−h212u′′′′(xj)+O(h4)=O(h2).
【引理 7.17】
对于 (0,1) 上一维线性边值问题 Lu=f(x),若使用有限差分方法得到 AU=F,则该方法的 LTE 为 τ=A^U−F。其中 F=(f(x1),⋯,f(xm))。
【证明】以 【例 7.10】为例:
(A^U−F)j=−u(xj−1)−2u(xj)+u(xj+1)h2+Δu(xj).
【引理 7.18】LTE 和 全局误差的关系为 AE=−τ。
【证明】AE=A(U−^U)=F−(F+τ)=−τ。
一致性:称有限差分法关于边值问题一致若:
limh→0∥τh∥=0,
其中 τh 是 LTE(这里 h 是上标)。
7.3 稳定性和收敛性
收敛性:有限差分法收敛若 limh→0∥Eh∥=0,其中 Eh 是全局误差,∥⋅∥ 是一种 q− 范数。
稳定性: 有限差分法稳定,若
- ∃h0∈R+,满足 ∀h∈(0,h0),det(A)≠0;
- limh→0∥A−1∥=O(1)。
【定理 7.22】
一致且稳定的有限差分法是收敛的。
【证明】
lim∥Eh∥≤lim∥(Ah)−1∥lim∥τh∥≤Clim∥τh∥=0,
这里向量范数与之前定义的 q−范数之间的关系是: ∥E∥q=h1q∥E∥。
7.3.1 2-范数下收敛
矩阵范数的定义为 ∥A∥=sup{∥Ax∥∥x∥:x∈Rn,x≠0}=sup{∥Ax∥:∥x∥=1}.
常见的矩阵范数如下:
⎧⎪
⎪
⎪
⎪
⎪
⎪
⎪⎨⎪
⎪
⎪
⎪
⎪
⎪
⎪⎩∥A∥∞=max1≤i≤nn∑j=1|aij|,(最大行)∥A∥1=max1≤j≤nn∑i=1|aij|,(最大列)∥A∥2=√ρ(ATA),ρ(B):=maxi|λi(B)|,(最大特征值)
【引理 7.25】
【例 7.10】 中
A=1h2⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣2−1−12−1−12−1⋱⋱⋱−12−1−12⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦.
λk(A)=4h2sin2kπ2(m+1)wk,j=sinjkπm+1j,k=1,2,⋯,m
【证明】直接代入计算
【定理 7.27】
【例 7.10】中的有限差分法 2 阶收敛。
【证明】
根据 A 的对称性
∥A∥2=√ρ(A2)=ρ(A)≤4h2
由 【引理 7.25】A 非奇异。
并且
limh→0∥A−1∥2=limh→01min|λk(A)|=limh→0h24sin2πh2=1π2
所以 FD 方法稳定。
因为 LTE 满足
limh→0|τj|=∣∣∣−h212u′′′′(xj)+O(h4)∣∣∣=0⇒limh→0∥τh∥=0
所以 FD 方法一致。
根据 【定理 7.22】,FD 方法 2 阶收敛。
7.3.2 Green 函数
【定义7.28】对任意给定的 ¯¯¯x∈[0,1],Green 函数 G(x;¯¯¯x) 为 BVP {u′′(x)=δ(x−¯¯¯x)u(0)=u(1)=0 的解。
【引理7.29】根据边值条件和脉冲函数的积分值可以得到,Green 函数的表达式为
G(x;¯¯¯x)={(¯¯¯x−1)x,x∈[0,¯¯¯x]¯¯¯x(x−1),x∈[¯¯¯x,1]
证明:
∀ϵ,∫x0+ϵx0−ϵG′′(x)dx=∫x0+ϵx0−ϵδ(x−¯¯¯x)dx={0,¯¯¯x∉(x0−ϵ,x0+ϵ)1,¯¯¯x∈(x0−ϵ,x0+ϵ)
取极限 ϵ→0, 由微积分基本定理得
limϵ→0G′(x0+ϵ)−limϵ→0G′(x0−ϵ)={0,x0∈(0,¯¯¯x)∪(¯¯¯x,1)1,x0=¯¯¯x
设 G(x,¯¯¯x)={ax+b,x∈[0,¯¯¯x]cx+d,x∈[¯¯¯x,1],根据 c=a+1,b=0,c+d=0,a¯¯¯x+b=c¯¯¯x+d 得 a=¯¯¯x−1,b=0,c=¯¯¯x,d=¯¯¯x。
【推论7.30】方程 {u′′(x)=cδ(x−¯¯¯x)u(0)=u(1)=0 的解为 cG(x;¯¯¯x)。
7.3.3 ∞范数下收敛
【引理 7.31】
对于矩阵 A:
A=1h2⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣2−1−12−1−12−1⋱⋱⋱−12−1−12⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦.
其逆矩阵 B=A−1 为:
bij=−hG(xi;xj)={−h(xj−1)xi,i≤j,−hxj(xi−1),i≥j.
即:
B=−h⎡⎢
⎢
⎢
⎢
⎢⎣x1(x1−1)x1(x2−1)⋯x1(xm−1)x1(x2−1)x2(x2−1)⋯x2(xm−1)⋮⋮⋱⋮x1(xm−1)x2(xm−1)⋯xm(xm−1)⎤⎥
⎥
⎥
⎥
⎥⎦
其中 xj=jm+1。
【证明】
A 的第 i 行(乘 h2)和 B 的第 j 列(乘 −1/h)如下:
[0,⋯,0,−1,2,−1,0,⋯,0]⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣x1(xj−1)⋮xj−1(xj−1)xj(xj−1)xj(xj+1−1)⋮xj(xm−1)⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦=⎧⎪⎨⎪⎩2xj(xj−1)−xj−1(xj−1)−xj(xj+1−1)=−hi=j(xj−1)(2xi−xi−1−xi+1)=0i<jxj[2(xi−1)−(xi−1−1)−(xi+1−1)]i>j
【定理 7.32】
接 【引理 7.31】,B=A−1 满足
∥B∥∞=max1≤i≤mm∑j=1|bij|≤1.
【证明】
m∑j=1|bij|=i∑j=1hxj|xi−1|+m∑j=i+1hxi|xj−1|≤i∑j=1h(mm+1)2+m∑j=i+1h(mm+1)2[xj≤mm+1,|xi−1|≤1]=mh(mm+1)2=(mm+1)3≤1.
7.4 A solution via Green’s function
【引理7.33】设 L 是可逆的线性算子,满足 Lu(x)=f(x),则有 u(x)=∫G(x;¯¯¯x)f(¯¯¯x)d¯¯¯x,其中 G 满足 LG(x;¯¯¯x)=δ(x−¯¯¯x)。
证明:因为 LG(x;¯¯¯x)=δ(x−¯¯¯x),所以 ∫LG(x;¯¯¯x)f(¯¯¯x)d¯¯¯x=∫δ(x−¯¯¯x)f(¯¯¯x)d¯¯¯x=f(x)。
根据线性性,L∫G(x;¯¯¯x)f(¯¯¯x)d¯¯¯x=f(x),由可逆性得到结论。
【定理7.34】Drichlet BVP {u′′(x)=f(x)u(0)=α,u(1)=β 的解为 u(x)=αG0(x)+βG1(x)+^u(x)。其中,
{G′′0(x)=0,G0(0)=1,G0(1)=0⇒G0(x)=1−x,
{G′′1(x)=0,G1(0)=0,G1(1)=1⇒G0(x)=x,
{^U′′(x)=f(x),^U(0)=0,^U(1)=0⇒^U(x)=∫10f(¯¯¯x)G(x;¯¯¯x)d¯¯¯x.
【引理7.35】对于 {u′′(x)=f(x)u(0)=α,u(1)=β 这样的边值问题,一个右端项 f 的 O(ϵ) 扰动带来 O(ϵh) 的误差,对于 Dirichlet 条件的 O(ϵ) 的扰动,带来 O(ϵ) 的误差。
证明:
离散化后得到 AgUg=Fg,其中,
Ag=1h2⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣h201−211−21⋱⋱⋱1−211−210h2⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦,Ug=⎡⎢⎣U0UUm+1⎤⎥⎦,F=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣f(x1)f(x2)⋮f(xm−1)f(xm)⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦,Fg=⎡⎢⎣αFβ⎤⎥⎦
令 B=A−1,Bg=A−1g=⎡⎢⎣0Tbg,0Bbg,m+10T⎤⎥⎦,则有
Ug=⎡⎢⎣0Tbg,0Bbg,m+10T⎤⎥⎦⎡⎢⎣αFβ⎤⎥⎦=αbg,0+βbg,m+1+⎡⎢⎣0BF0⎤⎥⎦
因为 ∥B∥=O(h),所以可以得到结论1。可以证明 bg,0 和 bg,m+1 是常数级别的,由此得到结论2。
7.5 其他边值条件
【例 7.36】二阶边值问题+混合边值条件
u′′(x)=f(x)in (0,1)u′(0)=σ,u(1)=β
此时 x=0 处的函数值未知。
-
[方法一]
使用 U1−U0h=σ。
x0=0 处的 LTE 仅有一阶精度:
τ0=1h2(hu(x1)−hu(x0))−σ=u′(x0)+12hu′′(x0)+O(h2)−σ=12hu′′(x0)+O(h2)
-
[方法二]:编程使用
延拓一个点 x−1=−h,使用 U1−U−12h=σ,此时为二阶精度。
为了消掉 x−1,增加条件 1h2(U−1−2U0+U1)=f(x0),则得到 1h(−U0+U1)=σ+h2f(x0)。
-
[方法三]
使用 U0,U1,U2 来估计 u′(0),−1h(32U0−2U1+12U2)=σ+O(h2)。
得到新的矩阵:
AF=1h2⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣−32h−2h−12h−12−1−12−1⋱⋱⋱−12−10h2⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦.
【例 7.38】二阶边值问题+Neumann条件
u′′(x)=f(x)in (0,1),u′(0)=σ0,u′(1)=σ1.
为了保证解的存在性,需要满足:
∫10f(x)dx=∫10u′′(x)dx=u′(1)−u′(0)=σ1−σ0.
处理方法类似 【例 7.36】。
根据方法一:
AFUE=FFAF=1h2⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣−hh−12−1−12−1⋱⋱⋱−12−1h−h⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦.FF=⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣σ0+h2f(x0)f(x1)⋮f(xm)−σ1+h2f(xm+1)⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦
【引理 7.39】
【例 7.38】 中矩阵 AF 满足 dimN(AF)=1。(N 即 Kernel)。
【证明】
显然 e=[1,1,⋯,1]T 属于 AF 的零空间。
如果定下了 Um+1 的值,则变为混合边界条件,其解唯一,所以零空间秩为1。
【定理 7.40】(可解性)
【例 7.38】 中方程有解,当且仅当
h2f(x0)+hm∑i=1f(xi)+h2f(xm+1)=σ1−σ0
【证明】
根据代数基本定理
f:U→V,A 是 f 对应的矩阵。
V=ImA⊕KerAT
Rm+2=R(AF)⊕N(ATF)
且 dimN(ATF)=dimN(AF)(因为 A 是方阵)。
可以验证 N(ATF)=span{[1,h,⋯,h,1]T}。
“⇐”:因为 h2f(x0)+h∑mi=1f(xi)+h2f(xm+1)=σ1−σ0,所以 FF 与 N(AF) 正交,所以 FF∈R(AF)。则说明方程有解。
"⇒":FF∈R(AF) 可以推出上式。
7.6 二维边值问题
【例 7.41-7.42】二维 BVP+Dirichlet条件
−∂2∂x2u(x,y)−∂2∂y2u(x,y)=f(x,y)Ω:=(0,1)2u(x,y)|∂Ω=0
建立网格:
xi=ih,yj=jh,i,j=0,1,⋯,m,m+1,h=Δx=Δy=1m+1
对于 f(xi,yj)=(−∂2∂x2−∂2∂y2)u(xi,yj),作如下近似:
fij=−Ui−1,j−2Ui,j+Ui+1,jh2−Ui,j−1−2Ui,j+Ui,j+1h2.
将 m×m 个方程组成方程组 A2DU=F。
LTE 的计算如下:
τi,j=−112h2(∂4u∂x4+∂4u∂y4)∣∣∣(xi,yj)+O(h4).
【引理 7.44】
【例 7.41-7.42】中全局误差 E=U−^U。则 A2DE=−τ。
7.6.1 Kronecker product
【定义7.45】称 A∈Cm×n 和 B∈Cp×q 的 Kronecker 积为 A⊗B∈Cmn×pq:
A⊗B=⎡⎢
⎢
⎢
⎢
⎢⎣a11Ba12B⋯a1nBa21Ba22B⋯a2nB⋮⋮⋱⋮an1Ban2B⋯annB⎤⎥
⎥
⎥
⎥
⎥⎦.
【定义7.47】称 X∈Cm×n 的拉直为 vec(X)∈Cmn,为将 X 的各列从上到下从左到右排列的列向量。
【引理7.48】任意 A∈Cm×m,B∈Cn×n,X∈Cm×n 满足:
vec(AX)=(In⊗A)vec(X),vec(XB)=(BT⊗Im)vec(X).
证明:
vec(AX)=vec([AX1,AX2,⋯,AXn])=[AX1,AX2,⋯,AXn]T=⎡⎢
⎢
⎢
⎢
⎢⎣AA⋱A⎤⎥
⎥
⎥
⎥
⎥⎦[AX1,AX2,⋯,AXn]T=(In⊗A)[AX1,AX2,⋯,AXn]T
令 Y=XB,则 Yj=Xbj⇒ykj=∑ni=1xkibij。
令 C=BT⊗Im,则 Cij=bijIm。
令 D=Cvec(X),则 Dj=∑ni=1CjiXi=∑ni=1bijImXi=∑ni=1bijXi,d(k,j)=∑ni=1bijxki=∑ni=1xkibij。
所以 vex(Y)=D,即 vec(XB)=(BT⊗Im)vec(X)。
7.6.2 Convergence in the 2-norm
【引理7.49】引入中的线性方程组 A2DU=F 等价于 AUm×m+Um×mA=Fm×m。其中 Um×m 的 (i,j) 个元素,是格点 (i,j) 的解,(Fm×m)ij=f(ih,jh)。A=1h2⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣2−1−12−1−12−1⋱⋱⋱−12−1−12⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦。
证明:
(AUm×m)ij=1h2(−Ui−1,j+2Uij−Ui+1,j)(Um×mA)ij=1h2(−Ui,j−1+2Uij−Ui,j+1)⇒(AUm×m+Um×mA)ij=1h2(−Ui−1,j−Ui,j−1+4Ui,j−Ui+1,j−Ui,j+1)⇒AUm×m+Um×mA=F
【引理7.50】1D 问题中的 A 满足:vec(AU+UA)=(Im⊗A+A×Im)vec(U)。
证明: vec(AU)=(Im×A)vec(U),vec(UA)=(AT⊗Im)vec(U)=(A⊗Im)vec(U)。
【定理7.51】A2D=Im⊗A+A⊗Im,U=vec(Um×m),F=vec(Fm×m)。
【定义7.52】称 n 维空间的离散拉普拉斯算子为
例如:对于 n=3,A3D=A⊗Im⊗Im+Im⊗A⊗Im+Im⊗Im⊗A。
【定理7.54】A2D 的特征值为 λij=λi+λj,Wij=vec(wiwTj) ,i,j=1,⋯,m,$$
证明:
AwiwTj+wiwTjA=λiwiwTj+wiwTjAT=λiwiwTj+wi(Awj)T=(λi+λj)wiwTj
所以,
A2Dvec(wiwTj)=(Im⊗A+A⊗Im)vec(wiwTj)=vec(A(wiwTj)+(wiwTj)A)=(λi+λj)vec(wiwTj).
【定理7.55】方程 −uxx−uyy=f(x,y) 的有限差分算法在 2-范数下是 2 阶收敛的。
证明:
因为 A2D 是对称的,所以 ∥A2D∥2=ρ(A2D),根据【定理7.53】,所以
limh→0∥A−12D∥2=limh→01min|λij|=limh→0h28sin2πh2=12π2=O(1).
所以算法是稳定的。根据【定理7.22】算法是二阶收敛的。
7.6.3 Convergence in the max-norm via a discrete maximum principle
【定理7.56】方程 −uxx−uyy=f(x,y) 的有限差分算法在 ∞-范数下是 2 阶收敛的。
证明:
令 XI 为 X 的内点,即删去(i=0,m+1∨j=0,m+1 的网格点后的网格)。
定义线性映射 ^A2D:{X→R}→{XI→R},
^A2DUi,j:=(^A2DU)i,j=1h2(4Ui,j−Ui+1,j−Ui−1,j−Ui,j+1−Ui,j−1)
^A2D 和 A2D 的矩阵是不相同的,(维数不同,作用效果也不同)。
定义 ϕ:R2→R, ϕ(x,y)=(x−12)2+(y−12)2,ϕi,j=ϕ(ih,jh)。
则 ^A2Dϕi,j=−4。
令 E,τ:X→R 分别为总体误差和 LTE,记 τm:=maxi,j|τi,j|,
定义网格函数 ψ:X→R,ψi,j=Ei,j+14τmϕi,j,又因为 ^A2DEi,j=−τi,j,
则 ^A2Dψi,j=−τi,j−τm≤0,这说明 ψi,j 一定比其四联通相邻的4个网格点之一小,因此 ψ 的最大值在边界处取得。ϕi,j 的最大值是 12,Ei,j 在边界上是 0,所以:
∃C>0,Ei,j≤ψi,j≤18τm≤Ch2
定义 χ:X→R,χi,j=−Ei,j+14τmϕi,j,则类似地有 −Ei,j≤χi,j≤18τm≤Ch2。
注解:
定义 XΩ 为 BVP 地离散点集合,即待求值的点的集合,X∂Ω 为 BVP 的边界离散点的集合,即已知值的点的集合(Dirichlet条件),以及 “ghost cell”(方便程序设计而加的 Ω 外的点)。比如 [0,1]2 的四个角。
【引理7.58】(离散最大值原理)
设 BVP 的 FD 离散化为 ∀P∈XΩ,(LhU)P−fP+gP=0,fP 是方程的右端项,gP 是除 Dirichlet 外的边界条件(因为 Dirichlet 已包含在 Lh 中)。Lh,XΩ 满足:
(DMP-1) ∀P∈XΩ,LhUP=cPUP−∑Q∈QPcQUQ,其中 QP⊂XΩ∪X∂Ω,cP>0,cQ>0,称 {P}∪QP 为 Lh 上的 P-stencil (P-模版);
(DMP-2) ∀P∈XΩ,cP≥∑Q∈QPcQ;
(DMP-3) XΩ 是联通的,即 ∀P0,Pm∈XΩ,∃P1,P2,…,Pm−1, s.t.∀r=1,2,…,m,Pr 在 Pr−1-模版中。
(DMP-4) (DMP-1) 中至少有一个方程包含了由 Dirichlet 边界条件给出的 UQ。
则对于任意网格函数 ψ:X→R,满足 {maxP∈XψP≥0∀P∈XΩ,LhψP≤0;
则有 maxP∈XΩψP≤maxQ∈X∂ΩψQ。
证明:
设 MΩ=maxQ∈XΩψQ>M∂Ω=maxQ∈∂ΩψQ,令 P 为 ψ 达到 MΩ 的点,则有
MΩ=ψP≤1cP∑Q∈QPcQψQ≤1cP∑Q∈QPcQMΩ≤MΩ
第二个 '=' 能取到当且仅当 ∀Q,ψQ=ψP,由 (DMP-3) ψ 在任意离散点处都取到相同的值 MΩ,矛盾!
【定理7.60】考虑 BVP 的满足 (DMP-1,2,3,4) 的 FD 格式,则其全局误差 EP:=UP−u(P) 有界:
∀P∈X,|EP|≤Tmax(maxQ∈X∂Ωϕ(Q))
其中 Tmax=maxP∈XΩ|TP|,TP 是 P 处的 LTE,ϕ:X→R 是一个非负函数满足 ∀P∈XΩ,LhϕP≤−1。
证明:
根据【引理7.58】LhEP=−TP。定义 ψP:=EP+TmaxϕP,则 LhψP≤−TP−Tmax≤0。进一步地,因为 ϕP≥0,所以 maxP∈XψP≥0 且 ∀Q∈X∂Ω,EQ=0。
EP≤maxP∈X(EP+TmaxϕP)≤maxQ∈X∂Q(EQ+TmaxϕQ)=TmaxmaxQ∈X∂Ω(ϕQ).
对 ψP=−EP+TmaxϕP 同样处理,得 −EP≤TmaxmaxQ∈∂Ω(ϕQ)。
7.6.4 不规则区域上的收敛性
【例 7.61】不规则区域二维 BVP + Dirichlet 条件
−∂2∂x2u(x,y)−∂2∂y2u(x,y)=f(x,y)
网格点称作是 regular 的,当其可以使用 5 点差分法,否则是 irregular 的点。
比如对于下图中的 P 点,列出的方程为:
LhUP:=(1+θ)UP−UA−θUW12θ(1+θ)h2+(1+α)UP−UB−αUS12α(1+α)h2.LhUP=fP
【练 7.62】在 例 7.61 中,非正则点处的 LTE 是 O(h),而正则点处的 LTE 是 O(h2)。
【定理 7.63】在 定理 7.60 中,令 XΩ=X1∪X2,X1∩X2=∅,若非负函数 ϕ:X→R 满足
∀P∈X1,LhϕP≤−C1<0;∀P∈X2,LhϕP≤−C2<0,
并且 LTE 满足
∀P∈X1,|TP|<T1;∀P∈X2,|TP|<T2.
则总误差 EP:=UP−u(P) 满足
∀P∈X,|EP|≤(maxQ∈X∂Ωϕ(Q))max{T1C1,T2C2}.
【定理7.65】 例 7.61 中的 FD 格式在∞范数下二阶收敛。
证明:
定义 ϕ(x,y)={F1[(x−p)2+(y−q)2](x,y)∈XΩF1[(x−p)2+(y−q)2]+F2(x,y)∈X∂Ω,其中 (p,q) 是 Ω 的几何重心,F1,F2>0 待定,正则点和非正则点均属于 XΩ,不同点在于,对于正则点 Q,LhϕQ=−4F1,对于非正则点 P ,−2θ(1+θ)h2<−1h2⇒LhϕP<−4F1−1h2F2<1h2F2。根据【练 7.62】,有 T1=K1h2,T2=K2h,所以 |EP|≤(F1R2+F2)max{K1h24F1,K2h3F2},R 是 Ω 中点到重心的最长距离,取 F1F2=K14K2h,有 ∀P∈X,|EP|≤14K1R2h2+K2h3。
考虑例 7.61图中的非正则点:
LhϕP=F1[(1+θ)(xP−p)2−θ(xP−h−p)2−(xP+θh−p)2]−F212θ(1+θ)h2+F1[(1+α)(xP−q)2−α(xP−h−q)2−(xP+αh−q)2]−F212α(1+α)h2=−8F1−F2(2θ(1+θ)h2+2α(1+α)h2)<−8F1−2h2F2<−2h2F2
所以 |EP|≤(F1R2+F2)max{K1h24F1,K2h32F2}⇒|EP|≤14K1R2h2+12K2h3.
事实上,只有一个方向的stencil不可达的非正则点的误差更大,不应该用例 7.61图中的非正则点来估计。
Programming 相关
二维 Poisson 方程:−Δu=f in Ω。
问题区域: [xl,xr]×[yl,yr],或者从中去掉一个圆盘:D:(x−cx)2+(y−cy)2=R2。
- u(x,y)=exp(y+sin(x))
- u(x,y)=sinxsiny
- u(x,y)=ln(1+x2+y2)
注意
不过点不能像下面某些取2*3的点阵,得保证一定有横纵坐标都不相同的3个才行。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
2019-01-25 [bzoj 4566][Haoi 2016]找相同字符
2019-01-25 [模板]后缀自动机