DMRG-01 Introduction
本系列教程将介绍如何使用 dmrg 应用程序——ALPS 对密度矩阵重正化群的实现——来计算一维量子自旋链的基态能量、激发能隙、局域可观测量和关联函数。本系列每个模块均使用同一个可执行文件 dmrg(位于 ALPS 安装目录的 bin 子目录中);从一个模块到另一个模块,变化的是所请求的控制参数和测量量,而非可执行文件本身。本模块首先介绍算法及其控制参数;后续模块将逐步将其应用于越来越复杂的测量任务。
总体说明
在开始之前,让我们简要讨论 DMRG 算法的内在逻辑,而不深入全部细节。对于局域状态空间维数为 的一维量子系统(对于自旋大小为 的自旋,),希尔伯特空间维数随系统尺寸 呈指数增长,即 。精确对角化在这个指数级庞大的希尔伯特空间中给出精确结果,代价是只能处理较小的系统尺寸。量子蒙特卡洛通过随机采样这个大空间给出近似结果,可以处理更大的系统尺寸。密度矩阵重正化群(DMRG)则采取另一种思路,即在指数级庞大的希尔伯特空间中寻找大小为 的极小子空间,期望这些子空间能够包含对感兴趣状态(如基态)的良好乃至极佳近似。
因此,第一个关键控制参数是 ,称为矩阵维数或块态数目。参数 控制子空间中的态数。DMRG 对该参数具有单调性: 越大,子空间越大,近似可以越好。极限情况下,若 ,则没有态被丢弃,解将是精确的。然而这在实践中没有意义;若计算机能处理如此多的态,精确对角化将是更优的选择。
第二个关键控制参数自然是系统尺寸 。
第三个控制参数只有更仔细地审视 DMRG 算法才能理解。为了找到某个态的最佳近似,DMRG 分两步进行:
- 第一步(所谓的无限系统 DMRG):算法通过迭代分析长度为 2、4、6……的链来寻找良好子空间,直至达到期望的系统尺寸 。该过程在每次迭代中将链从中间分开并插入两个新格点;这个名称来源于该过程当然可以无限进行下去,将 推向无穷大;但不要期望在接近无穷大时得到非常有意义的结果!另外需要注意的是,该过程使得偶数长度的链更适合 DMRG 处理。
- 第二步(所谓的有限系统 DMRG):DMRG 应对这样一个事实:对较短链的子空间选择尚未能考虑到最终长度 的链中存在的全部量子涨落和关联。该方法通过一系列进一步迭代来提高子空间的质量。在 DMRG 中,遍历链上所有格点的一次迭代被称为一次扫描。扫描次数是最后一个重要控制参数:若扫描次数过少,对于给定 的结果精度无法达到;若扫描次数过多,则计算成本可能被浪费。当然,谨慎保守总是好的。
最后,让我们考虑截断误差,它是衡量 DMRG 运行所达到精度的良好指标。简单来说,在算法的每一步,DMRG 都朝着态空间指数增长的方向迈出一步,然后通过对密度矩阵本征态权重(本征值)分布的分析,考察若不允许这一步能保留多少精度。DMRG 的近似体现在必须丢弃部分统计权重,即所谓的截断误差。在许多 DMRG 应用中,截断误差可以小至 ,这表明 DMRG 的近似极为轻微,也是该方法获得巨大成功的原因。对于本教程而言,重要的是:在扫描次数足够多的前提下,局域量(能量、磁化强度……)的误差大致正比于截断误差(但通常比截断误差大得多)。
与众不同之处 …
与其他数值方法最重要的区别在于,DMRG 偏好开放边界条件,即链在格点 1 和 处有两个端点,而不是像精确对角化和大多数解析方法所偏好的那样形成闭合环路。这将导致贯穿整个教程系列的一些微妙问题,从 DMRG-03 中自旋-1 链所需的特殊格点,到 DMRG-05 中研究的激发态中边界与体激发的区别。
ALPS DMRG 代码及其控制参数
除哈密顿量和格点几何等输入参数外,DMRG 模拟还需要一组特定的控制参数。以下列出了其中一些。更多详情请参考 DMRG 参考页面。
DMRG 专有参数
| 参数 | 含义 | 默认值 |
|---|---|---|
NUMBER_EIGENVALUES | 要计算的本征态和能量数目;设为 2 可计算能隙 | 1 |
SWEEPS | 有限系统算法的 DMRG 扫描次数(一次扫描 = 一次从左到右的半扫描 + 一次从右到左的半扫描) | — |
NUM_WARMUP_STATES | 用于增长 DMRG 块的初始态数目 | 20 |
STATES | 每次半扫描保留的 DMRG 态数目;可指定 2*SWEEPS 个 STATES 值,或指定单个 MAXSTATES/NUMSTATES 值代替 | — |
MAXSTATES | 保留的最大 DMRG 态数目;基组以 STATES/(2*SWEEPS) 为步长增长,直至达到该值 | — |
NUMSTATES | 每次扫描保留的固定 DMRG 态数目 | — |
TRUNCATION_ERROR | 模拟的容差,用于代替固定态数目;建议与 MAXSTATES/NUMSTATES 结合使用以限制基组增长,因为无约束的容差可能导致基组无限制增长 | — |
LANCZOS_TOLERANCE | Davidson/Lanczos 对角化步骤的容差 | |
CONSERVED_QUANTUMNUMBERS | 模型守恒的量子数,用于对哈密顿量进行块对角化;若未设置,则使用巨正则系综(例如,对于自旋链,使用完整的 维希尔伯特空间,而非固定 Sz_total 的子空间) | — |
如何选择合适的参数
不推荐使用默认输入值。DMRG 的收敛性在很大程度上受预热步骤中使用的态数目、扫描次数以及每次迭代保留的最大态数目的影响。良好的做法是观察基态能量和截断误差随态数目的收敛行为,从而确定在给定容差下所需保留的最优态数目。
为了确定是否已进行足够多的扫描,可以观察关联函数的空间分布,或局域量(如自旋磁化强度或粒子密度)。例如,在具有反射对称性的模型中,这些可观测量也应表现出对称性。纠缠熵也应当是对称的。若结果未能反映这种行为,很可能是因为计算中扫描次数不足(另一种可能的情形是相分离)。
若哈密顿量守恒某些量子数(如 Sz 或 N),则可以将这些值固定,在维数较小的子空间中运行模拟。这样可以大幅加快运行速度并减少内存占用。