• 沒有找到結果。

CIRR 各項參數的意涵與作用

在這個小節中,將逐一的討論所有可以變動的參數,並借由我們數值結果的 觀察,而有了一些推論。在此稍做回顧,CIRR 解一個廣義特徵值問題需要由使 用者決定的參數,其中與解線性系統和特徵對較有關的是:

• N 路徑分割數

• M 虛擬的投影空間倍數

• V 初始的向量值 (又或者是 L 初始的向量寬度) 而另外關於積分路徑的有:

• γ 中心點

• ρ 半徑長

• r 長短軸比

先從與線性系統較有關聯的參數進行分析。回顧初始向量寬度的參數 L 這個參 數在於優化迭代中扮演著重要的角色,而且與瑞雷 -瑞茲程序所開拓的投影空間 息息相關,並且也與計算線性系統的代價有直接的正相關。尚且還需選擇決定 積分逼近準確度的路徑上的等分割數 N ,此參數決定了不僅僅是積分路徑的逼 近程度,同時亦為計算線性系統得成本主要依據之一,因為所需解的線性系統 總數為 N× L,並且於定理 2.4 可以看出其對於收斂與 M 的交互影響。而最後 一個參數 M ,由於 M× L 為所開拓出之投影空間最大的維度,所以此參數決定 了初步預計此空間可能涵有的特徵值數,除此之外,由於其影響的地方出現在 (3) 中的冪次上,所以當該值過大時,由於機器的位元數限制,會對整個計算造 成不良的影響,導致前半段值或者視後半段值無效,而於定理 2.4 中可以看到其

對收斂性的影響亦非常重大,其中與 N 有著交互的影響。因此 N, M, L 三個參 數彼此之間息息相關,根據問題的特性以及選擇區塊的不同,更有著不盡相同 的答案,但希望經過這邊的數據比較,可以對以後使用 CIRR 有一個明確的思 考方向。

2.3.1 M

首先先對 M 著手,發現顯然的,在 M× L 不夠大的情況下,即使將 N 擴大 使其積分值逼近準確,且解了足夠量的線性系統,卻不足以找到所有的特徵值。

• M × L 應大於目標區域內特徵對數 2 倍以上,若存在特徵簇則需要更多。

理論上,M×L 僅需剛好大於該區域特徵對數量即可,但實際上在 FEAST 中,此項的要求是 1.5 倍,而我們實際測試,在不迭代的情況下,需要 2 倍以上,如果該區域內的特徵對眾多,或者相鄰區域有著特徵簇,則需要 更多。

• 以 M 擴展投影空間不會增加解線性系統的代價,但其相較於以 L 擴展投 影空間,相對容易遺漏特徵對。

對於開拓投影子空間來說,增加 M 的效果明顯比增加 L 還要低落。原因 在於,即使假定了足夠多的線性系統解的組合,但卻沒有足夠的向量來組 出不同的向量,意即是說將組出線性相依的系統,進而導致其實組出的向 量數並沒有想要的多。

• 以 M 增大投影空間可以同時增加精度,但過量則會造成反蝕以及特徵對 的遺漏。

根據定理 2.4 得知,M 同時對於精確度有顯著的影響,然而這個值並不能 過量,否則會反而侵蝕到精準度,甚至因為位元數的限制,使得一部份的 向量組合自動倍拋棄故。

• 建議 M ≤ 8 且 N ≥ 2M,若減半線性系統運算則需 N ≥ 4M。

在 T. Sakurai 的論文中 [8, 9] 提到 M 的參數條件最好是 N ≥ 2M,而若 要使用漢米頓矩陣的性質則為 N ≥ 4M。因此若由 2 的冪次方選擇一個量 值,則 8 通常是一個不錯的選擇。

2.3.2 L

當決定了 M 之後,可以接續對與其息息相關的 L 做探討。

• L 的增長同時倍增開拓投影空間,組成的向量數,以及線性系統個數。

• L 為最後才考慮增加的參數

雖然 L 同樣的可以開拓投影子空間,且其不像 M 有著侵蝕精準度的副作 用,並且同時因為有相當於 N 增加時,增加向量數的功用,故其也能一 定程度上的提升精準度。然而一切都如此美好的 L 卻是整個系統中最昂貴 的參數,以開拓投影子空間維目的來說,M 並不會增加所需解的線性系統 數量,可以說是一個幾乎免費的參數,但如果是由 L 來增加的話,則會毫 不留情的使需解的線性系統量倍增。而從增加向量的角度而言,如果花一 樣的代價去增加 N 而不是 L 的話,可以同時得到更精確的積分值,以及 收斂性上更強的退化效果。整體上而言,L 的增加雖然全無壞處,但卻是 最不想增加的數量。

• FEAST 因迭代的緣故,L 必須大於目標區域內的特徵對數 2 倍以上 以 E. Polizzi 所提到的迭代觀點而言,L 則是一個非常重要的角色,其原 因在於當把整個 CIRR 當作一步的迭代式時,那就相當於在使用轉向反 冪法 (Shift inverse power method),而這會出現一個重大的關鍵點,可以 回憶定理 2.1[13],其假設初始向量空間包含著積分路徑內特徵對的特徵 向量,意即是說,當此初始向量純化到不包含其他向量時,將永遠只能收 到這一個特徵對,即使區域內有著其他的特徵對。因此,如果要用整個 CIRR 來迭代,為了避免特徵對的消失,的 L 必須自身就比區域內的特徵 向量還要多。

• 當區間內特徵值過多,應切割區間而非增加 L

當我們面臨 L 過大時只有兩個選擇,其一是讓選擇區域成為非常小的區域 借此來消除 N 分割數過少的問題,但這同時也削弱了退化的速度,並且 能同時解出的特徵向量就會非常少,雖然 CIRR 本身就是一個對特定區塊 求解更精準的特徵對的解法。其二是保持分割數的數量,但這顯然會使得 所需計算的線性系統量變得非常龐大。因此,絕大多數的情況下,除非在 此區間的特徵對多到需要用 L 來增加投影子空間,但如果事實如此的話,

我們會建議將整個積分路徑縮小,因為密集的特徵簇除了會造成精準度的 下降外,甚至會使得 CIRR 完全無法運作。

• 除非確定搜尋範圍內特徵對數非常稀少,否則不建議低於 4。

然而也不建議這個值低於 4 原因如同上面所述,若所找得向量本身不包涵 這區域內特徵對的特徵向量的話,則無論如何都將找不到特徵向量,因此 為了避免這幾發生的機率,還是妥當的讓此值不低於 4 是較好的,但若是 對於小區域的單點針對性收斂的情況來說,以 L = 1 並將其他運算成本全 部移到 N 上會是ㄧ個不錯的選擇。

2.3.3 N

• N 所需的大小與積分路徑大小有關。

N 本身雖然說與選定積分路徑無關,但其本身卻又受到選定路徑的影響。

如果以有限的分割逼近無限的積分,切割越密是越好的,但是如果本身積 分路徑周長就非常的小,那即使分割數並不多,但所切割的間距依然是相 對小的,進而逼近積分值。是故 N 的選定,會與所選取的積分路徑有關聯 性,範圍越大的積分路徑,所需的 N 也就相對越大,這也是為什麼 CIRR 只能是針對小型區域求更精確的特徵對的算法的最主要原因。

• 在 M × L 足夠大的情況下,還有餘裕的計算成本應耗費在 N 而非 L。

回到與演算法較相關的層面,N 本身的作用,除了讓積分值更準確外,其 也影響到了定理 2.4 中的退化速度,並使得有更多的向量得以作線性組 合。因此若不考慮計算線性系統的代價問題,N 跟 L 相同,是個越大越好 的參數,並且其擁有的效果比 L 還要卓越。然而,即使所有的線性系統都 可以平行計算,但我們並不會擁有無限的核心,因此應用時,應該視的硬 體設備選取 N × L 的適當值,並依照要解決的問題決定 L 的大小後,將 可接受的運算成本用來增加 N 。同時因為 N > 2M 的原則,所以如果是 如前段 M 所建議,則 N 的最小建議值則為 16。

2.3.4 積分路徑相關參數

γ 與 ρ 的選定取決於我們有興趣的區間,與問題本身是否有特定的需求有 關,而 r 本身大幅度的影響了積分路徑的大小,相對的影響到對於積分路徑切 割逼近的準度。

• r 的大小將影響線性系統的穩定性,收斂精度,以及迭代時的收斂速度 由於針對的問題是一個漢米頓矩陣 (Hermitian matrix),所以特徵值皆分 布於實數軸上,因此在要求精度的情況下,能將此值取近乎於 0,使得積 分路徑最小化,並且所解之線性系統之平移值貼近所想要的特徵值。然而 當平移值接近特徵值時,往往容易破壞矩陣的穩定性,進而造成解線性系 統之迭代次數遽增的現象,故若將 CIRR 定為為尋找特徵值分布的初步判 定方式,則可以讓此值稍為增大,用以遠離特徵值所在。必須注意的是,

這其中存在著因為該平移值與內部所求之特徵值相距太遠,而無法找到特 徵對的可能性。

• 區域的選取與實作目標結合

因本文中所測試的問題為三維光子晶體的馬克斯威爾方程的光子能隙問題 (將於下一章節介紹),為了與物理現象和實作結合,我們並不對高能階的 光子能隙感到興趣,因此就得到了明確的有興趣的區域,即是低能階的區 段,更棒的是由於其 5.1 小節中所介紹的特質,可以很快得找到第一次該 有的停損點,進而明確的知道該選定的區域,所以在以三維光子晶體的馬 克斯威爾方程的光子能隙問題為目標時,就已經解決了關於選定積分路徑 的問題。

相關文件