整個模型只有一條能量規則:相鄰的自旋同向就比較低能量。
E=−J⟨i,j⟩∑sisj,si=±1
⟨i,j⟩ 表示只加最近鄰的那四對。沒有磁場、沒有長程作用力、沒有別的參數 —
整個系統就這麼多。而它有相變。
🚶 這裡跑的就是 MCMC
我們沒有辦法直接從波茲曼分布 P(s)∝e−E(s)/T 抽樣 —
29216 種組態,配分函數算不出來。所以用
馬可夫鏈與 MCMC 那頁的老方法:
- 隨機挑一格,提議把它翻面
- 算出這一翻會讓能量變多少:ΔE=2Jsi∑鄰居sj
- 如果 ΔE≤0,接受;否則以機率 e−ΔE/T 接受
一模一樣的 Metropolis 準則。差別只在那頁的目標分布是二維的高斯,這頁的目標分布活在 9216 維上。
演算法沒變,問題的規模變了 — 而它照樣能跑。
小技巧:ΔE 只可能是 −8J、−4J、0、4J、8J 五個值,所以
e−ΔE/T 可以查表,不用每次呼叫 exp()。一次掃描 9216 格,這個差別很有感。
🔥 為什麼會有一個臨界溫度
系統在最小化的不是能量,是自由能:
F=E−TS
兩項在搶方向盤。E 想要整齊(大家同向),
S — 就是熵那一頁的熵 —
想要亂(組態數越多越好)。前面的係數 T 決定誰說話比較大聲:
- 高溫:熵項壓倒能量項 → 亂序相,⟨|M|⟩ ≈ 0,畫面像雜訊
- 低溫:能量項勝出 → 有序相,⟨|M|⟩ → 1,整片同色
- T_c:兩邊剛好打平。此時關聯長度發散,你會看到所有尺度的磁區同時存在 — 大塊裡有小塊,小塊裡還有更小塊
Onsager 在 1944 年解出了這個模型的精確解,臨界溫度是
Tc=2/ln(1+2)≈2.269。
你剛才那條用亂數跑出來的曲線,轉折就落在那條黃線上。
🎮 動手試試
- 從 T = 3.5 開始慢慢往下拉。3.0、2.8、2.5 都還是雜訊 — 然後在 2.3 附近,大塊的色斑突然長出來。這就是相變,不是漸變。
- 停在 T_c(按「跳到 T_c」)盯個 20 秒。你會看到各種大小的磁區在翻騰,沒有一個特徵尺度 — 這叫尺度不變性,也是碎形跟臨界現象的交會處。
- 按「全部向上」再把 T 設在 1.5。系統幾乎不動,因為它已經在低能量狀態了。接受率會掉到很低 — MCMC 在低溫下走得很慢,這是真實的困難,不是 bug。
- 按「隨機」再設 T = 1.5。這次你會看到磁區粗化:兩三塊大區域互相吞併,可能卡在條紋狀好一陣子。同樣的溫度、不同的起點,路徑完全不同。
- 跑一次「自動掃描溫度」,看那條 S 形曲線怎麼長出來,轉折點跟黃線對得多準。
- 看接受率:高溫接近 0.5(幾乎什麼都接受),低溫掉到個位數 %。這個數字是 MCMC 效率的體溫計。
🧭 誠實的但書
- 有限尺寸:96×96 不是無限大,所以曲線在 T_c 附近是圓滑的轉折而不是尖角。真正的相變只在熱力學極限下才有數學上的奇異點。
- 臨界慢化:越靠近 T_c,單格翻轉的 MCMC 收斂越慢(關聯時間發散)。所以 T_c 附近那幾個點的誤差最大 — 這是演算法的已知弱點,正經的做法會改用 Wolff 或 Swendsen–Wang 的整塊翻轉。
- |M| 而不是 M:低溫時系統會隨機選一個方向倒過去,全上或全下機率各半。取絕對值才不會在平均時互相抵消掉。
🚀 這個模型的射程
- 鐵磁性 — 居禮溫度以上磁鐵失去磁性,就是這條曲線
- 神經網路 — Hopfield network 與 Boltzmann machine 直接搬用這個能量函式
- 影像處理 — 馬可夫隨機場去雜訊,「鄰居應該相似」是同一條先驗
- 社會與流行病模型 — 意見同化、傳染臨界值,數學骨架一樣
- 普適性 — 完全不同的系統(磁鐵、液氣共存、合金),在臨界點附近的指數卻一模一樣。這是統計物理最漂亮的結果之一
📚 接下來
Chapter 1 到此結束:一頁精確解、一頁靠取樣。下一章換一個角度切入 —
量子力學那些「反直覺」的部分,有一大半其實只是波本來就有的性質,
而且你在傅立葉那兩頁已經看過了。
留言 0
留言載入中…