當我們有了 A 的零空間的政交基底後,現在設法推導出 A 的值域的基底,
定義一個行滿秩矩陣 T1 = [T⊤, 2T⊤, 3T⊤]⊤ 並且對 Q0 投影, 則有下列式子:
(I− Q0Q∗0)T1 =
T 2T 3T
− Q0(Λ∗q)−12(Λ∗x+ 2Λ∗y + 3Λ∗z)
=
T ((Λy − 2Λx)Λ∗y+ (Λz− 3Λx)Λ∗z) T ((2Λx− Λy)Λ∗x+ (2Λz− 3Λy)Λ∗z) T ((3Λx− Λz)Λ∗x+ (3Λy − 2Λz)Λ∗y)
Λ−1q (19)
則
[(I − Q0Q∗0)T1]∗[(I− Q0Q∗0)T1]
=T1∗(I− Q0Q∗0)T1
=[(2Λz − 3Λy)∗+ (3Λx− Λz)∗ (3Λx− Λz)∗ + (Λy − 2Λx)∗ (Λy − 2Λx)]Λ−1q
=Λ∗pΛpΛ−1q (20)
藉由定理 3.4 則 (23) 是滿秩的。定義
Q1 =
T ((Λy − 2Λx)Λ∗y− (3Λx− Λz)Λ∗z) T ((2Λz− 3Λy)Λ∗z− (Λy − 2Λx)Λ∗x) T ((3Λx− 1Λz)Λ∗x− (2Λz− 3Λx)Λ∗y)
(Λ∗pΛpΛq)−12. (21)
則 Q1 是一個正交基底且 G∗Q1 = 0 而又因 A = I3⊗ (G∗G)− GG∗ 且
(G∗G)T =(C1∗C1 + C2∗C2+ C3∗C3)T
=C1∗T Λx+ C2∗T Λy+ C3∗T Λz
=T (Λ∗xΛx+ Λ∗yΛy+ Λ∗zΛz)
=T Λq (22)
所以
至此得到了 A 的特徵值分解
4.1 Multi-level 的引入
在有原始的馬克斯威爾方程的情況下,我們可以先以非常低廉的代價解出 較粗分割 (rough grid) 的廣義特徵值問題,進而達到初步估計特徵值分佈的目 的。以本文中的 4 個情形而言,較低的每邊分割可以取到目標分割數的 1/4 甚 至 1/8 亦能得到與相當不錯的分布情形。所以估計的代價比起直接對目標分割 數做,矩陣縮小了 43 甚至 83 倍。而且由於矩陣相對較小,使用瑞雷 -瑞茲投影 後張出的網所覆蓋的區塊相對變大,因而得到的殘差亦會較小。由於選定 CIRR 的區間僅需要得到特徵值的分佈即可,所以不同於 Multi-level 大多數的研究重 點都放在如何縮放特徵向量,進行高分割與低分割之間的切換,整體程序將會 變成簡易且有效率的。雖然於 E. Polizzi[1] 中提到的迭代性質來說,提取特徵向 量是有其用處的,但由於並非在同一個分割上所進行的迭代,而必須經過一個 非常巨量的縮放,故除非其擁有好到不可思議的性質,否則無論是何種插值法 都是沒有顯著效果的,故可以不用在這方面多做探討。
Algorithm 4 Two-level grid
1. 先以 CIRR 對低分割數的離散矩陣求解,得到 ˜λj, 1≤ j ≤ m.
2. 計算 γi, ρi, 1≤ i ≤ j − 1,其中 γi = ˜λj+˜2λj+1,ρi = λ˜j−˜λ2j+1
3. 使用 CIRR 以 γi, ρi 為中心和半徑來解出目標分割數的廣義特徵值問題。
淺顯易懂的三個步驟,如果粗分割數的每個特徵值都逼近目標分割的特徵值 且一一對應的話,那在於目標分割時所選出的新的範圍,所有的特徵值都會在 於積分路徑的邊界上,且每個獨立的積分中都僅會有至多 2 個特徵值。在這種 情況下的 CIRR 幾乎可以將其殘差 (residual) 精確度,直接提升至與解線性系統 時的公差 (tolerance) 相同,甚至更低。該注意的是,為了避免重根和特徵簇的 問題,需要與 MLCIRR 作相同的處理,在此不再列入。
除了以自身為解低分割數的廣義特徵值解法外,顯然的,我們可以以其他的 特徵值解法來求解,分別從理想和實際情況來探討兩者的優劣。以理想情況而 言,CIRR 是一個無懈可擊的演算法,如果擁有趨近於無限的核心 (core) 以及近 乎於 0 的資料傳輸時間,但如果真是如此的話,那也無需使用任何的估計方法,
僅需對於連續且足夠小的區塊作 CIRR 即可。以其它的方法,此處以 Lanczos 為例,其不像 CIRR 需要選定一個範圍,亦即是其一定能得到有效的資訊,而 且小的廣義特徵值問題以平行處理來說,由於資料傳遞和互相等待的關係,效
能並不會比較好,除非是選定一個非常適當的範圍,否則 Lanczos 在有限的核 心數下,其無論是速度還是精度通常都會比 CIRR 還要好。其有一個唯一個壞 處,其無法預見解目標分割數時解線性系統的各個平移所要付出的代價 (於下一 個小節中提到),但這個問題其實是可以透過對實數軸進行一次平移值的掃描來 解決。