張衡,倪振松,鄭漢垣
(1.福建技術師范學院a.大數據與人工智能學院;b.無損檢測技術福建省高等學校重點實驗室,福建福清 350300;2.龍巖學院傳播與設計學院,福建龍巖 364012)
偏微分方程的離散系統(tǒng)往往是如下的大型稀疏病態(tài)(高條件數)線性方程組[1-2]
其病態(tài)問題是制約求解效率和精度的瓶頸[3],因此,求解之前,需要使用預條件技術[4]139-151來減少系統(tǒng)的病態(tài).
預條件技術[4]139-151的關鍵是構造適當的預條件子[4]93-98,理想的結果是構造出通用的、最優(yōu)預條件子[5].
目前,病態(tài)問題的解決仍然處在治標不治本的狀態(tài).一是缺少對病因的研究,難以針對病因提出科學的預處理方法,不能從根本上消除病態(tài)[6-8];二是預條件子的設計缺乏科學依據,多用實驗的方法探索和驗證;三是對預處理子的功能多用實驗結果說明,難以進行科學的定量分析[9-15].目前關于針對病因的預處理方法鮮見有成果發(fā)表.
文獻[16][17]針對基于非均勻網格有限差分方法形成的二維泊松方程邊值問題離散系統(tǒng),研究病態(tài)原理和預處理方法.針對該方程研究病態(tài)結構、病態(tài)因子、去病因子;利用病態(tài)因子估計方程的條件數,利用去病因子消除病態(tài)因子的作用,論證了去病因子是最優(yōu)預條件子[5].
本文針對病因,提出病因抑制策略,來解決三維泊松方程邊值問題差分方法大規(guī)模求解中的病態(tài)問題.針對不同精度差分格式形成的三種離散系統(tǒng),基于結構分析的策略[17-20],確定病因.根據病態(tài)結構和病態(tài)因子的條件數評估方程的原發(fā)病態(tài)和繼發(fā)病態(tài);使用去病因子抑制或者消除病態(tài)因子的致病作用,消除原發(fā)病態(tài).最后的結論說明,不同的離散系統(tǒng)有類似的病態(tài)結構、相同病態(tài)因子和去病因子,去病因子依然有最優(yōu)、通用的特性,預處理的過程幾乎不增加求解的成本.
利用文獻[16][17]提出病態(tài)因子、去病因子、病態(tài)結構、病態(tài)主體等概念,提出如下關于離散系統(tǒng)病態(tài)問題預處理的病因抑制策略如下:
1)分析矩陣A的結構,分離出病態(tài)因子Z[16-17],確定矩陣的病態(tài)結構[16-17]如下;
其中Z是α×β病態(tài)因子[16-17],A,Q∈Rα×α,P∈Rβ×β,ZPZTT可逆,Cond(P)關于A的階數一致有界,Cond(ZPZT)是A的階數α的增函數,
3)確定去病因子H[16-17],即設計簡單的可逆矩陣H.滿足ZZTT=HHTT;
4)使用去病因子H作為預條件子,將方程(1)化成
因為Cond(P)關于A的階數一致有界,這說明HHTT是最優(yōu)預條件子[5].
上述病因抑制策略是基于病態(tài)結構、針對病因的,病態(tài)因子就是病因的表達,去病因子的作用是消除或者抑制病因的發(fā)作.因此,預處理的關鍵是確定病態(tài)因子和去病因子,本文將針對三維泊松方程邊值問題不同精度三種有限差分格式的離散系統(tǒng),研究病態(tài)因子和去病因子,并討論去病因子的通用性.
考慮如下三維泊松方程求解問題[4]
其中u=u(x,y,z) ,f=f(x,y,z) ,(x,y,z)∈∈D= [a1,b1]× [a2,b2]× [a3,b3]?R3
根據有限差分方法[5],對D做非均勻網格剖分[5]:a=x0<x1<…<xn+1=b,
2.1.1 非均勻網格7點差分格式
2.1.2 非均勻網格19點差分格式
則根據4階精度的泰勒展開式,有
2.1.3 均勻網格27點差分格式
根據6階精度的泰勒展開式,有
記On為n維零向量,In為n階單位矩陣,
2.2.1 非均勻網格7點差分格式的有限差分方程
向量是已知的,由邊界上的網格點以及邊界條件確定;因此格式(5)的矩陣形式如下
所以,由格式(5)確定的離散系統(tǒng)為
2.2.2 非均勻網格19點差分格式的有限差分方程
向量是已知的,由邊界上的網格點及邊界條件確定;格式(6)的矩陣形式如下
因此,由格式(6)確定的離散系統(tǒng)為
2.2.3 均勻網格27點差分格式的有限差分方程
則向量是已知的,由邊界上的網格點以及邊界條件確定,所以格式(7)的矩陣形式如下
因此,由格式(7)確定的離散系統(tǒng)為
對于問題(4)的上述三種有限差分方程,通過結構分析,確定它們的病態(tài)結構、病態(tài)因子以及去病因子.
證明:直接驗證.證畢.
命題3.
2) 易驗證α=O(n2),記
從而結論成立.證畢
根據命題3結論2),Zt是病態(tài)因子[16-17];根據命題2,矩陣Ht是屬于Zt的去病因子[16-17].
命題4.
證明:1)可直接驗證.
2)根據P19,Q的定義,容易驗證因此結論成立.
3)由文獻[17]命題1的結論2)可說明結論成立.證畢
根據命題4的結論1),2),式(14)、(15)、(16)表達了At的病態(tài)結構[16-17],Zt是At的病態(tài)因子[16-17];根據命題4的結論3):Ht是At的最優(yōu)預條件子[5].
式(14)、(15)、(16)說明差分離散系統(tǒng) (9)、(11)、(13) 的病態(tài)結構都如(2)式,其中At的主要、本質的病態(tài)是由病態(tài)因子Zt表達的原發(fā)病態(tài),來自微分算子,隨著離散精度提高,At的規(guī)模增加;At的其他病態(tài)是由Pt表達的繼發(fā)病態(tài),受網格大小影響,可以隨著應用問題的不同而不同,幾乎不受At的規(guī)模影響,是非本質的,在應用中可以調整;Q對的At病態(tài)影響很小.
命題5:
證明:
根據命題5結論2),Hs是的最優(yōu)預條件子.這說明:基于不同精度、不同步長差分格式的離散系統(tǒng)雖然不相同,仍然有通用的最優(yōu)預條件子.
使用病因抑制方法對差分方程(9)、(11)、(13)進行預處理,是使用它們的去病因子Hs作為預條件子,將方程(9)、(11)、(13)化為方程(3)的形式,Hs的結構都是確定、簡單的,都是由離散正弦變換矩陣的直積Ω與對角矩陣構成預處理中的主要計算是Hs與向量的乘積,每次需要的計算操作數都是有限次離散快速正弦變換的計算量O(mnmnll o g2(nml)),因此預條件子的構造和預處理計算都是低成本的.
預處理后,系統(tǒng)(9)、(11)、(13)的系數矩陣仍然都以正定對稱矩陣為主體,所以適合與任何求解方法相結合,完成求解.
1)三維泊松方程邊值問題的有限差分離散系統(tǒng)中,病態(tài)因子表達的原發(fā)性病態(tài)是微分算子造成,是主要的、本質的,抑制了病態(tài)因子的作用,就消除了原發(fā)性病態(tài).
2)對于同一個微分算子,使用相同的網格,不同精度差分格式產生的有限差分方程組雖然不同,但是它們有類似的病態(tài)因子,對應的去病因子也類似,因此它們消除原發(fā)性病態(tài)的預處理方法與成本一致,基本不受差分格式的精度影響.
3)繼發(fā)性病態(tài)由P7,P19,P27表達,它們的條件數由網格比的大小和邊值條件決定,幾乎不受方程階數的影響,當使用一致網格時,都是常數,Q=0,因此,可以通過調整網格的大小比減少或者消除繼發(fā)性病態(tài).
4)從病態(tài)因子和去病因子的構成可以看出,病態(tài)因子和去病因子都是相對獨立的,它的元素與邊值條件、網格大小都沒有關系,不同的差分方程,可以有類似的病態(tài)因子,因此去病因子可以通用.