コンテンツにスキップ

局所更新

モンテカルロシミュレーションでは、系の状態は通常、局所更新によってサンプリングされます。局所更新では、個々のサイトの配置を、その局所的な環境に基づいて 1 つずつ更新します。ここではイジングモデルを使って、状態のサンプリングがどのように行われるかを説明します。

イジングモデルのハミルトニアンは次で与えられます。

H=−J∑⟨i,j⟩sizsjz−h∑isiz, \mathcal{H} = -J \sum_{\langle i,j \rangle} s_i^z s_j^z - h \sum_i s_i^z,

ここで、

  • JJ は隣接するスピン間の相互作用の強さ、
  • ⟨i,j⟩\langle i,j \rangle は最近接対についての和、
  • siz=±1s_i^z=\pm 1 はサイト ii のスピン、
  • hh は外部磁場です。

モンテカルロシミュレーションの手順

1. 系の初期化

  • スピンの格子(例えば大きさ L×LL \times L の 2 次元正方格子)から始めます。
  • スピンをランダムに(例えば等確率で siz=±1s_i^z = \pm 1)、あるいは特定の配置(例えばすべてのスピンが上向き)に初期化します。

2. 局所更新の実行

局所更新は、メトロポリス・ヘイスティングス法または熱浴法のいずれかを用いて行います。

メトロポリス・ヘイスティングス法による局所更新

各スピン sizs_i^z について:

  1. 反転を提案する:スピン sizs_i^z を反対の値 siz→−sizs_i^z \to -s_i^z に反転します。
  2. エネルギー変化を計算する:提案された反転によるエネルギー変化 ΔE\Delta E を計算します。イジングモデルでは、エネルギー変化はスピン sizs_i^z とその最近接スピンのみに依存します。 ΔE=2Jsiz∑j∈neighbors(i)sjz+2hsiz. \Delta E = 2 J s_i^z \sum_{j \in \text{neighbors}(i)} s_j^z + 2 h s_i^z. ここで、和はスピン sizs_i^z の最近接についてとります。
  3. 反転を採択または棄却する: Paccept=min(1,e−βΔE), P_{\text{accept}} = \text{min}(1, e^{-\beta \Delta E}), ここで β=1/(kBT)\beta = 1/(k_B T) は逆温度です。これは次のことを意味します。
    • ΔE≤0\Delta E \leq 0 なら、反転を常に採択します。
    • ΔE>0\Delta E > 0 なら、確率 e−βΔEe^{-\beta \Delta E} で反転を採択します。
    • 反転が棄却された場合、スピンは変更しないままにします。

熱浴法による局所更新

局所更新には、代わりに熱浴法を使うこともできます。各スピン sizs_i^z について:

  1. 局所場を計算する:スピン sizs_i^z に作用する局所場は次で与えられます。 hi=−J∑j∈neighbors(i)sjz−h. h_i = -J \sum_{j \in \text{neighbors}(i)} s_j^z - h.
  2. 新しいスピン状態をサンプリングする:スピン sizs_i^z を次の確率で +1+1 または −1-1 に更新します。 P−1→+1=e−βhie−βhi+eβhi, P_{ -1 \to +1} = \frac{e^{-\beta h_i}}{e^{-\beta h_i} + e^{\beta h_i}}, P+1→−1=eβhie−βhi+eβhi. P_{ +1 \to -1} = \frac{e^{\beta h_i}}{e^{-\beta h_i} + e^{\beta h_i}}. これらの確率により、スピンはその局所的な環境のもとでの平衡分布からサンプリングされることが保証されます。

3. 多数のスイープの繰り返し

  • 1 スイープとは、格子内のすべてのスピンについて 1 回ずつ更新を試みることです。
  • 系が平衡に達し、統計を集められるように、局所更新の過程を多数のスイープにわたって繰り返します。