蒙特卡洛模拟
ALPS 蒙特卡洛教程涵盖自旋模型与玻色格点系统的经典模拟和量子模拟。 经典蒙特卡洛针对由经典玻尔兹曼权重描述的系统,采用局域 Metropolis 更新或团簇(Wolff)更新。 量子蒙特卡洛(QMC)算法——圈、有向圈随机级数展开以及蠕虫——作用于路径积分表示或算符级数表示,可以给出量子格点模型在有限温度下的热力学性质。 扩展系综的量子王-朗道方法则只需一次运行,就能计算出完整的态密度以及所有温度下的热力学量。 这些教程由自关联时间、热化等基本诊断量入手,经过磁化率、磁化曲线等具体可观测量,最终讨论经典相变与量子相变的判定。
选择合适的程序
在开始模拟之前,选择最适合你的模型和可观测量的算法非常重要。
下面的指南比较了 ALPS 中可用的四种 QMC 表示——looper、dirloop_sse、worm 和 qwl——并总结了它们各自的优势与局限。
经典蒙特卡洛(spinmc)
spinmc 程序针对经典自旋模型实现了带局域 Metropolis 更新和团簇更新的经典蒙特卡洛方法。
前两个教程介绍了任何 MC 计算中最重要的两个诊断量——自关联时间和热化——为后续所有工作打下基础。
在后面的教程中还会再次使用该方法,研究二维伊辛模型的有限尺寸标度和二级相变。
圈与有向圈量子蒙特卡洛(looper、dirloop_sse)
looper 程序在算符圈表示下实现了圈算法,对于无磁场的各向同性自旋模型效率最高。
dirloop_sse 程序在随机级数展开(SSE)表示下使用有向圈;它可以处理具有各向异性或外磁场的模型,而这类模型破坏了 looper 所要求的自旋反演对称性。
这些教程涵盖海森堡链与梯子的磁化率、磁场中的磁化曲线,以及二聚化晶格中量子相变的判定。
蠕虫量子蒙特卡洛(worm)
worm 程序在路径积分表示下使用蠕虫算法,是模拟玻色-哈伯德模型以及强磁场中自旋模型的首选方法。
这些教程展示了如何开启并计算关联函数和格林函数,并演示了玻色-哈伯德模型中超流—莫特绝缘体量子相变。
量子王-朗道(qwl)
量子王-朗道程序以随机方式构建量子哈密顿量的态密度,并由一次模拟导出所有温度下的完整热力学量——自由能、熵和比热。 本教程将该方法应用于铁磁和反铁磁海森堡自旋链与自旋梯子。