以Hermite-Gauss节点为配置点,用带松弛因子的Hermite函数谱配置方法求数值解,逼近无界区域上的Kortewego-de Vries方程Cauchy问题的理论解,给出算法格式和相应的数值结果,表明所提算法格式的有效性和高精度。适当地选择松弛因子,使得数值解更好地匹配理论解的渐进行为,所给算法尤其适合于非线性问题。 The paper deals with the numerical solutions of initial value problem of KdV equation on un-bounded interval that approximates the solution of the Kortewego-de Vries equation, in which Hermite-Gauss nodes are used to collocate nodes of spectral collocation method. Selecting appro-priately the relaxation factor involved in the generalized Hermite functions approximation enables us to fit the asymptotic behaviors of exact solutions at infinity closely. Numerical results demonstrate its efficiency and high accuracy of this approach. Especially, it is much easier to deal with nonlinear equation.
李冰冰,王天军
河南科技大学数学与统计学院,河南 洛阳
收稿日期:2019年3月31日;录用日期:2019年4月15日;发布日期:2019年4月22日
以Hermite-Gauss节点为配置点,用带松弛因子的Hermite函数谱配置方法求数值解,逼近无界区域上的Kortewego-de Vries方程Cauchy问题的理论解,给出算法格式和相应的数值结果,表明所提算法格式的有效性和高精度。适当地选择松弛因子,使得数值解更好地匹配理论解的渐进行为,所给算法尤其适合于非线性问题。
关键词 :Kortewego-de Vries方程,初值问题,Hermite函数谱配置方法,Hermite-Gauss节点
Copyright © 2019 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
记 R = { x | − ∞ < x < ∞ } , t > 0 , u ( x , t ) 是实值函数。为方便,记 ∂ ∂ x 为 ∂ x 。考虑Kortewego-de Vries方程初值问题 [
{ ∂ t u + γ u ∂ x u + ν ∂ x 3 u − μ ∂ x 5 u = 0 , x ∈ R , t > 0 , u ( x , t ) → 0 , | x | → ∞ , t > 0 , u ( x , 0 ) = φ ( x ) x ∈ R , (1)
其中 γ , ν 和 μ 是常数。文献 [
Hermite函数 H ^ n ( y ) 定义为
H ^ n ( y ) = 1 2 n n ! e − y 2 / 2 H n ( y ) , n ≥ 0 , y ∈ R .
其中 H n ( y ) 表示 n 阶Hermiter多项式。令 y j ( 0 ≤ j ≤ N ) 是 H N + 1 ( y ) = 0 的根。以 y j 为节点的Hermite函数谱配置方法的Lagrange插值基函数为 [
ϕ j ( y ) = e − y 2 / 2 e − y j 2 / 2 H N + 1 ( y ) ( y − y j ) H N + 1 ' ( y j ) , j = 0 , 1 , ⋯ , N ,
对任意 u ( y ) ∈ C ( R ) ,其Lagrange插值函数为 p N ( y ) = ∑ j = 0 N u ( y j ) ϕ j ( y ) , y ∈ R 。对 p N ( y ) 求 m 阶导数得,
p N ( m ) ( y ) = ∑ j = 0 N u ( y j ) ϕ j ( m ) ( y ) .
令
D ( m ) = ( ϕ j ( m ) ( y k ) ) 0 ≤ k , j ≤ N , D : = D ( 1 ) ,
则由文献 [
ϕ j ( 1 ) ( y k ) = { H ^ N ( y k ) ( y k − y j ) H ^ N ( y j ) , k ≠ j , 0 , k = j . (2)
D ( m ) = D m (3)
对那些解随 | x | → ∞ 快速(或慢速)衰减的问题,用上述基函数不一定能得到高精度的数值误差结果。为了改进逼近精度,需要引入带伸缩因子的插值逼近,为此,给出下面的Hermite函数:
H n σ ( x ) = H ^ n ( σ x ) .
相应的Lagrange插值基函数为:
ϕ j σ ( x ) = e − ( σ x ) 2 / 2 e − ( σ x j ) 2 / 2 H N + 1 ( σ x ) ( x − x j ) H N + 1 ' ( σ x j ) , j = 0 , 1 , ⋯ , N .
带松弛因子的微分矩阵记为
D σ ( m ) = ( ( ϕ j σ ( y k ) ) ( m ) ) 0 ≤ k , j ≤ N , D σ : = D σ ( 1 ) ,
和(2)式类似有:
( ϕ j σ ( x k ) ) ( 1 ) = { H N σ ( x k ) ( x k − x j ) H N σ ( x j ) , k ≠ j , 0 , k = j .
由 ϕ j σ ( x ) = ϕ j ( y ) | y = σ x 和(3)式知 m 阶微分矩阵:
D σ ( m ) = D σ m = σ m D m
式(1)中令 γ = ν = 1 和 μ = 0 可得三阶Kortewego-de Vries方程 [
{ ∂ t u + u ∂ x u + ∂ x 3 u = 0 , x ∈ R , t > 0 , u ( x , t ) → 0 , | x | → ∞ , t > 0 , u ( x , 0 ) = φ ( x ) x ∈ R , (4)
用 p N σ ( x , t ) = ∑ j = 0 N u ( x j , t ) ϕ j σ ( x ) , x ∈ R ,逼近式(4)的解 u ( x , t ) ,将其代入式(4),得
{ ∂ t p N σ ( x k , t ) + p N σ ( x k , t ) ∂ x p N σ ( x k , t ) + ∂ x 3 p N σ ( x k , t ) = 0 , k = 0 , 1 , ⋯ , N , t > 0 , p N σ ( x k , 0 ) = φ ( x k ) , k = 0 , 1 , ⋯ , N . (5)
式(5)等价于
{ u ′ ( x 0 , t ) = − ∑ j = 0 N u ( x j , t ) ( ϕ j σ ( x 0 ) ) ( 3 ) − u ( x 0 , t ) ∑ j = 0 N u ( x j , t ) ( ϕ j σ ( x 0 ) ) ( 1 ) , ⋯ ⋯ ⋯ u ′ ( x N , t ) = − ∑ j = 0 N u ( x j , t ) ( ϕ j σ ( x N ) ) ( 3 ) − u ( x N , t ) ∑ j = 0 N u ( x j , t ) ( ϕ j σ ( x N ) ) ( 1 ) , u ( x j , 0 ) = φ ( x j ) , j = 0 , 1 , ⋯ N . (6)
令 X ( t ) = ( u ( x 0 , t ) , u ( x 1 , t ) , ⋯ , u ( x N , t ) ) T , X 0 = ( φ ( x 0 ) , φ ( x 1 ) , ⋯ , φ ( x N ) ) T ,式(6)的矩阵形式为
{ d X ( t ) d t = − σ 3 D 3 X ( t ) − σ A ( t ) D X ( t ) t > 0 X ( 0 ) = X 0 . (7)
这里矩阵 A ( t ) = ( a i j ( t ) ) ,为 ( N + 1 ) × ( N + 1 ) 矩阵,其元素为
显然, A ( t ) D X ( t ) 是非线性项。
用格式(7)求解式(4)。在时间方向用步长为 τ 的Crank-Nicolson格式离散式(7),得
{ ( I + 1 2 τ σ 3 D ) X ( t + τ ) = ( I − 1 2 τ σ 3 D 3 ) X ( t ) − 1 2 τ σ ( A ( t + τ ) D X ( t + τ ) + A ( t ) D X ( t ) ) , t = 0 , τ , 2 τ , ⋯ T − τ , X ( 0 ) = X 0 . (8)
由于式(7)式是关于 X ( t ) 的非线性方程(或关于其分量的非线性方程组),实际计算时应用解非线性方程(组)的Newton迭代方法,需要计算迭代矩阵。为方便起见,用如下的迭代方法:在时间方向 t + τ 这一层进行迭代:
{ ( I + 1 2 τ σ 3 D ) X n + 1 ( t + τ ) = ( I − 1 2 τ σ 3 D 3 ) X ( t ) − 1 2 τ σ ( A ( t + τ ) D X n ( t + τ ) + A ( t ) D X ( t ) ) , t = 0 , τ , 2 τ , ⋯ T − τ , X ( 0 ) = X 0 . (9)
设定迭代终止条件:对给定的 ε > 0 ,如果 | X n + 1 ( t + τ ) − X n ( t + τ ) | ≤ ε ,即得 t + τ 的值 X ( t + τ ) 。
三阶Kortewego-de Vries方程有精确孤波解 [
u = 12 κ sech 2 ( κ ( x − 4 κ 2 t − x 0 ) ) , (10)
其中 κ 和 x 0 是给定的参数。
用 L ∞ -范数
E N = max 0 ≤ j ≤ N | u ( x j , t ) − P N σ ( x j , t ) |
度量数值误差。图1给出 t = 1 和不同 τ ,数值解和理论解的误差 E N 的常用对数 log 10 E N 随 log 10 N 的关系。可以看出,数值误差随 N 的增加及 τ 的减小而快速衰减,空间方向达到谱精度;图2给出 t = 1 和 t = 50 误差,可以看出对较大的 t 所提算法格式仍然有效。
图1. κ = 0.3 , σ = 0.3
图2. κ = 0.3 , σ = 0.3 , τ = 0.001
用 p N σ ( x , t ) = ∑ m = 0 N u ( x j , t ) ϕ j σ ( x ) , x ∈ R ,逼近式(1)的解,将其代入式(1),得
{ ∂ t p N σ ( x k , t ) + γ p N σ ( x k , t ) ∂ x p N σ ( x k , t ) + ν ∂ x 3 p N σ ( x k , t ) − μ ∂ x 5 p N σ ( x k , t ) = 0 , k = 0 , 1 , ⋯ , N , t > 0 , p N σ ( x k , 0 ) = φ ( x k ) k = 0 , 1 , ⋯ , N . (11)
和式(7)相似,式(11)的矩阵形式为
{ d X ( t ) d t = ( μ σ 5 D 5 − ν σ 3 D 3 ) X ( t ) − γ σ A ( t ) D X ( t ) , t > 0 X ( 0 ) = X 0 . (12)
用格式(12)求解式(1)。在时间方向用步长为 τ 的Crank-Nicolson格式离散式(12),得
{ ( I − 1 2 τ ( μ σ 5 D 5 − ν σ 3 D 3 ) ) X ( t + τ ) = ( I + 1 2 τ ( μ σ 5 D 5 − ν σ 3 D 3 ) ) X ( t ) − 1 2 τ γ σ ( A ( t + τ ) D X ( t + τ ) + A ( t ) D X ( t ) ) , t = 0 , τ , 2 τ , ⋯ T − τ , X ( 0 ) = X 0 . (13)
由于式(13)式是关于 X ( t ) 的非线性方程(或关于其分量的非线性方程组),用类似式(9)的迭代方法:在时间方向 t + τ 这一层进行迭代:
{ ( I − 1 2 τ ( μ σ 5 D 5 − ν σ 3 D 3 ) ) X n + 1 ( t + τ ) = ( I + 1 2 τ ( μ σ 5 D 5 − ν σ 3 D 3 ) ) X ( t ) − 1 2 τ γ σ ( A ( t + τ ) D X n ( t + τ ) + A ( t ) D X ( t ) ) t = 0 , τ , 2 τ , ⋯ T − τ , X ( 0 ) = X 0 . (14)
设定迭代终止条件:对给定的 ε > 0 ,如果 | X n + 1 ( t + τ ) − X n ( t + τ ) | ≤ ε ,即得 t + τ 的值 X ( t + τ ) 。
式(1)有精确解 [
u ( x , t ) = η 0 + A sech 4 ( κ ( x − c t − x 0 ) ) ,
其中 x 0 和 η 0 是任意常数,
A = 105 ν 2 169 μ γ , κ = ν 52 μ , c = γ η 0 + 36 ν 2 169 μ .
用 u ( x , t ) 作为测试函数,用 E N 度量数值误差。图3给出 t = 1 和不同的 τ 及 log 10 E N 随 log 10 N 的变化关系。可以看出,数值误差随 N 的增加及数值误差 τ 的减小而快速衰减,空间方向达到谱精度;图4给出 t = 1 和不同的伸缩因子 σ 数值误差 log 10 E N 随 log 10 N 的变化关系,可以发现对适当小的 σ 数值误差更小。但如何选取最佳伸缩因子是一个未解决的问题。
图3. σ = 0.365 , μ = γ = 1 , ν = 1.1 , η 0 = 0
图4. τ = 0.001 , μ = γ = 1 , ν = 1.1 , η 0 = 0
以带松弛因子的Hermite函数配置方法求问题(1) (三阶和五阶)的数值解,逼近无界区域上的KdV方程的理论解。由于基函数含有因子 e − ( σ x ) 2 / 2 ,通过适当选取松弛因子 σ 可以使数值解能更好地吻合理论解在无穷远处的渐进行为,所给算法尤其适合于非线性问题。
国家自然科学基金项目(11371123);S201810464034。
李冰冰,王天军. Kortewego-de Vries方程的Hermite函数谱配置方法Generalized Hermite Function Spectral-Collocation Method for KdV Equations[J]. 应用数学进展, 2019, 08(04): 631-637. https://doi.org/10.12677/AAM.2019.84070