发布
loading-left
loading loading loading
loading-right

加载中

个人主页
TA还没有准备介绍自己
TA的源代码 (2)
二维ISING模型 蒙特卡洛 matlab
暂无评分
运用蒙特卡洛方法,采用重要抽样法,即从所有状态的集合中,抽出一个状态子集合,要使得抽出的子集合中的状态的平均尽量接近所有状态的平均,从而借此计算出平均值。而最基本的,就是如何随机的选取自旋初始值S,然后逐序对每个格点上的自旋变量跳过蒙特卡洛抽样步骤来决定它的下一个时刻的自旋状态。这里,采取最基本最常用的Metropolis法。步骤如下:Step1:随机选取晶格初始位形S={S1,S2,...,SN};Step2:按照1/N等概率随机抽取一个格点i,将其上面的自旋反向,得到一个新的位形S’={S1,S2,...,-Si,...,SN};Step3:计算能量差∆E=E(S’)-E(S),若∆E≤0,则改变有效,取自旋改变,位形的改变S→S’。这对应P(S’)>P(S)和W(S→S’)=1的情况。
2022457140ynj
2018-05-20
0
1
ising模型的蒙特卡洛模拟
暂无评分
二维数的ising模型的蒙特卡洛模拟,对于一般的分布的采样,在很多的编程语言中都有实现,如最基本的满足均匀分布的随机数,但是对于复杂的分布,要想对其采样,却没有实现好的函数,在这里,可以使用马尔可夫链蒙特卡罗(MarkovChainMonteCarlo,MCMC)方法,其中Metropolis-Hastings采样和Gibbs采样是MCMC中使用较为广泛的两种形式。MCMC的基础理论为马尔可夫过程,在MCMC算法中,为了在一个指定的分布上采样,根据马尔可夫过程,首先从任一状态出发,模拟马尔可夫过程,不断进行状态转移,最终收敛到平稳分布。
2022457140ynj
2018-05-11
0
1
没有更多了~