zoukankan      html  css  js  c++  java
  • Ising模型的Metropolis模拟中的组态阻塞和振荡

    Ising模型哈密顿量为

    [hat{H} = - J sum_{i,j相邻} s_i s_j - B sum_i s_i ]

    若取 (J=1, B=0),做 4 x 4 一共 16 个 spin 的 Ising 模型模拟,可以得到很平缓的相变曲线,如下图
    image
    曲线最左侧有些点低于低于1.0,增大 Markov 链的根数,增大链的长度,都没有改善这一点。所以仔细输出中间结果仔细观察了一下,发现温度特别低的时候存在一些有趣的(不好的)情况。

    1. 组态阻塞

    做统计模拟的人大概喜欢叫做微观状态,我习惯了组态这个词,就这么用了。如果 Markov 链产生如下组态

    ----
    ++++
    ++++
    ----
    

    那么,翻转任何一个spin,都会导致体系能量上升。所以这实际上是一个模型的亚稳态,在温度较低的时候,e.g. kT=0.1,接受概率是 (e^{-2/0.1} = 2e-9),所以翻不过去,形成阻塞。这样的组态比基态能量高很多,按照Metropolis模拟的思想,这样的组态出现概率理应极低。但是,因为低温下的阻塞,这样的组态以过大的比例出现在最终统计中,Metropolis模拟的精神得不到体现。

    2. 组态振荡

    最低能组态 E = -32,下面这些 E = -8 的组态在低能下会不断循环。
    组态1:

    -++-
    ++++
    ++-+
    ----
    

    组态2:

    ++-+
    ++-+
    +---
    ++-+
    

    组态3:

    ++++
    +-++
    ---+
    +-++
    

    组态4:

    +-++
    ----
    +-++
    ++++
    

    组态5:

    -++-
    --++
    -+++
    -++-
    

    组态6:

    ----
    -++-
    +++-
    ++--
    

    3. 总结

    总而言之,4 x 4 的格子做低温 kT/J = 0.1, ..., 0.5 的时候,会有阻塞和循环现象,导致结果中有些非物理的内容。
    自然有如下问题:

    • 更大的格子上有没有类似的现象?我猜是有。
    • 一个重要的问题是,不同能量的组态数时怎么样的?或者说,态密度是怎么样的?这个问题的答案对于 Ising Model 的结果无疑是很重要的。
  • 相关阅读:
    hdu 2604 Queuing(矩阵快速幂乘法)
    hdu 5591 ZYB's Game
    hdu 5590 ZYB's Biology
    CodeForces
    uva 193 Graph Coloring(图染色 dfs回溯)
    uva 10004 Bicoloring(dfs二分染色,和hdu 4751代码差不多)
    CSU
    hdu 5115 Dire Wolf(区间dp)
    腾讯装扮下拉选项卡特效(QQ空间)
    楼梯式定位导航系统
  • 原文地址:https://www.cnblogs.com/luyi07/p/15519317.html
Copyright © 2011-2022 走看看