二. 方法
Stochastic Series Expansion 方法
SSE(Stochastic Series Expansion) method 是 藉 由 將 partition function 級數展開後隨機取樣去計算觀測量的期望值。以下方法陳述 是根據 Sandvik 的 online lecture [
http://physics.bu.edu/~sandvik/programs/
ssebasic/
]。在隨機取樣中,不同狀態都有其對應的 weight。在計算 partition function Z時,即在加總各個狀態的 weight 時,可以利用選取好一組 本徵值為基底,然後將其 partition function Z作泰勒展開:
Z = ∑⟨α|e βH|α⟩ Heisenberg model 其 Hamiltonian 為
H = ∑ S⃑⃑i
7
所以 Hamiltonian 可表示成S𝑧及階梯算符S+及S 的組合。在 2D 晶格 中,其晶格有週期性邊界,大小為 L*L,而其 Hamiltonian 可以表示 為 及 off-diagonal operators。重新定義 operator 後,其腳標 a=0 表示它是 diagonal operator,a=1 表示他是 off-diagonal operator,新的 Hamiltonian 為
其中在 diagonal operators 中加上了一個常數,相當於是各個狀態的 weight 都常上一個相同的常數,但對於計算我們所感興趣的觀測量的 期望值是不變的;注意到,對新的 H 中的每一項而言,無論是 diagonal operators 或是 off-diagonal operators 都只有作用在一對自旋方向相反 的電子對上才有不為零的值。而其中新的階梯算符多乘上了-1,這相 當於是把 X 方向及 Y 方向的自旋 operator 旋轉 180 度,但其系統內
8
能是不變的,且可以使在做泰勒級數展開時是正定的。這也使得 diagonal 及 off-diagonal operator 的 值 不 是
2, 就 是 0 。 將 新 的 Hamiltonian 代入 partition function
Z = ∑⟨α|e βH|α⟩ 串,隨機採樣的機率分別是它們各自的 weight 除以 partition function,
樣本的集合稱為 configuration space。由此可知道,對於一個允許且 operator 串中有 n 個非 unit operator 的 configuration 的 weight 為
W(α, {Hab}) = ( )
n(M n)!
M!
在採樣不同的 configuration 時,其機率會正比於其 weight。在此可知,
取樣過程中,對於W(α, {Hab}) = 0的 configuration,將不會算入取樣。
9
這裡我們可以定義 propagated state |α(p)〉,假設一開始的 state 為
|α〉 = |α(0)〉,經過 p 個 operator 作用過後得到的 state 記為 propagated state |α(p)〉
|α(p)〉 = ∏ Ha(j),b(j)|α〉
p
j=
而 propagated state 必須滿足狀態變化的週期性,|α(M)〉 = |α(0)〉。在 滿足這樣條件的同時,可知道 propagation 的過程當中可知道每個 spin 會被翻轉偶數次或是零次。
圖四(a)表示某一個 configuration 的 propagation 的過程,其中可 以看出除了 unit operator ̂ 以外,其於 operator 都可用 bond 來表示;
圖四(b)為圖四(a)的簡化,也就是把 propagation 過程當中沒有改變的 spin 都用直線省略。
10
圖四(a)
圖四(b)
在一般的 configuration 中,我們可用四種圖形表示能有的 operator:
其中╳表示 spin up,●表示 spin down,可將其作用前及作用後的總 共四個 spin states 看成是 bond 的四支角,依序從左上、右上、左下、
右下作編號 0、1、2、3。
在 propagation 中,每一個 operaotr 都有其四支角,其中 unit operator 也是。因此若是在 propagation 中,每一支角的編號,就從第
11
一個 operator 的 bond,按照上述的先後順序開始並接續著編號。接著 我們將詳細介紹 SSE Algorithm,其中包含 diagonal update 和 loop update。
Diagonal update
Diagonal update 是對所有的 propagating states 來做插入或移除 diagonal operator 來做取樣,對於插入及移除 diagonal operator,也就 是對 diagonal operator 和 unit operator ̂ 相互代換的一個過程。根據 Metropolis method,在選好暫時性新的 configuration 後,其中決定舊 的 configuration 會改變到新的 configuration 的機率稱為 acceptance probability,其值為
這裡暫時稱舊的 configuration 為 A,新的 configuration 為 B,而隨機 取樣中從 A 到 B 其中的過程必須得滿足 detail balance,故 在插入一個 bond 時,新的 configuration 及舊的 configuration 的 weight 的比值
12
W(n + ) W(n) =
(M n)
記住在選取時,所有的非 unit operator 只有作用在自旋反平行的電子 對上其值才不等於零,不過在選取作用在任何一對電子對的 bond 時,
我們假設其機率都是一樣的,所以在這裡選取插入和移除 bond 的 selecting probability 的比值為
Pselect(b → ̂) Pselect( ̂ → b) = B
其中要注意,如果選取到作用在兩個自旋方向平行的 spin 上的 bond 時,則我們繼續往下一個 state 前進而不改變這個 state。最後插入 bond 的 acceptance probability 為
Paccept(n → n + ) =
而移除一個 bond,configuration 其 weight 改變前及改變後的比值為 W(n )
W(n) = (M n + ) 故移除 bond 的 acceptance probability 為
Paccept(n → n ) =
13
Loop update
Loop update 主要是在 configuration 中互換 off-diagonal operators 和 diagonal operators,以及 propagation 的 boundary state 做改變。在 configuration 改變中,由於要滿足 propagation 的 boundary condition 下,不能只有單一一個的 off-diagonal operator──因為電子的翻轉次 數必須為偶數次或是零次。所以,off-diagonal operator 的改變必須是 成對的。
在圖四中,可以看出 off-diagonal operator 是無法直接將它們改變成 diagonal operator。但是,在圖五上看出,藉由跑 loop 的方式,在 current 所經過的 spin 上,都將 spin 翻轉,這樣 off-diagonal operator 也可改 變成 diagonal operator;在 propagation 過程中,還有一些 operator 也 會跟著改變,利用這樣的方式,可以提高改變 configuration 的效率。
當然,要改變圖五左邊的 propagation 過程中的 off-diagonal operator 不是只有唯一一個 loop 能達成。
14
圖五
圖六中,可以看到 current 跨越 propagation 的 boundary state 也能 改變形態;同時,也改變了 boundary state,也就是|α〉。在圖七中表 示,在 loop update 中,對於 configuration 中沒有被 operator 用作到的 spin,也有機會將其翻轉以改變 configuration。由於 diagonal operator 與 off-diagonal operator 都是一樣的值
2,所以改變前後的 configuration 的 weight 是一樣的,故在選定一個 loop 的時候,決定是否改變的機 率就為2。
15
圖六
圖七
16