嵇雯蕙
(昆明理工大學(xué)理學(xué)院,昆明,650000)
隨著自然科學(xué)和生產(chǎn)技術(shù)的不斷發(fā)展, 微分方程逐漸成為現(xiàn)代科學(xué)技術(shù)中分析問題和解決問題的一個(gè)強(qiáng)有力的工具. 近幾十年來, 分?jǐn)?shù)階微分方程在水文、生物、物理、化學(xué)、金融等學(xué)科有著廣泛的應(yīng)用[1-5]. 分?jǐn)?shù)階微分方程之所以能夠在諸多領(lǐng)域得到廣泛的應(yīng)用, 主要是因?yàn)榉謹(jǐn)?shù)階微分算子具有非局部特征, 從而能更精確地反映一些物理現(xiàn)象.
在空間擴(kuò)散模型中, 用分?jǐn)?shù)階導(dǎo)數(shù)代替空間擴(kuò)散二階導(dǎo)數(shù), 將導(dǎo)致更強(qiáng)的擴(kuò)散. 最近, Mao and Shen[6]考慮了一類基于階數(shù)α∈(1/2,1)左右導(dǎo)數(shù)的分?jǐn)?shù)階微分算子的偏微分方程, Xu, Sun, and Sheng[7]從變分的角度考慮了平衡中心分?jǐn)?shù)階導(dǎo)數(shù), 它們保持了所需的變分性質(zhì)以及L2框架上的對(duì)稱雙線性形式. 由于分?jǐn)?shù)階偏微分方程的解析解往往很難用簡單的函數(shù)表示, 因此研究分?jǐn)?shù)階偏微分方程的數(shù)值方法和理論分析就顯得尤為重要.
本文的主要目的是研究求解空間分?jǐn)?shù)階擴(kuò)散方程的有限差分格式離散系統(tǒng)的快速迭代方法.
我們考慮的空間分?jǐn)?shù)階擴(kuò)散方程(FDEs)如下[9]:
(2.1)
為了對(duì)方程 (2.1) 建立差分格式, 我們先給出如下幾個(gè)引理.
引理1[12]假設(shè)u(x)∈C2[xL,xR], 令
則
利用同樣的數(shù)值微分方法, 可以得到右Caputo分?jǐn)?shù)導(dǎo)數(shù)的以下推論.
推論1假設(shè)u(x)∈C2[xL,xR], 令
則
由
以及引理1和推論1, 我們可以得到Riemann-Liouville分?jǐn)?shù)導(dǎo)數(shù)的差分逼近.
類似文獻(xiàn)[14]的離散方法, 我們把方程 (2.1) 離散如下.
將區(qū)間[xL,xR]均勻分為n+1個(gè)等分, 空間步長Δx=(xR-xL)/(n+1), 則xi=xL+iΔx, 其中i=0,1,…,n+1. 同理, 將[0,T]均勻分為m個(gè)等分, 時(shí)間步長Δt=T/m, 則tj=jΔt, 其中j=0,1,…,m.
令
通過引理1和2以及推論1, (2.1) 中FDEs對(duì)應(yīng)的隱式有限差分格式如下:
為了將數(shù)值格式改寫為矩陣形式, 令
其中
于是, 我們得到有限差分格式的矩陣表達(dá)式
A(j)u(j)=ηu(j-1)+Δx2α(f(j)-σ(j)),j=1,2,…,m,
(3.1)
其中系數(shù)矩陣A(j)為
(3.2)
其中
(3.3)
關(guān)于 (2.1) 離散的詳細(xì)情況, 見文獻(xiàn)[14].
我們將式 (3.3) 代入 (3.2) 化簡后, 系數(shù)矩陣A(j)變?yōu)?/p>
(3.4)
本節(jié)主要任務(wù)是求解線性方程組 (3.1). 由于系數(shù)矩陣A(j)是非對(duì)稱的, 我們考慮應(yīng)用Krylov子空間方法的GMRES法來求解.
下面先簡單地介紹一下GMRES方法[15].
設(shè)要求解的線性方程組為
Ax=b.
任取一n維實(shí)向量x(0), 令x=x(0)+z, 則上述方程組等價(jià)于
Az=r(0),
(4.1)
其中r(0)=b-Ax(0). 故下面直接討論(4.1)的求解問題.
從r(0)開始, 構(gòu)造一組相互正交且范數(shù)為1的向量v(1),v(2),…,v(m).
類似地, 計(jì)算v(3)的過程如下:
(1)計(jì)算u=Av(2),h12=(u,v(1)),h22=(u,v(2));
繼續(xù)這一過程, 經(jīng)過m步, 即可得到矩陣Vm=[v(1),v(2),…,v(m)].
從上述過程可以發(fā)現(xiàn):
Av(1)=h11v(1)+h21v(2),
Av(2)=h12v(1)+h22v(2)+h32v(3),
…
Av(m)=h1mv(1)+h2mv(2)+h3mv(3)+…+hm+1,mv(m+1).
寫成矩陣形式, 即
其中
假設(shè)存在一個(gè)y∈Rn滿足z=Vmy, 則有
分解得到.
具體算法如下[15]:
GMRES算法1. 計(jì)算r0=b-Ax0, β∶=‖r0‖2, v1∶=r0/β2. For j=1,2,…,m, Dowj∶=AvjFor i=1,…,j, Dohij∶=(wj,vi)wj∶=wj-hijviEnd Dohj+1,j=‖wj‖2. If hj+1,j=0 set m∶=j and go to 3vj+1=wj/hj+1,jEnd Do3. 定義(m+1)×m的Hessenberg矩陣H-m=hij 1≤i≤m+1,1≤j≤m4. 計(jì)算ym, 極小化‖βe1-H-my‖2, 且xm=x0+Vmym.
為了提高收斂速度, 我們建立預(yù)處理的GMRES方法. 針對(duì)系數(shù)矩陣的結(jié)構(gòu),我們分別構(gòu)造帶狀矩陣、改進(jìn)的帶狀矩陣、Strang循環(huán)矩陣以及T. Chan循環(huán)矩陣作為預(yù)處理矩陣M來逼近矩陣A(j), 使得M-1A(j)的特征值聚集在1附近, 從而達(dá)到收斂速度提高的效果. 四種不同的預(yù)處理矩陣的構(gòu)造如下:
(1)帶狀矩陣
此時(shí),預(yù)處理矩陣M為
(4.2)
易證此矩陣為三對(duì)角陣. 而我們知道三對(duì)角陣的線性方程組容易求解, 可以利用“追趕法”求出來, 所以M的構(gòu)造合理.
為了更直觀地說明預(yù)處理后矩陣譜的聚集情況, 基于不同的α, 我們分別給出預(yù)處理前后系數(shù)矩陣特征值分布的對(duì)比圖如下(其中n=1024).
由圖1和圖2可見, 對(duì)于不同的α, 預(yù)處理后矩陣譜的普遍聚集在1附近, 只有個(gè)別點(diǎn)距1較遠(yuǎn).
圖2 α=0.9
(2)改進(jìn)的帶狀矩陣
由公式(3.4), 我們注意到系數(shù)矩陣是由對(duì)稱正定矩陣和低秩矩陣L構(gòu)成的. 為了構(gòu)造一個(gè)更逼近系數(shù)矩陣的M, 對(duì)公式(4.2)作如下改進(jìn):
因?yàn)橐粋€(gè)可逆矩陣加上一個(gè)低秩矩陣的逆也是容易求的, 若記
令
L=XGY,
其中X是n×r,Y是r×n,G是r×r的非奇異矩陣,r是L的秩,則
M-1=C-1-C-1X(G-1+YC-1X)-1YC-1.
故這里的M構(gòu)造合理.
當(dāng)預(yù)條件子為改進(jìn)的帶狀矩陣時(shí), 預(yù)處理前后的特征值分布圖如下.
由圖3和圖4可見, 采用改進(jìn)后的帶狀矩陣, 個(gè)別遠(yuǎn)點(diǎn)消失, 所有的特征值都聚集在1附近.
圖3 α=0.6
圖4 α=0.9
(3)Strang循環(huán)預(yù)處理矩陣
(4.3)
對(duì)于實(shí)Toeplitz矩陣B=[bj-k]0≤j,k s(B)=[sj-k]0≤j,k 其中,sj是Strang預(yù)條件子對(duì)角線上的元素, 且有: 相對(duì)于文獻(xiàn)[14]中的預(yù)處理矩陣, 此處的預(yù)處理矩陣更逼近A(j). 當(dāng)預(yù)條件子為Strang預(yù)處理矩陣 (4.3) 時(shí), 預(yù)處理前后系數(shù)矩陣的特征值分布圖如下. 通過圖5和圖6, 我們可以清晰地看到基于該預(yù)條件子預(yù)處理后系數(shù)矩陣的特征值更集中且在1附近. 圖5 α=0.6 圖6 α=0.9 (4)T. Chan預(yù)處理矩陣 T. Chan預(yù)條件子c(B)=[ck-j]0≤k,j 當(dāng)預(yù)條件子為T. Chan預(yù)處理矩陣時(shí), 預(yù)處理前后系數(shù)矩陣的特征值分布圖如下. 由圖7和圖8可見, 預(yù)處理后系數(shù)矩陣的特征值顯然在1周圍集中, 故該預(yù)條件子選取合理. 圖7 α=0.6 圖8 α=0.9 為了驗(yàn)證算法的有效性, 我們考慮如下的方程[14] 其中擴(kuò)散系數(shù)為d+(x,t)=(1-x)α,d-(x,t)=xα,源項(xiàng)為 其中 方程的精確解為u(x,t)=e-tx2(1-x)2. 表1 四種不同的預(yù)條件子的比較 結(jié)果表明, 在不進(jìn)行預(yù)處理的情況下, GMRES方法收斂需要多次迭代且隨著n變大迭代次數(shù)增多, 而預(yù)處理的結(jié)果迭代次數(shù)更少更穩(wěn)定且條件數(shù)大大減少. 以上的預(yù)條件子中, Strang和T. Chan循環(huán)預(yù)處理?xiàng)l件子處理效果最好. 本文采用預(yù)處理的GMRES方法, 對(duì)一類FDEs(2.1)產(chǎn)生的離散線性系統(tǒng)進(jìn)行求解. 數(shù)值試驗(yàn)證明了所提出的預(yù)處理方法的有效性. 但是, 如果在由FDEs(2.1)產(chǎn)生的離散化方案中考慮其變分性質(zhì)或有限體積法, 那么得到的線性系統(tǒng)有可能是對(duì)稱正定的. 然后, 可以采用共軛梯度法來有效地解決這些問題. 因此, 在今后的研究中, 我們應(yīng)進(jìn)一步研究這類FDEs的數(shù)值格式以及相關(guān)的預(yù)條件.5 數(shù)值實(shí)驗(yàn)
6 總結(jié)