• 沒有找到結果。

二. 方法

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

相關文件