日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UA MATH575B 数值分析下 统计物理的随机模拟方法5

發(fā)布時間:2025/4/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UA MATH575B 数值分析下 统计物理的随机模拟方法5 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

UA MATH575B 數(shù)值分析下 統(tǒng)計物理的隨機模擬方法5

  • Ising Model
  • Gibbs Sampling
    • Glauber Dynamics

這一講介紹Ising Model,它是MCMC與Gibbs Sampler在統(tǒng)計物理中的一個經(jīng)典應用之一。

Ising Model

Ising Model是用來描述物質(zhì)的鐵磁性的。考慮一個ddd維的晶格,假設Λ\LambdaΛ是所有晶格點的集合,每一個晶格點有自旋態(tài)σi∈{?1,+1},?i∈Λ\sigma_i \in \{-1,+1\},\forall i \in \Lambdaσi?{?1,+1},?iΛ,所有晶格點的自旋態(tài)的集合σ={σi,?i∈Λ}\sigma = \{\sigma_i,\forall i \in \Lambda\}σ={σi?,?iΛ}是這個晶格的自旋組態(tài)。定義第iii個晶格點與第jjj個晶格點的相互作用參數(shù)為JijJ_{ij}Jij?Jij=0J_{ij}=0Jij?=0如果兩個晶格不相鄰),外加的磁場對第jjj個晶格的作用是hjh_jhj?,這個晶格的Hamilton量是
H(σ)=?∑i,j∈ΛJijσiσj?μ∑j∈ΛhjσjH(\sigma) = - \sum_{i,j \in \Lambda} J_{ij} \sigma_i \sigma_j - \mu \sum_{j \in \Lambda} h_j \sigma_jH(σ)=?i,jΛ?Jij?σi?σj??μjΛ?hj?σj?
沒有外場時,晶格的Hamilton量是
H(σ)=?∑i,j∈ΛJijσiσjH(\sigma) = - \sum_{i,j \in \Lambda} J_{ij} \sigma_i \sigma_jH(σ)=?i,jΛ?Jij?σi?σj?

  • Jij>0J_{ij}>0Jij?>0,這個晶格具有強磁性(鐵磁性),相鄰電子自旋同向;
  • Jij<0J_{ij}<0Jij?<0,這個晶格具有反強磁性(反鐵磁性),相鄰電子自旋反向;
  • μ\muμ是晶格點磁矩的值。定義自旋組態(tài)的分布為組態(tài)幾率,記為P(σ)P(\sigma)P(σ),熱平衡下自旋組態(tài)服從Boltzmann分布:
    Pβ(σ)=e?βH(σ)ZβP_{\beta}(\sigma) = \frac{e^{-\beta H(\sigma)}}{Z_{\beta}}Pβ?(σ)=Zβ?e?βH(σ)?
    其中β=1kT\beta = \frac{1}{kT}β=kT1?kkk是Boltzmann常數(shù), ZβZ_{\beta}Zβ?是配分函數(shù):
    Zβ=∑?σe?βH(σ)Z_{\beta} = \sum_{\forall \sigma} e^{-\beta H(\sigma)}Zβ?=?σ?e?βH(σ)
    假設物理量f(σ)f(\sigma)f(σ)是自旋組態(tài)的函數(shù),則它的期望是
    ?f?β=∑?σf(σ)Pβ(σ)\langle f \rangle_{\beta} = \sum_{\forall \sigma} f(\sigma) P_{\beta}(\sigma)?f?β?=?σ?f(σ)Pβ?(σ)

    理論求解Ising Model比較困難,d=1、2d=1、2d=12的被研究透徹了,但是d>2d>2d>2的目前還沒有解析解。數(shù)值計算的難度也很大,因為自選組態(tài)的可能性是隨晶格的個數(shù)指數(shù)增加的。所以一般數(shù)值上用Monte Carlo方法模擬Ising Model。

    Gibbs Sampling

    要用Monte Carlo方法模擬Ising Model先要生成P(σ)P(\sigma)P(σ)的隨機數(shù)。生成多元分布的隨機數(shù)比生成一元分布的隨機數(shù)更復雜得多,但如果每一元的條件分布比較好求的話就可以用Gibbs采樣來做,Gibbs采樣就是通過條件分布sequentially來做采樣,相當于把生成多元分布的隨機數(shù)問題又變成了一元的。用Gibbs Sampling模擬Ising Model的物理方法叫做Glauber Dynamics。

    Glauber Dynamics

    考慮∣Λ∣=N|\Lambda|=NΛ=Nd=2d=2d=2的晶格,把晶格點排列在一個網(wǎng)格上,隨機選擇一個晶格點,假設坐標為(x,y)(x,y)(x,y)

  • 計算與(x,y)(x,y)(x,y)相鄰的四個晶格點的自旋之和:
    S=σx+1,y+σx?1,y+σx,y+1+σx,y?1S = \sigma_{x+1,y} + \sigma_{x-1,y} + \sigma_{x,y+1} + \sigma_{x,y-1}S=σx+1,y?+σx?1,y?+σx,y+1?+σx,y?1?
  • 如果(x,y)(x,y)(x,y)的自旋方向反轉(zhuǎn),計算能量變化量:
    ΔE=2σx,yS\Delta E = 2\sigma_{x,y}SΔE=2σx,y?S
  • 如果能量變化量小于0,那就反轉(zhuǎn)一下;如果能量變化量不小于0,那就按如下的概率接受自旋方向反轉(zhuǎn):
    α=e?ΔE/T\alpha = e^{-\Delta E/T}α=e?ΔE/T
  • 重復這個過程超過NNN次。這個算法的作用是模擬晶格自旋組態(tài),接受率的另一種寫法是用Boltzmann分布:
    α=e?σx,yS/TeST+e?ST=e?(σx,y+1)S/T1+e?2ST\alpha = \frac{e^{-\sigma_{x,y}S/T}}{e^{ST} + e^{-ST}} = \frac{e^{-(\sigma_{x,y}+1)S/T}}{1+e^{-2ST}}α=eST+e?STe?σx,y?S/T?=1+e?2STe?(σx,y?+1)S/T?

    下面是我老師課件例子的一個代碼,我們來簡單讀一下。兩個define定義了我們模擬的是256×256256\times 256256×256的晶格的2D網(wǎng)格,主函數(shù)前四行都是一些變量定義,有兩個比較關鍵的信息:這段代碼模擬的晶格溫度是T=3T=3T=3,自旋組態(tài)存在二維數(shù)組SSS中。nnnppp表示的是某個晶格點的相鄰點,網(wǎng)格同一行最左邊與最右邊的晶格點、同一列最上邊與最下邊的晶格點被視為相鄰點,老師說這是某種神秘的量子糾纏。主函數(shù)第五行在隨機決定晶格的初始自旋組態(tài)。

    從主函數(shù)第六行開始到倒數(shù)第二行,這些代碼就是在做輸出以及做Glauber Dynamics了。這個for循環(huán)前三行寫輸出,后面那個for循環(huán)第一行是隨機選擇一個晶格點;第二行是計算反轉(zhuǎn)的能量變化,只是相鄰晶格點的自旋和減2再乘2做了一個標準化,這樣做的好處是讓第三行做接受與否的判斷的時候可以用1和e?ΔE/Te^{-\Delta E/T}e?ΔE/T來歸一化概率,因為這段代碼用的0表示反向自旋,所以需要這樣做,如果用-1的話就不需要這樣做,可以直接按上面描述的步驟。我們看一下模擬結果的輸出:

    這個輸出把晶格點用像素點表示,自旋用1和0表示,對應像素的亮度。從這三輸出我們可以觀察到,隨著溫度升高,相鄰晶格點的自旋狀態(tài)就越不那么統(tǒng)一。另外定義
    M=1N∑x,yσx,yM = \frac{1}{N} \sum_{x,y} \sigma_{x,y}M=N1?x,y?σx,y?
    為磁化強度。我們可以計算磁化強度的自相關函數(shù):

    總結

    以上是生活随笔為你收集整理的UA MATH575B 数值分析下 统计物理的随机模拟方法5的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。