<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>量子蒙特卡洛方法：晶格模型算法 on Yuunagi Library</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/index.html</link><description>Recent content in 量子蒙特卡洛方法：晶格模型算法 on Yuunagi Library</description><generator>Hugo</generator><language>zh-CN</language><copyright>© Yuunagi</copyright><lastBuildDate>Wed, 08 Jul 2026 13:25:45 +0800</lastBuildDate><atom:link href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/index.xml" rel="self" type="application/rss+xml"/><item><title>前言</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/preface.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/preface.html</guid><description>&lt;h2 id="preface"&gt;Preface&lt;a class="anchor" href="#preface"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Fast computers enable the solution of quantum many-body problems by Monte Carlo methods. As computing power increased dramatically over the years, similarly impressive advances occurred at the level of the algorithms, so that we are now in a position to perform accurate simulations of large systems of interacting quantum spins, Bosons, and (to a lesser extent) Fermions. The purpose of this book is to present and explain the quantum Monte Carlo algorithms being used today to simulate the ground states and thermodynamic equilibrium states of quantum models defined on a lattice. Our intent is not to review all relevant algorithms – there are too many variants to do so comprehensively – but rather to focus on a core set of important algorithms, explaining what they are and how and why they work.&lt;/p&gt;</description></item><item><title>第一部分 · 蒙特卡洛基础</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-1.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-1.html</guid><description>&lt;section class="book-part"&gt;
 &lt;p class="book-part-label"&gt;Part I&lt;/p&gt;
 &lt;h2 class="book-part-title"&gt;蒙特卡洛基础&lt;/h2&gt;
 &lt;p class="book-part-desc"&gt;从概率论基础到量子蒙特卡洛入门——构建蒙特卡洛思维的完整地基。&lt;/p&gt;
&lt;/section&gt;
&lt;h2 id="本部分章节"&gt;本部分章节&lt;a class="anchor" href="#%e6%9c%ac%e9%83%a8%e5%88%86%e7%ab%a0%e8%8a%82"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;a class="part-chapter" href="ch01.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 1 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;引言&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;量子蒙特卡洛方法概述、经典与量子蒙特卡洛的区别。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch02.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 2 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;蒙特卡洛基础&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;概率概念、随机抽样、直接抽样、马尔可夫链蒙特卡洛、细致平衡算法。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch03.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 3 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;数据分析&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;平衡采样、误差估计、自相关时间、分块分析、刀切法与自助法。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch04.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 4 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;经典多体问题的蒙特卡洛方法&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;相空间、局域更新、集团更新、虫洞算法。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch05.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 5 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;量子蒙特卡洛入门&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;经典表示、量子自旋、连续时间极限、玻色子与费米子、负符号问题。&lt;/span&gt;
&lt;/a&gt;
&lt;!-- validate-skip --&gt;</description></item><item><title>第1章 · 引言</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch01.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch01.html</guid><description>&lt;h1 id="第1章--引言"&gt;第1章 · 引言&lt;a class="anchor" href="#%e7%ac%ac1%e7%ab%a0--%e5%bc%95%e8%a8%80"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;量子蒙特卡罗方法（Quantum Monte Carlo method）简单来说就是应用于量子问题的蒙特卡罗方法。量子蒙特卡罗方法与经典蒙特卡罗方法的区别在于，需要先付出努力将量子问题转化为适合蒙特卡罗模拟的形式。正是在进行这种转换时，问题的量子性质才会显现出来——不仅通过物理变量的非对易性（noncommutativity）和波函数对称化或反对称化等显而易见的问题，还通过符号问题（sign problem）等不那么明显的问题表现出来。几乎在所有情况下，这种转换都会用量子自由度替代经典自由度，而蒙特卡罗方法实际上就是应用于这些经典自由度。后续章节将介绍并解释许多已成功应用于各类量子问题的量子蒙特卡罗方法。在&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch01.html"&gt;第1章&lt;/a&gt;和&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html"&gt;第2章&lt;/a&gt;中，我们将重点讨论什么是蒙特卡罗方法以及它为何有用。&lt;/p&gt;
&lt;h2 id="11-蒙特卡罗方法"&gt;1.1 蒙特卡罗方法&lt;a class="anchor" href="#11-%e8%92%99%e7%89%b9%e5%8d%a1%e7%bd%97%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;蒙特卡罗方法并非一种具体技术，而是一种解决过于复杂无法解析求解、或数值计算强度太大无法确定性求解的问题的通用策略。通常，一种具体策略会融合多种不同的蒙特卡罗技术。在可能是最早使用&amp;quot;蒙特卡罗&amp;quot;一词的期刊文章中，Metropolis和Ulam（1949）讨论了这一策略。概括地说，&lt;/p&gt;
&lt;p&gt;蒙特卡罗方法是一种迭代随机过程（iterative stochastic procedure），该过程与某个函数的定义关系一致，使得可以在不完全确定该函数的情况下对其进行估计。&lt;/p&gt;
&lt;p&gt;这与口语化说法&amp;quot;一种使用随机数的方法&amp;quot;大相径庭。让我们逐部分剖析这一定义，一个关键点将浮现出来。&lt;/p&gt;
&lt;p&gt;Ulam和Metropolis当时是在介绍研究微分方程和积分微分方程的一种统计方法的动机和总体描述。这些方程就是他们所说的&amp;quot;某个函数的定义关系&amp;quot;，而&amp;quot;函数&amp;quot;则是这些方程的解。这个函数当然先验未知。几年后，Metropolis、Rosenbluth、Rosenbluth、Teller和Teller（1953）提出了一种研究平衡统计力学的统计方法。那里的定义关系是物理量在玻尔兹曼分布上的热力学平均（thermodynamic average）。函数就是物理量，未知量则是它的平均值。Ulam和Metropolis提出并由我们转述的蒙特卡罗方法的一般描述，涵盖了统计力学应用以及比最初的微分和积分微分方程多得多的应用。&lt;/p&gt;
&lt;p&gt;该方法是一种&amp;quot;迭代随机过程&amp;quot;，意味着该过程被反复应用。表面上，其中一个目的是产生大量测量值，对这些测量值进行统计分析，并借助大数定律（law of large numbers）加以验证。当然，这种应用正是Ulam和Metropolis所设想的蒙特卡罗方法的用途之一。对于许多其他应用，这个短语的含义更为微妙。从一个步骤到下一个步骤的移动依赖于随机过程，从而创建一个事件链，并在此基础上进行统计研究。通常，这个事件链是一个马尔可夫链（Markov chain）。&lt;/p&gt;
&lt;p&gt;随机数通过&amp;quot;随机过程&amp;quot;这一表述而间接引入。除了对第一批计算机的运算速度感到惊讶外，Ulam和Metropolis还惊讶于这种运算可以生成在零到一区间上均匀分布的&amp;quot;随机数&amp;quot;，从而使各种从几乎任何分布中抽样的方案成为可能。&lt;/p&gt;
&lt;p&gt;然而，蒙特卡罗策略的决定性特征来自陈述的其余部分：蒙特卡罗方法估计某个函数，而&amp;quot;不完全确定它&amp;quot;。对于Ulam和Metropolis来说，这意味着不必逐点获得满足微分和积分微分方程的函数值。更广泛地说，预见到在统计力学问题中的应用，我们转述说蒙特卡罗方法可以在不需要完全确定函数的情况下进行估计。由于不完全确定函数，蒙特卡罗方法因此只能提供一个估计值。正如我们将要讨论的，这个估计值可以具有高度的确定性。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;蒙特卡洛方法并非唯一不需要完全确定函数的方法。确定性方法通常也无需如此。例如，一个标准的数值问题是估计一个多元函数的积分。确定性算法使用离散化方案，通过在每个维度上仅评估 N 个点的被积函数来估计积分。因此，这些方法的计算量随 $N^{D}$ 增长，其中 D 是维度（变量）数量。因此，高维问题的计算量随维度呈指数增长。正如我们将看到的，许多蒙特卡洛方法通过仅需在有限点上评估函数来打破“维数灾难”，而这些点的数量对维度的依赖性很弱。这是关键点。&lt;/p&gt;
&lt;p&gt;蒙特卡洛方法是一个强大但相对简单的想法。这一想法的种子源于乌拉姆对纸牌游戏“通关”的挫败感。在游戏中的任何中间时刻，他都因难以计算自己是否会赢或输而感到沮丧，但他意识到，如果他玩得足够多，就能可靠地估计获胜概率。第一台电子计算机的高速计算能力促使他将这个想法发展成一种解决数学问题的新方法。他与冯·诺依曼分享想法后，他们共同开发了一种随机方法来模拟中子通过裂变材料的输运过程。这种输运过程本质上是随机的：由平均自由程定义，中子在特定距离内不发生碰撞的概率是确定的，而在碰撞时，散射截面则规定了碰撞是弹性、非弹性、裂变还是吸收的概率。第一个蒙特卡洛方法是一个随机过程，可在计算机上实现，它模仿了自然界中发生的事件。它通过迭代和随机的方式求解类似玻尔兹曼输运的问题，而从未直接诉诸玻尔兹曼方程。&lt;/p&gt;
&lt;p&gt;梅特罗波利斯-乌拉姆论文是在该方法首次应用后几年才发表的。它指出随机程序在解决问题（即使是那些没有随机类比的问题）时的普遍实用性。梅特罗波利斯因创造了“蒙特卡洛”这个名字而受到赞誉（Metropolis, 1985, 1987）。选择这个名字并非是为了将这种方法与摩纳哥这个著名赌场的赌博游戏联系起来，而是梅特罗波利斯对乌拉姆的调侃，因为乌拉姆有个叔叔偶尔会“需要”去赌场。蒙特卡洛方法被视为理论家们偶尔不得不求助的一种程序。但可能未曾预料到的是，我们求助于它的频率竟然如此之高。&lt;/p&gt;
&lt;h2 id="12-量子蒙特卡洛方法"&gt;1.2 量子蒙特卡洛方法&lt;a class="anchor" href="#12-%e9%87%8f%e5%ad%90%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;梅特罗波利斯和乌拉姆（1949）将预见蒙特卡洛方法可用于解决量子问题的功劳归于费米。据他们所述，费米指出，这种新的计算方式使我们能够通过引入虚时依赖关系，利用变换得到定态薛定谔方程（Schrödinger equation）的基态：&lt;/p&gt;
&lt;p&gt;$$&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;\nabla^{2} \psi \left( x , y , z \right) = \left[ E - V ( x , y , z ) \right] \psi \left( x , y , z \right)
$$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通过变换引入虚时依赖：&lt;/p&gt;</description></item><item><title>第2章 · 蒙特卡洛基础</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html</guid><description>&lt;h1 id="第2章--蒙特卡洛基础"&gt;第2章 · 蒙特卡洛基础&lt;a class="anchor" href="#%e7%ac%ac2%e7%ab%a0--%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b%e5%9f%ba%e7%a1%80"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;蒙特卡洛方法建立在概率论与数理统计（probability and statistics）的基础上。本章首先介绍理解从概率分布中采样这一概念所必需的概率论与数理统计基本概念，然后讨论几种实用的技术，用于从仅依赖于少量随机变量的分布函数中进行采样。依赖于大量随机变量的函数需要不同的技术，对这类函数我们将讨论马尔可夫链采样（Markov chain sampling）的使用。&lt;/p&gt;
&lt;h2 id="21-概率论基本概念"&gt;2.1 概率论基本概念&lt;a class="anchor" href="#21-%e6%a6%82%e7%8e%87%e8%ae%ba%e5%9f%ba%e6%9c%ac%e6%a6%82%e5%bf%b5"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;作为一种随机过程，蒙特卡洛模拟生成一组随机事件。有时事件生成的顺序很重要，有时则不。蒙特卡洛采样理论——即我们获取随机事件的过程——基于概率论。我们先讨论概率论中的几个基本概念。&lt;/p&gt;
&lt;p&gt;在概率论中，一个真实或虚拟实验的所有可能结果 $\{\chi_{1} , \chi_{2} , . . . , \chi_{n} , . . . \}$ 构成了一个样本空间（sample space）。例如，如果我们的实验是掷一对骰子，样本空间中就有36种结果。事件（event）是该空间中满足某种条件的一个或多个结果组成的集合。事件A的概率（probability）是分配给该事件的一个数字，需满足三条公理：（1）$0 \leq P ( A ) \leq 1$；（2）如果事件包含样本空间中的所有可能结果，则P(A) = 1；（3）如果事件A分解为两个没有共同结果的事件B和C，则 $P ( A ) = P ( B ) + P ( C )$。在我们的掷骰子实验中，如果事件A是那些总和等于3的结果，它包含两个结果，因此 $P ( A ) = {\frac{1} {18}}$。如果事件A是那些总和为奇数的结果，则 $\begin{array} {r} {P ( A ) = \frac{1} {2}} \end{array}$。&lt;/p&gt;
&lt;p&gt;这些公理的一个推论是：概率将事件映射到区间[0, 1]，并且对于一组覆盖样本空间的互斥事件 $\{A_{1} , A_{2} , \ldots \}$，其概率之和等于1。两个事件 $A_{i}$ 和 $A_{j}$ 互斥（mutually exclusive），即没有共同结果，当且仅当 $A_{i}$ 的发生意味着 $A_{j}$ 不发生，反之亦然。由于总和为1，至少有一个事件是可能的。&lt;/p&gt;</description></item><item><title>第3章 · 数据分析</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch03.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch03.html</guid><description>&lt;h2 id="数据分析"&gt;数据分析&lt;a class="anchor" href="#%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;任何蒙特卡洛模拟的重要组成部分都是对其生成的数据进行统计分析。这一分析的核心是计算相关物理可观测量的平均值，并估计这些平均值的统计误差。计算平均值很容易。它主要需要确保在统计可观测量的值之前，模拟是从平衡分布中进行构型采样的。估计误差则更困难。其难度增加并非在于评估其数学定义，即所谓的标准差，而是在于确保用于该公式的测量值在统计上是独立的。数据点之间的相关性取决于模型参数、可观测量以及所用采样算法的值。我们现在讨论用于分析蒙特卡洛模拟结果的常用程序的统计基础。&lt;/p&gt;
&lt;h2 id="31-使采样达到平衡"&gt;3.1 使采样达到平衡&lt;a class="anchor" href="#31-%e4%bd%bf%e9%87%87%e6%a0%b7%e8%be%be%e5%88%b0%e5%b9%b3%e8%a1%a1"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;我们从&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html"&gt;第2.4节&lt;/a&gt;了解到，马尔可夫链需要一定数量的步骤才能开始从其极限分布中进行采样。这种分布也被称为平衡分布，即使在我们模拟的问题并非平衡统计力学问题时也是如此。验证是否已到达平衡是所有马尔可夫链蒙特卡洛模拟的一项通用任务。一旦达到平衡，我们就希望利用链样本来估计各种物理量及其相关统计误差的值。&lt;/p&gt;
&lt;p&gt;存在一些与物理相关的问题会使平衡过程变得特别困难，其中许多问题会影响相变附近的模拟。尽管我们可能知道预期的相是什么，但我们通常不知道相边界的精确位置。识别相并确定它们在参数空间中的位置是使用蒙特卡洛模拟的常见任务。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/9aedd5c01bec997db4565422176fc0128f1095ddd0ff4a2e52980fd5e8e1a001.webp" alt="" /&gt;

&lt;p class="caption"&gt;
 图3.1 二维伊辛模型在零场（实线）和非零场（虚线）下磁化强度随温度T变化的示意图。$T_{c}$ 是零场情况下的临界温度。每个格点的磁化强度（M/N）是序参量。
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;二维伊辛模型 $\begin{array} {r} {E = - J \sum_{\langle i j \rangle} s_{i} s_{j} + H \sum_{i} s_{i} .} \end{array}$，其中 $\langle ij \rangle$ 表示最近邻格点，是一个方便的示例，用于说明本节以及在相变附近达到平衡的困难以及本章的其他要点。&lt;/p&gt;
&lt;p&gt;图3.1 描绘了二维伊辛模型磁化强度随温度T变化的示意图。在零场下，随着温度降低，在临界温度$T_{c} =$ $2 J / \log ( 1 + \sqrt{2} ) \approx 2.269 J$ 处发生二级（连续）相变，系统从无序相转变为有序相。在非零场下，在固定的 $T &lt; T_{c}$ 处，当我们切换场的符号时，会发生一级相变。&lt;/p&gt;
&lt;p&gt;在任一种相变附近，蒙特卡洛模拟，特别是那些基于局部更新的Metropolis或热浴算法的模拟，都会在达到平衡方面遇到困难。这些算法在相空间中移动时，构型的变化很小，伴随着能量的微小变化。一级相变的特点是两相之间界面张力产生的能垒，单步或连续几步移动很难跨越。这里的问题是长时间卡在相空间的某一部分。二级相变的特点是临界慢化。如果更新过程只局部改变构型，那么这种与发散关联长度相关的现象会影响蒙特卡洛模拟。这里的问题是知道系统何时已经弛豫。&lt;/p&gt;
&lt;p&gt;在我们开始对数据进行适当分析之前，必须首先确定达到平衡所需的蒙特卡洛步骤数。这个数字通常被称为平衡时间。通常，我们通过扫描次数来衡量这个时间。一次扫描是指尝试对所有随机变量进行至少一次局部蒙特卡洛更新的过程的结果。例如，对于伊辛模型，这将涉及对每个格点位置上的伊辛自旋进行一次蒙特卡洛更新。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src="images/57735b78cb8c59ce08122ffbb0748ca5950da334e5afd6b151a238e3e9944707.webp" alt="" /&gt;

&lt;p class="caption"&gt;
 图3.2 每个格点的磁化强度$M / N$和每个格点能量的负值$- E / \bar{N}$作为蒙特卡洛扫描次数的函数向平衡态的弛豫过程。结果来自使用热浴算法模拟的二维零场伊辛模型。$T = 1.2 T_{c}$且$H = 0$。晶格大小为$100 \times 100$
&lt;/p&gt;</description></item><item><title>第4章 · 经典多体问题的蒙特卡洛方法</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch04.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch04.html</guid><description>&lt;p&gt;好的，这是根据您的要求，对&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch04.html"&gt;第4章&lt;/a&gt;内容的完整中文翻译，并补充了新增术语表。&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="第4章--经典多体问题的蒙特卡洛方法"&gt;第4章 · 经典多体问题的蒙特卡洛方法&lt;a class="anchor" href="#%e7%ac%ac4%e7%ab%a0--%e7%bb%8f%e5%85%b8%e5%a4%9a%e4%bd%93%e9%97%ae%e9%a2%98%e7%9a%84%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;我们对马尔可夫链的讨论，除了提及 Metropolis 算法和热浴算法之外，到目前为止都非常笼统，很少涉及与特定应用相关的问题和机遇。在本章中，我们回顾一下我们的目标是在格点上定义的多体问题，并介绍几个利用这类问题中马尔可夫过程特性的框架。我们在这里考虑经典多体问题，以伊辛模型为代表。我们的讨论将在后续章节中扩展到各种量子多体问题和算法。&lt;/p&gt;
&lt;h2 id="41-多体相空间"&gt;4.1 多体相空间&lt;a class="anchor" href="#41-%e5%a4%9a%e4%bd%93%e7%9b%b8%e7%a9%ba%e9%97%b4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在格点上研究多体问题的数值困难源于其相空间 $\Omega$ 是许多局部自由度相空间的直积这一事实。通常，每个格点都与一个局部相空间相关联。如果 n 是该相空间的大小，N 是格点数，那么整个系统可用的状态数 $|\Omega|$ 为 $n^{N}$。换句话说，相空间中的状态数随着系统物理尺寸的增长呈指数级增长。例如，在伊辛模型中，每个格点上的伊辛自旋 $s_{i}$ 可以取 ±1 两个值之一，因此整个相空间的状态数为 $2^{N}$。&lt;/p&gt;
&lt;p&gt;在第1章中，我们指出这种指数级增长阻碍了确定性解法，这也是我们使用蒙特卡洛方法的原因。指数级大量的状态意味着，枚举所有状态（这需要与相空间大小成比例的计算量）对于具有大量格点的问题来说是不可行的。正如在&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html"&gt;第2.7节&lt;/a&gt;中讨论的那样，蒙特卡洛方法通常从压缩的相空间中采样，从而避免了解整个问题的需要。然而，即使有这种优势，我们能否将计算量降低到可控水平呢？&lt;/p&gt;
&lt;p&gt;一个显而易见的要求是我们能够在合理的计算时间内使模拟达到平衡。我们知道马尔可夫过程会收敛到对某个分布进行采样的平稳状态（&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html"&gt;第2.4节&lt;/a&gt;），而对于满足细致平衡的算法，Rosenbluth 定理（&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch02.html"&gt;第2.6节&lt;/a&gt;）保证了单调收敛。然而，正如我们之前指出的，这些定理并没有告诉我们收敛的速度有多快。虽然我们知道收敛率由转移概率矩阵的第二大特征值 $\lambda_{2}$ 控制，但通常我们并不知道这个特征值。&lt;/p&gt;
&lt;p&gt;从随机矩阵的性质中我们确实知道 $| \lambda_{2} | &lt; 1$。它与1之间的差距是一个有限的边界，量级为 $\mathcal{O} ( | \Omega | ^{- 1} )$ 或更大（第2.4.2节）。这个边界表征了最慢的弛豫模式，并为&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch03.html"&gt;第3.3节&lt;/a&gt;和3.4节中讨论的计算自相关时间设定了一个上界，&lt;/p&gt;
$$
\tau_{\mathrm{comp}} = \frac{- 1} {\log | \lambda_{2} |} \leq \mathcal{O} ( | \Omega | ) ,
$$&lt;hr&gt;
&lt;p&gt;⚠ 上次翻译中有以下问题，已修正：
遗漏英文长词 9 处; 可能漏翻部分段落
已重新翻译完整内容。&lt;/p&gt;
&lt;p&gt;这意味着重要性采样（例如Metropolis算法和热浴算法所体现的）至少与随机抽样一样好。然而，如果满足这个上界，简单枚举所有状态也同样快速，而且其优点在于结果是精确的。&lt;/p&gt;
&lt;p&gt;幸运的是，在许多重要的多体模拟中，$\tau_{\mathrm{comp}}$ 的量级为1，与系统的大小无关。即使在临界点附近，蒙特卡洛模拟的弛豫时间通常也比非临界情况更长，$\tau_{\mathrm{comp}}$ 也只是随系统大小呈多项式变化，而非指数变化。因此，蒙特卡洛模拟已成为解决多体问题的标准技术。&lt;/p&gt;</description></item><item><title>第5章 · 量子蒙特卡洛入门</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch05.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch05.html</guid><description>&lt;h1 id="第5章--量子蒙特卡洛入门"&gt;第5章 · 量子蒙特卡洛入门&lt;a class="anchor" href="#%e7%ac%ac5%e7%ab%a0--%e9%87%8f%e5%ad%90%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b%e5%85%a5%e9%97%a8"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;本章我们将扩展上一章讨论的思想和技术，介绍几种用于量子多体系统蒙特卡洛模拟的基本方法。出于教学目的，我们仅考虑非零温度下的简单量子自旋-1/2模型。我们讨论的一些技术，例如带有局部更新和虚时离散化的路径积分蒙特卡洛方法，只是为介绍关键思想和概念，为后续讨论最先进的连续时间团簇算法和虫洞算法（worm algorithm）做准备。在后续章节中，我们将讨论更高级的量子自旋算法以及费米子和玻色子系统的零温和有限温算法。&lt;/p&gt;
&lt;h2 id="51-经典表示"&gt;5.1 经典表示&lt;a class="anchor" href="#51-%e7%bb%8f%e5%85%b8%e8%a1%a8%e7%a4%ba"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;目前，所有蒙特卡洛模拟都是在经典计算机上进行的。使用这些计算机，我们只能直接操作经典数，其乘积彼此对易。然而，量子力学处理的是算符，大多数算符的乘积彼此不对易。因此，我们需要为量子系统找到一种经典表示，将量子问题重新表述为经典数的形式。我们从一个简单直观的方法开始。&lt;/p&gt;
&lt;p&gt;我们都熟悉量子力学的矩阵表述，特别是将哈密顿算符表示为一个厄米矩阵。这种表示是量子问题最基本的一种&amp;quot;经典化&amp;quot;。虽然一般来说它们的乘积不对易，但矩阵只是经典数的有序排列，经典计算机可以轻松处理其代数运算。特别是，经典计算机可以对这样的矩阵进行对角化，并给出所有特征值和特征向量。这些信息就&amp;quot;解决&amp;quot;了量子问题。&lt;/p&gt;
&lt;p&gt;在感兴趣的量子多体问题中，相空间与经典情况一样，是许多局部相空间的直积。如果局部空间的大小为n，且我们有N个格点，则相空间随系统物理尺寸呈指数增长，为$n^{N}$。哈密顿矩阵的阶数等于相空间的大小，因此也呈现指数增长。由于计算机内存限制，我们只能获得、事实上也只能期望获得小尺寸格点的所有特征值和特征向量（&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch10.html"&gt;第10.1节&lt;/a&gt;）。然而，小尺寸格点的解通常会受到边界效应的影响，往往不能反映热力学极限下的物理性质。因此，我们必须利用蒙特卡洛方法对非常大的相空间中的重要部分进行采样的能力。&lt;/p&gt;
&lt;p&gt;还有其他两种经典化的方法：高温级数展开（Handscomb, 1962a）和费曼路径积分表述（Suzuki, 1976a,b）。费曼路径积分将d维量子问题转化为(d+1)维经典问题。d维中的原始哈密顿量作用于沿着新维度堆叠的层上，并有一组新的相互作用将各层耦合起来。在量子统计力学中，这个额外维度是虚时轴。&lt;/p&gt;
&lt;p&gt;路径积分算法有离散时间和连续时间两种版本，这些算法通常用于模拟量子多体系统的有限温平衡性质。第一代路径积分算法使用离散化的虚时。为了消除离散化误差（该误差在虚时步长上呈多项式增长），我们必须外推到连续虚时极限。通常，我们可以在算法层面做到这一点，因此现代算法的模拟结果没有离散化误差。&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;高温展开导致一种经典表示，其在形式上类似于路径积分方法的离散虚时表示。一个重要的区别是，高温级数方法的离散化误差是指数小的，在大多数实际情况下可以忽略。&lt;/p&gt;
&lt;p&gt;在&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch06.html"&gt;第6章&lt;/a&gt;中，我们将详细讨论量子高温级数展开和路径积分表述。在作为量子蒙特卡洛算法初步发展的本章中，我们将简要介绍路径积分方法。&lt;/p&gt;
&lt;h2 id="52-量子自旋"&gt;5.2 量子自旋&lt;a class="anchor" href="#52-%e9%87%8f%e5%ad%90%e8%87%aa%e6%97%8b"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;脚注&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; 然而，在处理自旋-1/2系统时，通过外推到零虚时步长来完全消除离散化误差可能很棘手，尤其是对于较大自旋S的情形。在S=1/2的特殊情况下，使用环回算法可以完全消除离散化误差；而对于较大的S，即使使用环回算法也可能存在残留的离散化误差。&lt;/p&gt;
&lt;p&gt;现在我们着手建立第一个量子蒙特卡洛算法。我们从自旋-1/2量子伊辛模型和XY模型的离散虚时路径积分表示开始。通过取连续时间极限，我们最终用环回/团簇算法和虫洞算法取代了传统的离散时间(世界线)蒙特卡洛方法。通过这样做，我们实现了类似于我们在第4章对经典多体问题所展示的算法演变。我们的目标是揭示量子蒙特卡洛算法中使用的几个基本特征和技术。虽然我们的讨论是在特定的简单有限温度实例背景下进行的，但其中一些特征和技术对于零温问题也很有用。&lt;/p&gt;
&lt;h3 id="521-纵向场伊辛模型"&gt;5.2.1 纵向场伊辛模型&lt;a class="anchor" href="#521-%e7%ba%b5%e5%90%91%e5%9c%ba%e4%bc%8a%e8%be%9b%e6%a8%a1%e5%9e%8b"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;经典一维伊辛模型 (1.3) 的量子版本由哈密顿量给出&lt;/p&gt;
$$
H = - \sum_{i = 1}^{N} \left( J^{z} S_{i}^{z} S_{i + 1}^{z} + H^{z} S_{i}^{z} \right) .\tag{5.1}
$$&lt;p&gt;这里，$S_{i}^{z}$ 是格点 $i$ 处 $S = \frac{1}{2}$ 角动量算符的 z 分量，因此其特征值为 $\frac{1}{2}$ 或 $-\frac{1}{2}$。如果 $H^{z} = 0$，该哈密顿量在每一个格点 i 处执行变换 $S_{i}^{z} \rightarrow - S_{i}^{z}$ 时保持不变。如果 $H^{z} \neq 0$，只要 $H^{z}$ 的符号反转，它在该变换下也保持不变。因此，这个量子模型与经典模型具有相同的对称性。如下文将看到的，这个“量子模型”实际上等效于经典伊辛模型。&lt;/p&gt;</description></item><item><title>第二部分 · 有限温度</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-2.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-2.html</guid><description>&lt;section class="book-part"&gt;
 &lt;p class="book-part-label"&gt;Part II&lt;/p&gt;
 &lt;h2 class="book-part-title"&gt;有限温度&lt;/h2&gt;
 &lt;p class="book-part-desc"&gt;有限温度下量子自旋和费米子系统的核心算法——从路径积分到动力学平均场。&lt;/p&gt;
&lt;/section&gt;
&lt;h2 id="本部分章节"&gt;本部分章节&lt;a class="anchor" href="#%e6%9c%ac%e9%83%a8%e5%88%86%e7%ab%a0%e8%8a%82"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;a class="part-chapter" href="ch06.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 6 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;有限温度量子自旋算法&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;费曼路径积分、圈/团更新、随机级数展开、虫洞更新、量子相变。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch07.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 7 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;行列式方法&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;Hubbard-Stratonovich 变换、行列式权重、有限温度算法、Hirsch-Fye 算法。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch08.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 8 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;连续时间杂质求解器&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;量子杂质模型、动力学平均场理论、弱耦合与强耦合方法、Kondo 模型。&lt;/span&gt;
&lt;/a&gt;
&lt;!-- validate-skip --&gt;</description></item><item><title>第6章 · 有限温度量子自旋算法</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch06.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch06.html</guid><description>&lt;h1 id="第6章--有限温度量子自旋算法"&gt;第6章 · 有限温度量子自旋算法&lt;a class="anchor" href="#%e7%ac%ac6%e7%ab%a0--%e6%9c%89%e9%99%90%e6%b8%a9%e5%ba%a6%e9%87%8f%e5%ad%90%e8%87%aa%e6%97%8b%e7%ae%97%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;有限温度下量子自旋系统的模拟是一个非常活跃的研究领域，这不仅是因为所模拟问题的重要性，还因为对于许多感兴趣的问题，存在高效的蒙特卡洛方法，例如环/团簇算法（loop/cluster algorithm）和虫算法（worm algorithm）。我们在&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch04.html"&gt;第4章&lt;/a&gt;和&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch05.html"&gt;第5章&lt;/a&gt;预览了这些算法。在本章及其相关附录中，我们将提供更完整和形式化的推导与讨论。我们还将讨论在低温但有限温度下进行模拟以研究基态性质和量子临界现象的条件。虽然我们主要详述这些算法在量子自旋系统中的应用，但最后也会讨论它们（经过微小修改）在模拟玻色子晶格模型（Bosonic lattice model）中的应用。&lt;/p&gt;
&lt;h2 id="61-费曼路径积分"&gt;6.1 费曼路径积分&lt;a class="anchor" href="#61-%e8%b4%b9%e6%9b%bc%e8%b7%af%e5%be%84%e7%a7%af%e5%88%86"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;在5.2.5节中，我们使用路径积分形式（path-integral formalism）给出了一个量子自旋模型环/团簇算法的简单例子。在此，我们用更一般和形式化的语言重新阐述同一形式，为更详细地讨论环/团簇更新做准备。&lt;/p&gt;
&lt;p&gt;我们考虑哈密顿量&lt;/p&gt;
$$
H = \sum_{l = 1}^{N_{l}} H_{l} ,\tag{6.1}
$$&lt;p&gt;其中 $H_{l}$ 是定义在某小格点集合 $b_{l}$ 上的局部哈密顿量。一个典型的局部哈密顿量是 ${H_{l}} = - J {S_{i_{l}}} \cdot{S_{j_{l}}}$，其中 $S_{i_{l}} = ( S_{i_{l}}^{x} , S_{i_{l}}^{y} , S_{i_{l}}^{z} )$ 是一个自旋算符，在适当基 $( S = 1 / 2 , 1 , 3 / 2 , \cdots )$ 下具有标准归一化 $S_{i_{l}} \cdot S_{i_{l}} = S ( S + 1 )$。在这种情况下，局部格点集合是一对最近邻位点，即 $b_{l} = \{i_{l} , j_{l} \}$。然而，$b_{l}$ 也可以是包含两个以上位点的集合，或者仅仅是单个位点。&lt;/p&gt;</description></item><item><title>第7章 · 行列式方法</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch07.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch07.html</guid><description>&lt;p&gt;好的，这是根据您的要求，对&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch07.html"&gt;第7章&lt;/a&gt;内容进行完整翻译后的中文译文。&lt;/p&gt;
&lt;h1 id="第7章--行列式方法"&gt;第7章 · 行列式方法&lt;a class="anchor" href="#%e7%ac%ac7%e7%ab%a0--%e8%a1%8c%e5%88%97%e5%bc%8f%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;本章介绍一种用于模拟晶格上相互作用电子的有限温度算法。由于该算法由 Blankenbecler、Scalapino 和 Sugar（1981；Scalapino and Sugar, 1981）提出，因此有时被称为 BSS 算法。该方法使用 Hubbard-Stratonovich 变换将相互作用电子问题转换为与一个虚时相关辅助场耦合的非相互作用问题。因此，它也被称为辅助场方法（auxiliary-field method）。我们在这里使用另一个名称——行列式方法（determinant method），因为到非相互作用电子问题的变换会产生作为统计权重的行列式，这很恰当。有限温度行列式算法是一种通用电子算法，能够计算各种局部可观测量和关联函数。关于零温行列式方法的讨论，请参考附录 I。&lt;/p&gt;
&lt;h2 id="71-理论框架"&gt;7.1 理论框架&lt;a class="anchor" href="#71-%e7%90%86%e8%ae%ba%e6%a1%86%e6%9e%b6"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Feynman 和 Hibbs（1965）用构型空间中所有路径的积分来表述量子力学。在实时中，每条路径都会对积分贡献一个由该路径经典作用量决定的相位。两条路径可以发生相长或相消干涉。在经典极限下，只有稳相路径是重要的。实时量子动力学以其大量干涉路径为特征，对重要性采样构成了远超其能力的挑战。另一方面，统计力学涉及虚时路径积分。其积分贡献的幅值呈指数变化，但相位不变。因此，路径积分的贡献主要来自幅值较大的路径。量子蒙特卡罗方法的任务是识别这些重要路径并高效地对其进行采样。&lt;/p&gt;
&lt;p&gt;在本章中，我们通过费曼路径积分来解决有限温度下的多电子问题经典化。由此产生的方法通常被称为行列式方法，因为路径的权重可以表示为行列式，这些看起来并不经典的权重，却非常强烈地暗示了费米子态的反称性。高效且稳定地采样这些权重需要特殊技术。我们从一个简要概述开始，以激发经典表示的一般形式和我们需采样的权重。&lt;/p&gt;
&lt;h3 id="711-hubbard-stratonovich-变换"&gt;7.1.1 Hubbard-Stratonovich 变换&lt;a class="anchor" href="#711-hubbard-stratonovich-%e5%8f%98%e6%8d%a2"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;如&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch05.html"&gt;第5章&lt;/a&gt;所述，大多数量子蒙特卡洛算法通过将其矩阵元写为虚时路径积分来处理玻尔兹曼算符 $e^{-\beta H}$&lt;/p&gt;
$$
\left. \psi_{L} | e^{- \beta H} | \psi_{R} \right. = \sum_{\psi_{1} , \psi_{2} , \ldots , \psi_{N - 1}} \left. \psi_{L} | e^{- \Delta \tau H} | \psi_{N - 1} \rangle \cdot \cdot \cdot \right. \cdot\tag{7.1}
$$&lt;p&gt;其中 $\Delta \tau ~ = ~ \beta / N_{\tau}$ 。对于有限温度统计力学，配分函数&lt;/p&gt;</description></item><item><title>第8章 · 连续时间杂质求解器</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch08.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch08.html</guid><description>&lt;h1 id="第8章--连续时间杂质求解器"&gt;第8章 · 连续时间杂质求解器&lt;a class="anchor" href="#%e7%ac%ac8%e7%ab%a0--%e8%bf%9e%e7%bb%ad%e6%97%b6%e9%97%b4%e6%9d%82%e8%b4%a8%e6%b1%82%e8%a7%a3%e5%99%a8"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;与前一章类似，本章描述用于模拟非零温度下相互作用电子系统的量子蒙特卡罗方法。这里，我们针对一类特定问题，其特点是关联位点或轨道数较少，我们称之为杂质问题。虽然我们可以将前一章的方法应用于此类杂质模型，但这里讨论的算法更具优势，不仅因为它们工作在连续虚时中，从而避免了先前方法固有的Trotter近似误差，还因为它们处理的是更小规模的矩阵行列式，这可以更高效地处理。同时，连续时间方法适用于更广泛的杂质问题。&lt;/p&gt;
&lt;p&gt;推动这些连续时间杂质求解器发展的，是在动力学平均场理论框架内对关联晶格模型进行更高效模拟的愿望。该形式将晶格问题映射到一个杂质问题上，其参数由自洽条件决定。在某些情况下，自洽解能给出原始晶格问题性质的良好近似。当我们将此动力学平均场近似与电子结构计算中的局域密度近似相结合时，就获得了用于强关联材料电子结构计算的强大方案。本章讨论最重要的杂质模型类别，概述动力学平均场近似的基本原理，并详细介绍连续时间杂质求解器的不同变体。&lt;/p&gt;
&lt;h2 id="81-量子杂质模型"&gt;8.1 量子杂质模型&lt;a class="anchor" href="#81-%e9%87%8f%e5%ad%90%e6%9d%82%e8%b4%a8%e6%a8%a1%e5%9e%8b"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;量子杂质模型描述嵌入在某宿主中的原子或分子，该宿主与杂质交换电子、自旋和能量。这种交换允许杂质在不同量子态之间转变，并且在杂质轨道内部或之间存在相互作用时，这些转变会产生非平凡的动力学性质。例如，量子杂质模型在稀磁合金的磁性和电学性质的理论描述中，以及在量子点和分子导体的理论研究中，都扮演着重要角色。这些模型也作为一个辅助问题出现，其解为关联晶格模型提供了动力学平均场描述。&lt;/p&gt;
&lt;p&gt;标志性的杂质模型是单轨道安德森杂质模型&lt;/p&gt;
$$
H = \sum_{k \sigma} \epsilon_{k} n_{k \sigma} + \sum_{k \sigma} \left( V_{k \sigma} c_{k \sigma}^{\dagger} d_{\sigma} + V_{k \sigma}^{*} d_{\sigma}^{\dagger} c_{k \sigma} \right) + \epsilon_{d} \sum_{\sigma} n_{d \sigma} + U n_{d \uparrow} n_{d \downarrow}\tag{8.1}
$$&lt;p&gt;以及近藤杂质模型&lt;/p&gt;
$$
H = \sum_{k \sigma} \epsilon_{k} n_{k \sigma} + \sum_{k k^{\prime}} J_{k k^{\prime}} \vec{S}_{k k^{\prime}} \cdot \vec{s} .\tag{8.2}
$$&lt;p&gt;在原始上下文中，$\epsilon_{k}$ 是布洛赫动量k和自旋σ的传导电子的能量色散（产生算符$c_{k \sigma}^{\dagger} , n_{k \sigma} = c_{k \sigma}^{\dagger} c_{k \sigma} $）。在安德森杂质模型中，$V_{k \sigma}$ 描述了杂质态电子（产生算符$d_{\sigma}^{\dagger} , n_{d \sigma} = d_{\sigma}^{\dagger} d_{\sigma} $）与导带中电子的杂化。杂质能级能量为$\epsilon_{d} .$，如果两个电子同时占据该能级，则存在排斥性库仑能量U。在近藤杂质模型中，杂质是一个局域化的量子自旋$\vec{s}$，与导带的自旋耦合：&lt;/p&gt;</description></item><item><title>第三部分 · 零温度</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-3.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-3.html</guid><description>&lt;section class="book-part"&gt;
 &lt;p class="book-part-label"&gt;Part III&lt;/p&gt;
 &lt;h2 class="book-part-title"&gt;零温度&lt;/h2&gt;
 &lt;p class="book-part-desc"&gt;从变分原理到 Green 函数蒙特卡洛——处理量子多体基态问题的三大支柱方法。&lt;/p&gt;
&lt;/section&gt;
&lt;h2 id="本部分章节"&gt;本部分章节&lt;a class="anchor" href="#%e6%9c%ac%e9%83%a8%e5%88%86%e7%ab%a0%e8%8a%82"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;a class="part-chapter" href="ch09.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 9 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;变分蒙特卡洛&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;变分原理、试探态（Slater-Jastrow、Gutzwiller、张量网络）、试探态优化。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch10.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 10 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;幂方法&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;确定性幂方法、蒙特卡洛幂方法、随机重配置、Green 函数蒙特卡洛、激发态。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch11.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 11 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;费米子基态方法&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;符号问题、固定节点法、约束路径法、约束相位法。&lt;/span&gt;
&lt;/a&gt;
&lt;!-- validate-skip --&gt;</description></item><item><title>第9章 · 变分蒙特卡洛</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch09.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch09.html</guid><description>&lt;h1 id="第9章--变分蒙特卡洛"&gt;第9章 · 变分蒙特卡洛&lt;a class="anchor" href="#%e7%ac%ac9%e7%ab%a0--%e5%8f%98%e5%88%86%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;变分蒙特卡洛方法广受欢迎的原因之一是其通用性。它可用于计算费米子、玻色子和量子自旋系统的基态性质，而不会遇到符号问题。有时甚至能计算少数几个激发态。虽然我们可以将此方法用作独立的量子蒙特卡洛方法，但通常我们会借助变分蒙特卡洛计算来生成一个优化的尝试态，作为其他基态方法的起点。我们将在&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch10.html"&gt;第10章&lt;/a&gt;和&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch11.html"&gt;第11章&lt;/a&gt;讨论这些其他方法。本章将详细阐述变分蒙特卡洛方法，重点介绍其基础并综述常用的尝试态类型。我们还讨论用于优化尝试态的技术。&lt;/p&gt;
&lt;h2 id="91-变分蒙特卡洛"&gt;9.1 变分蒙特卡洛&lt;a class="anchor" href="#91-%e5%8f%98%e5%88%86%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="911-变分原理"&gt;9.1.1 变分原理&lt;a class="anchor" href="#911-%e5%8f%98%e5%88%86%e5%8e%9f%e7%90%86"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;在最简单的形式中，变分蒙特卡洛方法使用蒙特卡洛采样来估计基态能量瑞利-里茨变分界（Rayleigh-Ritz variational bound）中隐含的积分，&lt;/p&gt;
$$
E_{0} \le E_{T} = \frac{\langle \psi_{T} | H | \psi_{T} \rangle} {\langle \psi_{T} | \psi_{T} \rangle} ,\tag{9.1}
$$&lt;p&gt;并使用确定性或经验性方法来调整尝试态的参数，使 $E_{T}$ 尽可能接近 $E_{0}$。我们首先建立变分原理。&lt;/p&gt;
&lt;p&gt;假设我们有一个尝试态 $| \psi_{T} \rangle$，它是哈密顿量 H 的某个本征态（可能是也可能不是基态）的良好估计。由于该尝试态通常不是本征态，我们不能使用标准的本征值-本征态关系 $H | \psi_{T} \rangle = E_{T} | \psi_{T} \rangle$ 来将能量 $E_{T}$ 与 $\vert \psi_{T} \rangle$ 关联起来。然而，我们可以定义残差态&lt;/p&gt;
$$
\left| \phi \right. = \left( H - E_{T} \right) \left| \psi_{T} \right. ,
$$&lt;p&gt;其范数衡量了 $\vert \psi_{T} \rangle$ 与能量为 $E_{T}$ 的真实本征态之间的偏离程度。显然，仅当 $E_{T}$ 和 $\left| {\psi_{T}} \right.$ 是 $H$ 的某个特征对时，该范数为零。由于 $H \mid \psi_{T} \rangle$ 不是本征态，我们转而寻求一个使范数最小化的 $E_{T}$ 值，&lt;/p&gt;</description></item><item><title>第10章 · 幂方法</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch10.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch10.html</guid><description>&lt;h1 id="第10章--幂方法"&gt;第10章 · 幂方法&lt;a class="anchor" href="#%e7%ac%ac10%e7%ab%a0--%e5%b9%82%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;用于寻找基态的量子蒙特卡洛版本的幂方法有不同名称，包括投影子方法（projector method）、扩散蒙特卡洛（diffusion Monte Carlo）和格林函数蒙特卡洛（Green’s function Monte Carlo）。这些量子蒙特卡洛方法主要是对经典问题方法的采纳。我们总结了确定性幂方法的基础，详述了蒙特卡洛幂方法的关键特征，并将这些概念置于量子基态计算的背景中。我们通过概述允许计算少数激发态的幂方法来结束本章。在激发态计算中，我们会遇到符号问题，这将在&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch11.html"&gt;第11章&lt;/a&gt;中更详细地讨论。本章的方法和技术非常通用，最适用于玻色子系统，以及不遭受符号问题的费米子系统和量子自旋系统。&lt;/p&gt;
&lt;h2 id="101-确定性直接和逆幂方法"&gt;10.1 确定性直接和逆幂方法&lt;a class="anchor" href="#101-%e7%a1%ae%e5%ae%9a%e6%80%a7%e7%9b%b4%e6%8e%a5%e5%92%8c%e9%80%86%e5%b9%82%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;幂方法已有超过一个世纪的历史。作为一种确定性方法，它最初与收缩技术（deflation technique）结合（Meyer, 2000; Stewart, 2001b），作为计算小矩阵所有特征值和特征向量的一种方法。如今，其确定性用途主要限于涉及非常大、稀疏矩阵的特殊应用。其中许多应用是研究量子晶格模型，因为相应的哈密顿矩阵通常非常稀疏。在这些应用中，我们最初或许可以在计算机内存中存储相对较少的非零矩阵元素以及所有向量。很快，由于现在无疑已熟悉的、决定哈密顿矩阵阶数从而决定向量大小的基态数量呈指数增长，我们达到了计算机内存限制只允许存储几个向量的点，并且需要即时计算矩阵元素。当我们遇到的问题甚至无法存储一个向量的所有分量时，幂方法作为蒙特卡洛过程的表达式是我们唯一的选择。借助它，我们可以计算少数极值特征值，即少数最大或最小特征值。&lt;/p&gt;
&lt;p&gt;该方法的数学基础很简单。我们已经在第2.4.2节简要讨论过。如果$\{( \lambda_{i} , \vert i \rangle ) , i = 1 , 2 , \ldots , N \}$是A的特征对集合，特征值排序为$| \lambda_{1} | &gt; | \lambda_{2} | \geq \cdot \cdot \cdot \geq | \lambda_{N} |$，并且态$| \phi \rangle$的形式为$\begin{array} {r} {| \phi \rangle = \sum_{i} w_{i}^{0} | i \rangle} \end{array}$，那么对于算子或矩阵A&lt;/p&gt;
$$
A^{n} | \phi \rangle = \lambda_{1}^{n} \left[ w_{1}^{0} | 1 \rangle + \sum_{i = 2}^{N} \left( \frac{\lambda_{i}} {\lambda_{1}} \right)^{n} w_{i}^{0} | i \rangle \right] .\tag{10.1}
$$&lt;p&gt;通过使n足够大，我们从$| \phi \rangle$中投影出占优态|1&amp;gt;，因为当$n \to \infty$时$( \lambda_{i &gt; 1} / \lambda_{1} )^{n} \to 0$。给定初始态$| \phi \rangle$和算子A，幂方法（Meyer, 2000; Stewart, 2001b）通过迭代以下步骤达到大n的极限：&lt;/p&gt;</description></item><item><title>第11章 · 费米子基态方法</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch11.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch11.html</guid><description>&lt;h1 id="第11章--费米子基态方法"&gt;第11章 · 费米子基态方法&lt;a class="anchor" href="#%e7%ac%ac11%e7%ab%a0--%e8%b4%b9%e7%b1%b3%e5%ad%90%e5%9f%ba%e6%80%81%e6%96%b9%e6%b3%95"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;在本章中，我们讨论用于计算相互作用电子系统基态性质的固定节点（fixed-node）方法和约束路径（constrained-path）蒙特卡洛方法。这两种方法可以说是目前进行此类计算可用的最强大的两种方法，但它们是近似的。通过牺牲精确性，它们避免了通常伴随相互作用电子系统模拟的蒙特卡洛误差随系统尺寸呈指数增长的问题。这种指数增长被称为费米子符号问题（Fermion sign problem）。在对符号问题进行一些一般性评论之后，我们概述这两种方法，指出它们的异同点以及优缺点。我们还将讨论约束相位方法（constrainedphase method），它是约束路径方法的扩展，用于控制在基态波函数不能为实数时产生的相位问题。&lt;/p&gt;
&lt;h2 id="111-111-符号问题"&gt;11.1 11.1 符号问题&lt;a class="anchor" href="#111-111-%e7%ac%a6%e5%8f%b7%e9%97%ae%e9%a2%98"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&amp;quot;符号问题&amp;quot;指的是蒙特卡洛误差随系统尺寸增大或温度降低而呈指数增长（例如，Loh et al., 1990, 2005; Gubernatis and Zhang, 1994），这通常伴随着极限分布并非处处为正的马尔可夫链模拟。这种情况通常出现在费米子系统及受挫量子自旋系统的模拟中。它在费米子系统蒙特卡洛模拟中似乎如此根深蒂固，以至于对许多人来说，&amp;quot;符号问题&amp;quot;这个短语几乎等同于&amp;quot;费米子符号问题&amp;quot;。&lt;/p&gt;
&lt;p&gt;对于符号问题成因的解释各不相同，并且仍在争论中。在本章中，我们选择总结两种似乎将连续介质和格点上基态费米子模拟中的成因联系起来的解释。当然，符号问题并不仅限于基态计算，甚至也不仅限于费米子模拟。虽然我们在§11.2和§11.3中讨论的成因集中于类似扩散算子的低位激发态，但人们也提出了几种拓扑图景（Muramatsu et al., 1992; Samson, 1993; Gubernatis and Zhang, 1994; Samson, 1995）。其中一些讨论是在零温和有限温行列式方法（determinant methods）的背景下进行的（Muramatsu et al., 1992; Gubernatis and Zhang, 1994）。另一些则更偏解析地从费曼路径积分（Feynman path-integral）的角度进行（Samson, 1993, 1995）。还有一些是针对非费米子统计的粒子。本章中对符号问题的阐述适用于本章讨论的蒙特卡洛方法。&lt;/p&gt;
&lt;p&gt;事先判断给定的费米子或量子自旋蒙特卡洛模拟是否存在符号问题通常很困难。然而，经验表明，某些类别的哈密顿量（Hamiltonians）的模拟很可能存在这样的问题。例如，具有反铁磁交换相互作用的量子自旋系统就是一个很好的例子，除非晶格是二分图（bipartite）。在后一种情况下，马歇尔变换（Marshall transformation）（Marshall, 1955）可能将具有最近邻交换相互作用的哈密顿量的模拟转换为一个无符号问题，其基态波函数必为正（§5.2.4）。对于&amp;quot;受挫&amp;quot;晶格（如三角形或Kagome晶格）上的相同哈密顿量，该变换不再能消除符号问题。对于具有相反符号的最近邻和次近邻交换相互作用的自旋模型的模拟，在任何晶格结构下通常都存在符号问题。&lt;/p&gt;
&lt;p&gt;对于格点上的相互作用电子，无符号问题的情况甚至更为罕见。存在证明表明，特殊的哈密顿量没有符号问题（例如，Wu and Zhang, 2005）。不幸的是，这些哈密顿量是非物理的。在某些电子填充下具有粒子-空穴对称性（particle-hole symmetry）的哈密顿量通常没有符号问题（Hirsch, 1985），大多数一维哈密顿量也是如此，如果跳跃项是最近邻的。在后一种情况下，沿直线的受限运动允许对电子进行明确的重新标记，从而消除了电子交换和符号问题的根源。某些类型的无自旋费米子模型可以通过切换到马约拉纳费米子表示（Majorana Fermion representation）后使用辅助场方法进行模拟（Li et al., 2014）。这里的思想是，用马约拉纳费米子表述会使行列式的数量加倍，这以类似于具有粒子-空穴对称性的自旋费米子模型的方式消除了符号问题。&lt;/p&gt;
&lt;p&gt;如果符号问题不能通过哈密顿量的选择或其替代基下的表达式来克服，那么处理符号问题的重任就落在了算法上。在连续介质中，有几种格林函数方法不存在费米子符号问题（Zhang and Kalos, 1991；Kalos and Pederiva, 2000），但遗憾的是，这些方法似乎并不适合通用高效使用。固定节点方法和约束路径方法填补了这一空白，它们是经过充分基准测试的近似方法，且不受符号问题的困扰。接受这种近似使我们能够对中等规模的系统进行模拟，而不是在精确模拟小系统时苦苦挣扎。&lt;/p&gt;
&lt;p&gt;原则上，从混合符号分布中采样的策略是直接了当的。在分布为正的区域，我们正常采样。在分布为负的区域，我们从分布的绝对值正常采样，并改变可观测量的符号。期望值变为符号加权平均。更明确地说，如果 $p ( x )$ 是目标分布，其符号函数为 $s ( x ) = p ( x ) / | p ( x ) |$，那么符号加权平均为&lt;/p&gt;</description></item><item><title>第四部分 · 其他主题</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-4.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/part-4.html</guid><description>&lt;section class="book-part"&gt;
 &lt;p class="book-part-label"&gt;Part IV&lt;/p&gt;
 &lt;h2 class="book-part-title"&gt;其他主题&lt;/h2&gt;
 &lt;p class="book-part-desc"&gt;从虚时数据中提取实时间动力学，以及将蒙特卡洛模拟部署到并行架构上。&lt;/p&gt;
&lt;/section&gt;
&lt;h2 id="本部分章节"&gt;本部分章节&lt;a class="anchor" href="#%e6%9c%ac%e9%83%a8%e5%88%86%e7%ab%a0%e8%8a%82"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;a class="part-chapter" href="ch12.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 12 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;解析延拓&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;动力学关联函数、贝叶斯统计推断、最大熵原理、Ockham 因子。&lt;/span&gt;
&lt;/a&gt;
&lt;a class="part-chapter" href="ch13.html"&gt;
 &lt;span class="part-chapter-num"&gt;第 13 章&lt;/span&gt;
 &lt;span class="part-chapter-title"&gt;并行化&lt;/span&gt;
 &lt;span class="part-chapter-desc"&gt;共享内存与分布式内存架构、单自旋翻转更新的并行化、union-find 算法。&lt;/span&gt;
&lt;/a&gt;
&lt;!-- validate-skip --&gt;</description></item><item><title>第12章 · 解析延拓</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch12.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch12.html</guid><description>&lt;h1 id="第12章--解析延拓"&gt;第12章 · 解析延拓&lt;a class="anchor" href="#%e7%ac%ac12%e7%ab%a0--%e8%a7%a3%e6%9e%90%e5%bb%b6%e6%8b%93"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;动力学信息的存在是有限温度量子蒙特卡洛模拟区别于经典模拟的一个特征。现在我们将讨论提取这些信息的数值方法，这些方法借用了概率论中一个称为贝叶斯统计推断（Bayesian statistical inference）领域的技术和概念。这些技术和概念的使用为解析延拓（analytic continuation）这个极为困难的问题提供了解决方案，即将量子蒙特卡洛模拟估计出的虚时格林函数在数值上延拓到实时轴。Baym和Mermin（1961）证明了这些函数之间存在唯一的映射关系。然而，利用模拟中不完整且带有噪声的数据在数值上执行这一映射，会使得问题变成没有唯一解的问题，从而变成根据某个合理准则寻找&amp;quot;最佳&amp;quot;解的问题。我们并非在虚时和实时格林函数之间执行解析延拓来获得实时动力学，而是估计这些格林函数共有的、与实验相关的谱密度函数（spectral density function）。我们将介绍三种&amp;quot;最佳&amp;quot;解，并强调使模拟数据与数值方法的假设相一致是找到这些最佳解的关键步骤。&lt;/p&gt;
&lt;h2 id="121-预备说明"&gt;12.1 预备说明&lt;a class="anchor" href="#121-%e9%a2%84%e5%a4%87%e8%af%b4%e6%98%8e"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;本章的标题&amp;quot;解析延拓&amp;quot;有些不同寻常，因为它描述的是我们希望完成的任务，而非我们用来完成任务的方法。如果使用方法名称来命名，标题可能会是&amp;quot;使用熵先验的贝叶斯统计推断&amp;quot;。更短的标题可以是&amp;quot;最大熵方法&amp;quot;。我们希望在本章结束时读者会同意，使用短标题可能过于轻率，而较长的标题则包含了有意义的内容。&lt;/p&gt;
&lt;p&gt;我们想要完成的任务是求解积分方程&lt;/p&gt;
$$
G ( \tau ) = \int_{- \infty}^{\infty} d \omega K ( \tau , \omega ) A \left( \omega \right) , \quad K ( \tau , \omega ) = \frac{e^{- \tau \omega}} {1 \pm e^{- \beta \omega}}\tag{12.1}
$$&lt;p&gt;利用 $G ( \tau )$ 的量子蒙特卡洛估计来求解 $A ( \omega )$。我们将在下一节（&lt;a href="https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch12.html"&gt;第12.2节&lt;/a&gt;）回顾该方程的来源。目前，只需说明 $G ( \tau )$ 是某种动力学（虚时）多体关联函数，而该方程是多体理论中一个标准结果，将此关联函数与称为谱密度的 $A ( \omega )$ 联系起来。我们还在下一节讨论到，求解该方程相当于对动力学关联进行从 $\tau \to i t$ 的解析延拓。&lt;/p&gt;</description></item><item><title>第13章 · 并行化</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch13.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/ch13.html</guid><description>&lt;h1 id="第13章--并行化"&gt;第13章 · 并行化&lt;a class="anchor" href="#%e7%ac%ac13%e7%ab%a0--%e5%b9%b6%e8%a1%8c%e5%8c%96"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;计算机硬件的最新趋势使得现代计算机成为并行计算机；也就是说，当今计算机的能力取决于处理器的数量。&lt;sup&gt;1&lt;/sup&gt; 为了使用这些强大的机器，我们必须将算法任务分解成多个部分，并将其分配给大量的处理器。在许多情况下，这需要对算法进行重要的修改。在本章中，我们将讨论关于并行化算法的几个基本概念，并在环路/团簇识别的情境下加以说明。&lt;/p&gt;
&lt;h2 id="131-并行架构"&gt;13.1 并行架构&lt;a class="anchor" href="#131-%e5%b9%b6%e8%a1%8c%e6%9e%b6%e6%9e%84"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;并行计算中的关键问题是计算机内存的分布。换句话说，即可用内存的数量及其访问速度。内存按层次结构组织：L1 缓存、L2 缓存、主存等等，它们都具有不同的访问速度。访问速度还取决于计算单元与内存块之间的物理距离。&lt;sup&gt;2&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;讨论如何考虑所有机器细节来微调计算机程序，显然超出了本书的范围。因此，在下文中，我们将重点讨论两种常见架构类型的并行计算机（图13.1）：共享内存架构和分布式内存架构。在两种情况下，我们都假设并行计算机有 $N_{p}$ 个处理器。&lt;sup&gt;3&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;在当今大多数并行计算机中，每个本地内存块只能被物理上离它最近的本地处理器块中的少量处理器直接访问。要访问一个远程内存块，一个处理器必须与另一个能直接访问该块的处理器进行通信。从某种意义上说，共享内存架构是本地处理器块的一个模型。或者，它也可以被视为整个计算机系统的一个模型，其中通信成本可以忽略不计。在这个模型中，我们不必考虑处理器之间的通信过程。我们简单地假设所有处理器都在读取和写入同一块内存，并且每个处理器都能立即知道另一个处理器向内存写入的内容。另一方面，分布式内存架构是一种模型，其中每个处理器独占访问其所拥有的内存块，并且要让一个处理器获取写入另一个处理器内存的信息，该信息的所有者必须明确地将其内存内容发送给它。因为当今的高性能计算机兼具这两种架构的特点，所以可能同时使用两种不同的并行化方法，这一过程称为混合并行化。&lt;/p&gt;
&lt;p&gt;&lt;img src="images/d74b83f857c8b1eeb593d07c1dfa3e6cb2f187daf20ef63a4b92b5a6c58f8b28.webp" alt="" /&gt;

&lt;p class="caption"&gt;
 图13.1 共享内存模型（左）和分布式内存模型（右）。带有 $\ddot{P}$ 的圆圈代表处理器，带有 $\dot{\Omega}$ 和 $M$ 的矩形代表内存。
&lt;/p&gt;
&lt;/p&gt;
&lt;h2 id="132-共享内存计算机上的单自旋更新"&gt;13.2 共享内存计算机上的单自旋更新&lt;a class="anchor" href="#132-%e5%85%b1%e4%ba%ab%e5%86%85%e5%ad%98%e8%ae%a1%e7%ae%97%e6%9c%ba%e4%b8%8a%e7%9a%84%e5%8d%95%e8%87%aa%e6%97%8b%e6%9b%b4%e6%96%b0"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;让我们从一个简单的问题开始：在共享内存计算机上并行化伊辛链（第4.2节）的单自旋更新算法。至于内存大小，我们假设可用内存是无限大的，这并非不切实际，因为蒙特卡洛模拟通常受计算限制，而非内存限制。因此，我们可以假设整个晶格的自旋构型信息都适合放入共享内存。&lt;/p&gt;
&lt;p&gt;最自然的任务分割方法是将自旋集合划分为 $N_{p}$ 个子集 $\Omega_{1} , \Omega_{2} , \ldots , \Omega_{N_{p}}$，并将每个子集分配给一个处理器（算法42）。设 M 为 $\Omega_{i}$ 的大小，即 $M \equiv N / N_{p}$，其中 N 是自旋总数。第 p 个处理器执行算法6，但使用的是 $\Omega_{p}$ 中自旋的某种固定顺序，而不是随机选取。新自旋状态相对于选定自旋 $s_{i}$ 的状态的概率满足细致平衡条件。&lt;/p&gt;
&lt;p&gt;实际上，图13.1中的模型过于简化。在并行计算中，更实际的做法是假设总内存被组织成多个块，每个块分配给一个处理器。一个处理器只能直接访问其自身分配到的块。在这种观点下，共享内存模型对应于每个处理器都可以访问所有块。在实际并行化算法时，我们必须考虑通信成本，这通常会导致算法设计上的显著差异。&lt;/p&gt;
&lt;p&gt;由于环算法和团簇算法（第4.4节和第4.5节）在其蒙特卡洛更新中涉及非局域性，因此并行化这些算法比并行化单自旋更新更具挑战性。然而，用于识别环或团簇的底层算法——并查集（Union-Find）算法——可以有效地并行化。并查集算法维护一组不相交的集合（即环或团簇），并支持两种操作：查找（Find）和合并（Union）。在并行环境中，查找和合并操作必须小心处理，以避免竞争条件。一种常见的方法是通过图着色技术来分解问题，使得不同颜色的节点可以独立地更新。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;算法42&lt;/strong&gt; 伊辛模型的单自旋更新：共享内存计算机上第p个处理器的任务。（在并行计算机上容易出错。）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;输入：&lt;/strong&gt; 块p中的自旋构型，$\{s_{i} ~ = ~ \pm 1 \} ~ ( i ~ \in ~ \Omega_{p} )$，以及相邻自旋的值。&lt;/p&gt;</description></item><item><title>附录</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/appendix.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/appendix.html</guid><description>&lt;h2 id="appendix-a-alias-method"&gt;Appendix A Alias method&lt;a class="anchor" href="#appendix-a-alias-method"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The methods to sample from a discrete probability for n events, presented in Algorithms 1 and 2, become inefficient when n is large. To devise an efficient algorithm for large n, we must distinguish the case where the list of probabilities is constantly changing from the case where it remains unchanged. In the latter case, there are several ways to boost efficiency by performing a modestly expensive operation once and then using more efficient operations in subsequent samplings. One such approach is to sort the list of probabilities, an operation generally requiring (n log n) operations, and use a bisection method, requiring (log n) operations, to select the events from the list. What we really want, however, is a method requiring only (1) operations. Walker’s alias algorithm (Walker, 1977) has this property.&lt;/p&gt;</description></item><item><title>参考文献</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/references.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/references.html</guid><description>&lt;h2 id="references"&gt;References&lt;a class="anchor" href="#references"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Acton, F. S. 1970. Numerical Methods That Work. New York: Harper and Row.&lt;/p&gt;
&lt;p&gt;Affleck, I., Kennedy, T., Lieb, E. L., and Tasaki, H. 1987. Rigorous results on valence bond ground states in antiferromagnets. Phys. Rev. Lett., 59, 799.&lt;/p&gt;
&lt;p&gt;Affleck, I., Kennedy, T., Lieb, E. L., and Tasaki, H. 1988. Valence bond ground states in isotropic quantum antiferromagnets. Comm. Math. Phys., 115, 477.&lt;/p&gt;
&lt;p&gt;Aho, A. V., Ullman, J. D., and Hopcroft, J. E. 1983. Data Structures and Algorithms. Lebanon, IN: Addison Wesley.&lt;/p&gt;</description></item><item><title>索引</title><link>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/index_term.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://uynajgi.github.io/yuulibrary/books/qmc-lattice-models/index_term.html</guid><description>&lt;h2 id="index"&gt;Index&lt;a class="anchor" href="#index"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;acceptance probability, 29
algorithm pseudocode analytic continuation, 393 comb reconfiguration, 319 constrained-path method, 356 B propagation, 358 continuous-time cluster algorithm, 95 directed loop algorithm, 152 “on the fly,” 165 “on-the-fly” S = &lt;sup&gt;1&lt;/sup&gt; XY model, 166 discrete probability sampling elegant, 19 standard, 18 DMFT self-consistency loop, 222 finite T determinant method, 195 heat-bath algorithm, 34 LDA+DMFT self-consistency loop, 226 Levenberg-Marquardt algorithm, 465 long-range interactions, 430 loop algorithm directed, 109 quantum, 106 Metropolis algorithm, 30 single-spin flip, 69 modified Gram-Schmidt method, 207 column orthonormalization, 448 UDV factorization, 207 Monte Carlo program structure, 61 Newton’s method, 297 power method Monte Carlo, 309 shifted, 303 shifted inverse, 305 quantum loop and cluster algorithm, 129 rejection method, 418 sampling time-ordered sequence of imaginary times faster, 99 simple, 97 single-spin update, 400 distributed-memory computer, 402 shared-memory computer, 401 stochastic series expansion method, 143 loops and clusters, 144 Swendsen-Wang algorithm, 71 union-find algorithm serial, 406 serial (improved), 407 shared-memory computer, 410 wave function optimization methods linearized, 299 Newton, 300 weight window reconfiguration, 317 Wolff algorithm, 74 world-line method, 103 worm algorithm, 78 simplified, 79
alias method, 18, 416
Anderson impurity model, 189, 215, 220 action, 218 chain representation, 217
Anderson lattice model, 189
antiferromagnetic structure factor, 197
area law, 289
autocorrelation time, 46, 49, 52
auxiliary field method, 180 BSS algorithm (determinant algorithm), 189 continuous-time auxiliary field algorithm, 455 continuous-time determinant algorithm, 459 Hirsch transformation, 183 Hirsch-Fye algorithm, 198 Hubbard-Stratonovich transformation, 182
auxiliary fields continuous, 182 discrete, 183
average spectrum method, 382
back propagation, 328
bath Green’s function, 218 Kondo model, 251
Bayesian constrained fit, 380
Bayesian statistical inference, 367 average spectrum method, 382&lt;/p&gt;</description></item></channel></rss>