跳至内容

基于 SSE 的有向环算法

简介

dirloop_sse 程序包提供了在随机级数展开表示下的量子蒙特卡洛(QMC)方法——有向环算法——的完整通用实现。dirloop_SSE 方法由 Anders Sandvik 及其合作者发明和发展。它是研究量子自旋或玻色晶格模型的一种强大而优雅的 QMC 方法。

我们这里介绍的当前实现采用了该方法最新的发展成果,发表于:

  • A. W. Sandvik, Phys. Rev. B 59, 14157 (1999).
  • F. Alet, S. Wessel, and M. Troyer Phys. Rev. E 71, 036706 (2005).
  • L. Pollet, S. M. A. Rombouts, K. Van Houcke, and K. Heyde, Phys. Rev. E 70, 056705 (2005).

该版本允许在任意晶格上模拟:

  • 具有任意自旋大小、磁场和各向异性的量子自旋模型(甚至是阻挫模型——见下面的说明)
  • (软核)玻色模型

本版本允许模拟存在符号问题的系统(例如阻挫自旋系统)。不过,这种情况只经过了有限的测试,因此如果你的模型存在符号问题,请务必小心……

请注意,对于阻挫模型,参数 Epsilon 的某些取值可能使算法失去各态历经性(例如,当你得到的是一个"纯环"算法时)。需要仔细检查这一点。

运行模拟

详见教程。

输入参数

除了 ALPS 应用程序的通用输入参数之外,dirloop_sse 应用程序还接受以下专家参数(只有在你明白其含义时才使用!):

参数默认值含义
SKIP1两次测量之间的蒙特卡洛扫描次数
RESTRICT_MEASUREMENTS[N]若定义此参数,则只在量子数 N(粒子数)取该参数所给值的构型上进行测量。注意,模拟仍然在巨正则系综中进行,需要将化学势调到合适的范围,才能真正采样到具有所需粒子数的构型。
RESTRICT_MEASUREMENTS[Sz]若定义此参数,则只在量子数 Sz(磁化强度)取该参数所给值的构型上进行测量。注意,模拟仍然在巨正则系综中进行,需要将磁场调到合适的范围,才能真正采样到具有所需磁化强度的构型。
NUMBER_OF_WORMS_PER_SWEEP自洽计算环更新过程中执行的蠕虫数目。默认情况下,该数目在热化阶段自洽地计算得到。不过,你也可以在整个模拟过程中强制指定其值
EPSILON0对所有相互作用附加的对角能量平移。EPSILON 的取值会影响算法的性能,存在如下权衡:取值越大,模拟时间越长,但反弹概率越低。目前的经验表明,应当对 Epsilon 使用非零值,但不宜过大(例如对自旋 S 模型取 S/2)。请注意,对于阻挫模型,Epsilon 的某些取值可能使算法失去各态历经性。你必须仔细检查。
WHICH_LOOP_TYPE“minbounce”字符串,指定在顶点处的散射采用哪种类型的更新:(“heatbath”)热浴,参见 A. W. Sandvik, Phys. Rev. B 59, 14157 (1999)。(“minbounce”)最小反弹,参见 F. Alet, S. Wessel, and M. Troyer Phys. Rev. E 71, 036706 (2005)。(“locopt”)局域最优,参见 L. Pollet, S. M. A. Rombouts, K. Van Houcke, and K. Heyde, Phys. Rev. E 70, 056705 (2005)。默认情况下,算法使用 “minbounce” 更新。
NO_WORMWEIGHT0布尔值,指定蠕虫矩阵元是设为 1(NO_WORMWEIGHT = true),还是取决于自旋/密度构型的真实值(NO_WORMWEIGHT=false)。默认情况下,NO_WORMWEIGHT 为 false。

测量

对于任何模型,dirloop_sse 都会测量以下观测量:

名称描述
Energy系统的总能量
Energy Density每格点能量

对于自旋模型,即定义了 Sz 量子数的模型,dirloop_sse 会测量以下观测量:

名称描述
Magnetization总磁化强度的 z 分量
Magnetization Density每格点总磁化强度的 z 分量
|Magnetization|磁化强度 z 分量的绝对值
|Magnetization Density|每格点磁化强度 z 分量的绝对值
Magnetization^2总磁化强度 z 分量的平方
Magnetization Density^2每格点总磁化强度 z 分量的平方
Magnetization^4总磁化强度 z 分量的四次方
Magnetization Density^4每格点总磁化强度 z 分量的四次方
Susceptibility均匀磁化率(自旋模型)

二分晶格上的自旋模型还具有交错磁化强度:

名称描述
Staggered Magnetization交错磁化强度的 z 分量
Staggered Magnetization Density每格点交错磁化强度的 z 分量
Staggered Magnetization^2交错磁化强度 z 分量的平方
Staggered Magnetization Density^2每格点交错磁化强度 z 分量的平方

对于粒子模型,即定义了 N 量子数的模型,dirloop_sse 会测量以下观测量:

名称描述
Density粒子密度
Density^2粒子密度的平方

以及对于所有模型:

名称描述
Stiffness系统的刚度(对自旋模型和玻色模型均适用)

根据应用程序的具体版本,还可能提供其他观测量。

贡献者

以下人员为 dirloop_sse 应用程序做出了贡献:

  • Fabien Alet
  • Matthias Troyer
  • Lode Pollet